Hallo, ich habe eine Frage bezüglich der Meta-Description. In jeder Kategorie funktionieren die Meta-Information/Variablen, ausser $sCategoryContent.metadescription. Alle Angaben in der Meta-Information sind auch ausgefüllt. Es gibt kein Plugin welches den Header üebrschreibt. In den Einstellungen->Storefront->Seo-Routereinstellungen->“Meta-Description von Artikel/Kategorien aufbereiten” steht “ja”. Habe im frontend/index/header.tpl und frontend/listing/header.tpl versucht die Metaangaben auszulesen, aber es klappt nicht. Shopware 5.1.2.
So ist das Original des header.tpl:
{$description = "{s name='IndexMetaDescriptionStandard'}{/s}"}
{if $sCategoryContent.cmstext}
{$description = "{$sCategoryContent.cmstext|strip_tags|truncate:240|escapeHtmlAttr}"}
{elseif $sCategoryContent.metadescription}
{$description = "{$sCategoryContent.metadescription|strip_tags|escapeHtmlAttr}"}
{/if}
Wenn ich das reduziere auf:
{$description = "{$sCategoryContent.metadescription|strip_tags|escapeHtmlAttr}"}
und ausgebe als:
{$description}
bleibt der Inhalt leer (Frontend neu kompiliert).
sCategoryContent.cmstext (funktioniert)
sCategoryContent.metaTitle (funktioniert)
sCategoryContent.title (funktioniert)
sCategoryContent.metadescription (funktioniert nicht)
Weiss jemand einen Rat? Danke und Gruss
simkli
19. Dezember 2017 um 15:12
2
Wenn meta T itle funktionert, hast du dann mal meta D escription ausprobiert?
Viele Grüße
1 „Gefällt mir“
Mhh, ich habe etwas recherchriert. zwischen der 5.0 und 5.1 Shopware Version wurde aus metadescription ein metaDescription.
5.0:
{$description = "{s name='IndexMetaDescriptionStandard'}{/s}"}
{if $sCategoryContent.cmstext}
{$description = "{$sCategoryContent.cmstext|strip_tags|truncate:240|escape:'htmlall'}"}
{elseif $sCategoryContent.metadescription}
{$description = "{$sCategoryContent.metadescription|strip_tags|escape:'htmlall'}"}
{/if}
5.1:
{$description = "{s name='IndexMetaDescriptionStandard'}{/s}"}
{if $sCategoryContent.cmstext}
{$description = "{$sCategoryContent.cmstext|strip_tags|truncate:240|escapeHtml}"}
{elseif $sCategoryContent.metaDescription}
{$description = "{$sCategoryContent.metaDescription|strip_tags|escapeHtml}"}
{/if}
5.1.2: (meine komische Version)
{$description = "{s name='IndexMetaDescriptionStandard'}{/s}"}
{if $sCategoryContent.cmstext}
{$description = "{$sCategoryContent.cmstext|strip_tags|truncate:240|escapeHtmlAttr}"}
{elseif $sCategoryContent.metadescription}
{$description = "{$sCategoryContent.metadescription|strip_tags|escapeHtmlAttr}"}
{/if}
5.3.4:
{$description = "{s name='IndexMetaDescriptionStandard'}{/s}"}
{if $sCategoryContent.cmstext}
{$description = "{$sCategoryContent.cmstext|strip_tags|truncate:240|escapeHtml}"}
{elseif $sCategoryContent.metaDescription}
{$description = "{$sCategoryContent.metaDescription|strip_tags|escapeHtml}"}
{/if}
Chaos perfekt
Lösung war jetzt, nur diese einzige Variablendefinition zu machen und die Textbaustein/if/else in den Wind zu schiessen:
{$description = "{$sCategoryContent.metaDescription|strip_tags|escapeHtmlAttr}"}
Kann man denn auch für die Frontend Sitemap so eine Meta Description und Meta Keywords ausgeben?
@malzfons schrieb:
Kann man denn auch für die Frontend Sitemap so eine Meta Description und Meta Keywords ausgeben?
Ja, du kannst ja die index/header.tpl mit einer Abfrage anpassen und dann andere Meta-Tags setzen, wenn es die Sitemap ist. Bspw. so:
{extends file="parent:frontend/index/header.tpl"}
{block name="frontend_index_header_meta_description"}
{if $Controller == "sitemap"}
{s name='SitemapMetaDescriptionStandard'}{/s}
{else}
{$smarty.block.parent}
{/if}
{/block}
Hab da im Beispiel einfach einen anderen Textbaustein angelegt.