Breadcrumbs: Letzten Zweig nicht verlinken

Hallo!

Ich habe mein Breadcrumb-Menü wie folgt aufgebaut:


[{strip}]
<ul class="breadcrumbs">
    <li><a href="/">Home</a></li>
    [{foreach from=$oView->getBreadCrumb() item=sCrum}]
    [{if $sCrum.link }]<li><a href="[{ $sCrum.link }]" title="[{ $sCrum.title|escape:'html'}]">[{/if}][{$sCrum.title}][{if $sCrum.link }]</a></li>[{/if}]
    [{/foreach}]
</ul>
[{/strip}]

Ich hätte allerdings gerne, das der letzte Zweig bzw. eben die aktive Kategorie nicht verlinkt wird, da diese auch anders formatiert werden soll. Lässt sich das abfragen / festlegen, das der letzte Eintrag im Breadcrumb-Menü anders behandelt werden soll?

Danke für Hinweise und Tipps.
LG, Christoph


[{strip}]
<ul class="breadcrumbs">
    <li><a href="/">Home</a></li>
    [{foreach from=$oView->getBreadCrumb() item=sCrum name=bc}]
	[{ if smarty.foreach.bc.last eq true }]
		<li>[{$sCrum.title}]</li>
	[{ else }]
		[{if $sCrum.link }]<li><a href="[{ $sCrum.link }]" title="[{ $sCrum.title|escape:'html'}]">[{/if}][{$sCrum.title}][{if $sCrum.link }]</a></li>[{/if}]
	[{ /if }]
    [{/foreach}]
</ul>
[{/strip}]

Hallo,
Der Code funktioniert nicht unter 4.7.8, hat jemand einen Tipp?

Ich bastle gerade an suchmaschinenfreundlichen Breadcrumbs, das ganze funktioniert aber nicht richtig wenn die letzte Kategorie verlinkt ist.

Habe versucht mit dieser Abfrage aber es funktioniert auch nicht :frowning:

[{if $actCategory->oxcategories__oxtitle->value == ‘[{$ocat->oxcategories__oxtitle->value}]’}]

Hilfe!!!

Hat keiner einen Tipp für mich? Die Lösung kann doch nicht so schwer sein oder doch?

Woher weißt du, dass die Verlinkung des letzten Breadcrumbs nicht suchmaschinenfreundlich ist?

Hab gelesen und in allen anderen guten Shops ist es so.
Auf jeden Fall es führt zur falschen Darstellung des Pfades in Suchergebnissen.
Es geht um Mikrodaten.

[QUOTE=kostavan;139017]Hab gelesen und in allen anderen guten Shops ist es so.
Auf jeden Fall es führt zur falschen Darstellung des Pfades in Suchergebnissen.
Es geht um Mikrodaten.[/QUOTE]

nicht so viel lesen ohne den versuch es zu verstehen.

eine verlinkung des letzten breadcrumb mag zwar unter gew. umständen nicht sinnvoll sein (z.b. wenn man in einer kategorie ist) aber sie ist in keinem fall schädlich.

microdaten seh ich in deinem code auch nicht, also kannst du dich ja schlecht drauf beziehen.

Ich kann dem vermeintlichen SEO-Problem zwar auch nicht ganz folgen, bin allerdings auch kein Fachmann in dem Bereich. Es reiht sich jedoch in die länger werdene Liste mit dubiosen SEO-Tipps ein, die zwar gerne weiterverbreitet, aber nie belegt werden. Persönlich finde ich, da wird eine Menge Schmuh getrieben für horrende Löhne, zumindest muss schon sehr vorsichtig sein, an wen man gerät. Natürlich gibt es aber auch einige Profis, die ihr Geld wert sind. Ob die sich aber an solchen Breadcrumb-Kleinigkeiten aufhalten würden, wage ich zu bezweifeln… :wink:

Trotzdem kurz zurück zum Thema. Ich habe den obigen Codeschippsel mal korrigiert und gekürzt, damit geht es dann auch wie gewünscht:

[{strip}]
<div id="breadCrumb">
    <span>[{ oxmultilang ident="WIDGET_BREADCRUMB_YOUAREHERE" }]:</span>
[{foreach from=$oView->getBreadCrumb() item=sCrum name=bc}]
     / [{if $sCrum.link && !$smarty.foreach.bc.last}]<a href="[{ $sCrum.link }]" title="[{ $sCrum.title|escape:'html'}]">[{/if}][{$sCrum.title}][{if $sCrum.link && !$smarty.foreach.bc.last}]</a>[{/if}]
[{/foreach}]
</div>
[{/strip}]

im Original oder dies als Liste (wie oben):

[{strip}]
<ul class="breadcrumbs">
    <li><a href="/">Home</a></li>
    [{foreach from=$oView->getBreadCrumb() item=sCrum name=bc}]
        <li>[{if $sCrum.link && !$smarty.foreach.bc.last}]<a href="[{ $sCrum.link }]" title="[{ $sCrum.title|escape:'html'}]">[{/if}][{$sCrum.title}][{if $sCrum.link && !$smarty.foreach.bc.last}]</a>[{/if}]</li>
    [{/foreach}]
</ul>
[{/strip}]

Grüße

Vielen Dank!

Hallo, in der 4.8.4 wenn ich diesen Code einfüge gibt es leider überhaupt keinen Link mehr in der Breadcrumb.

Ich hatte den Code damals noch mit dem Artikel ergänzt. Weißt du auch wie der code in der 4.8.4 sein muss?

[{strip}]
<div id="breadCrumb">
    <span>[{ oxmultilang ident="YOU_ARE_HERE" suffix="COLON" }]</span>
[{foreach from=$oView->getBreadCrumb() item=sCrum}]
     / [{if $sCrum.link }]<a href="[{ $sCrum.link }]" title="[{ $sCrum.title|escape:'html'}]">[{/if}][{$sCrum.title}][{if $sCrum.link }]</a>[{/if}]
[{/foreach}]
[{ if $oViewConf->getActiveClassName() == 'details' }]
     · [{$oDetailsProduct->oxarticles__oxtitle->value }]
[{ /if }] 
</div>
[{/strip}]

ist [{$oDetailsProduct->oxarticles__oxtitle->value }] überhaupt definiert an dieser stelle und kann man an dieser stelle darauf zugreifen (log file anschauen!)

@kostavan: Gern geschehen!

@kiwi: Ja, würde ich auch sagen: das Hauptproblem dürfte “$oDetailsProduct” sein, welches nicht in allen Views existiert! Nur hat dies nichts direkt mit der Breadcrumb-Logik zu tun, und den Code hast du ja auch gar nicht geändert. Insofern dürfte eher die gesamte Seite einen Fehler schmeißen und nicht nur:

gibt es leider überhaupt keinen Link mehr in der Breadcrumb

Jedenfalls dürfte es mit den neuen Widgets seit OXID 4.8 zusammenhängen. Die Details sind dort nämlich “ausgelagert”, sodass man wohl besser die Top-View prüft:

[{ if $oViewConf->getTopActiveClassName() == 'details' }]