Oprava Rich Snippets pro breadcrumb modul

Rudolf
11. lis 2018 17:46 #137608
Nedávno jsem dělal kvůli Google Merchant Centre revizi našeho pluginu Easy Rich Snippets a přitom jsem narazil na problém s modulem Breadcrumbs (Drobečková navigace) v Joomla.

Standardní chování šablony modulu je, že v případě zobrazení poslední položky je tato položka bez odkazu - jen s názvem.
A to jak u článku, tak případně u produktu na eshopu Virtuemart.

Google v nástroji Rich Snippets Tools toto ale vyhodnotí jako chybu, protože nemá definovanou proměnou item.
Důvodem je chybějící URL adresa poslední položky.

Oprava je jednoduchá:

1. Zkopírovat šablonu modulu do šablony jako override
2. Přidat do šablony modulu na začátek do php zjištění aktuální URL adresy:

- u Joomla 3
$uri = JUri::getInstance();

3. Upravit php kód pro vykreslení poslední položky (okolo řádku 68)

- původní:
			<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active">
				<span itemprop="name">
					<?php echo $item->name; ?>
				</span>
				<meta itemprop="position" content="<?php echo $key + 1; ?>">
			</li>

- nový:
			<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active">
				<link itemprop="item" href="<?php echo $uri; ?>">
				<span itemprop="name"><?php echo $item->name; ?></span>
				<meta itemprop="position" content="<?php echo $key + 1; ?>">
			</li>

Nyní již kontrola na Breadcrums projde bez chyby.

Pokud používáte plugin Easy Rich Snippets a máte starší verzi, je třeba aktualizovat.
Aktuální verzi dostanete na Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.

Rudolf

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!
Přílohy:

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.