Regel für Artikel Meta Descriptions - Variablen in Textbausteinen?

 

Hi,

ich möchte gerne für alle meine Artikel eine einheitliche Meta Description erstellen.
Unter Einstellungen -> Textbausteine finde ich das Feld “IndexMetaDescriptionStandard”.

Ist es möglich mit diesem Feld eine Regel für die Meta Description zu erstellen die in etwa so lautet:
“Artikelname” von Firma hier online kaufen[…]
?

Welche Variable muss ich eingeben damit Shopware/Google automatisch den jeweiligen Artikelnamen einfügt und anschließen den Standard-Text hinzufügt? Ist das diese Variable {$sArticle.name} ?

Vielen Dank im Voraus,
Christoph Banhirl

Hey Seitiro,

ich stehe vor dem selben Problem, hast du mittlerweile eine Lösung? “IndexMetaDescriptionStandard” kann es nicht sein da der namespace jeweils entweder listing oder index ist. 
Man müsste also einen neuen Textbaustein erstellen. Mein Quelltext sah so aus:

{extends file='frontend/detail/header.tpl'}

{block name="frontend_index_header_meta_description"}{$sArticle.articleName}{s name="IndexMetaDescriptionStandard" namespace='frontend/detail/header'}{/s}{/block}

Leider funktioniert der Spaß nicht…  Crying Weiß jemand was an meinem Code falsch ist? Bzw. kann jemand helfen?

LG
David

Hierzu gibt es noch kein Update? Also sprich wie man variablen aus dem Artikelnamen für die Meta Description verwenden kann? 

@wirthmaster schrieb:

Hierzu gibt es noch kein Update? Also sprich wie man variablen aus dem Artikelnamen für die Meta Description verwenden kann?  

header.tpl unter DeinTheme/frontend/detail erstellen. Und folgenden code einbinden: 

{extends file='frontend/index/header.tpl'}

{block name="frontend_index_header_meta_description"}{$sArticle.articleName}{s name="IndexMetaDescriptionStandard" namespace='frontend/detail/header'}{/s}{/block}

 Dann sollte das funktionieren.  Wink

Hallo allerseits. Ich wollte mir meine Description jetzt auch einfach automatisiert ausgeben lassen. Leider funktioniert der Code hier nicht.

Ich habe unter frontend/detail/header einen neuen Textbaustein namens „IndexMetaDescriptionStandard“ erstellt (und natürlich mit dem Anhang gefüllt [online günstig kaufen etc.]) und meine header.tpl Datei unter Dev/frontend/detail sieht wie folgt aus:

{extends file="parent:frontend/detail/header.tpl"}

{* Meta title *}
{block name="frontend_index_header_title"}{if $sArticle.metaTitle}{$sArticle.metaTitle|escapeHtml} | {{config name=sShopname}|escapeHtml}{else}{$sArticle.articleName} | {{config name=sShopname}|escapeHtml}{/if}{/block}

{* Description *}
{block name="frontend_index_header_meta_description"}{if $sArticle.description}{$sArticle.description|escapeHtml}{else}{$sArticle.articleName} {s name="IndexMetaDescriptionStandard" namespace='frontend/detail/header'}{/s}{/if}{/block}

Leider scheint es noch nicht korrekt zu sein. Kann mir hier jemand weiterhelfen? Hat sich etwas bei Shopware 5.4 geändert, sodass ich etwas anpassen muss?

Vielen Dank vorab.

Habe jetzt folgendes probiert:

  1. Neuen Textbaustein unter frontend/detail/header erstellt.
  2. header.tpl angepasst

Leider immer noch alles ohne Erfolg. Sobald ich meine header.tpl so abspeichere, erhalte ich im Frontend bei jedem Artikel eine Fehlermeldung.

Textbaustein:

{$sArticleName} von BOSCHE online kaufen ➥ ISO 9001 zertifiziert ✔ Qualität aus Deutschland ✔ Rechnungskauf ✔ Gratis Versand ab 50 € ✅ Jetzt hier kaufen!

header.tpl

{extends file="parent:frontend/detail/header.tpl"}

{* Meta title *}
{block name="frontend_index_header_title"}{if $sArticle.metaTitle}{$sArticle.metaTitle|escapeHtml} | {{config name=sShopname}|escapeHtml}{else}{$sArticle.articleName} | {{config name=sShopname}|escapeHtml}{/if}{/block}

{* Description *}
{block name="frontend_index_header_meta_description"}{if $sArticle.description}{$sArticle.description|escapeHtml}{else}{{s name="smy_own_description"}|escapeHtml}{/if}{/block}

Ich finde immer noch nicht meinen Fehler.

Bitte dringend um Hilfe…

DANKE!

edit -> Habe „smy_own_description“ auf „MyOwnDescription“ geändert. Der Shop zeigt jetzt keinen Fehler mehr, sobald ich die header.tpl hochlade, gibt aber auch nicht meinen Textbaustein aus.

Letztes Update:

 

Habe herausgefunden, dass die index.tpl aus dem SEO Plugin überschrieben werden muss. Leider habe ich anscheinend immer noch einen Fehler drin. Wäre super, wenn jemand nochmal drüber schaut:

{extends file="parent:frontend/plugins/seo/index.tpl"}

{block name='frontend_index_header_meta_description'}
	{if $Controller=='detail'}
		{if $sArticle.description}{$sArticle.description|escapeHtml}{else}{{$sArticle.articleName} {s name="MyOwnDescription"}{/s}|strip_tags|trim|escapeHtml}{/if}
		{elseif $SeoMetaDescription}{$SeoMetaDescription|truncate:160:"...":true}
		{else}{$smarty.block.parent}
	{/if}
{/block}

 

1 Like

Wird den alles bis auf deinen textbaustein korrekt ausgegeben? Hast du den textbaustein korrekt im backend hinterlegt? 

Leider wird bei den Artikeln nur ein Leerzeichen dargestellt. Textbaustein ist unter frontend/plugins/seo hinterlegt und lautet:

von BOSCHE online kaufen ➥ ISO 9001 zertifiziert ✔ Qualität aus Deutschland ✔ Rechnungskauf ✔ Gratis Versand ab 50 € ✅ Jetzt hier kaufen!

 

Wie kommst du denn auf die Variable im Textbaustein? Also woher hast du die?
Mal geprüft, ob es die da in diesem Context überhaupt gibt?

Im Textbaustein gibt es ja gar keine Variable, oder verstehe ich da was falsch?

@Bosche schrieb:

Leider wird bei den Artikeln nur ein Leerzeichen dargestellt. Textbaustein ist unter frontend/plugins/seo hinterlegt

 

ich meine das du den textbaustein unter frontend/index anlegen musst, also dort wo die header.tpl liegt, du gibst in der header tpl ja auch nicht den ganzen pfad an sondern nur die Bezeichnung. 

Ich habe den Textbaustein in der tpl Datei angelegt. Also mit

{if $sArticle.description}{$sArticle.description|escapeHtml}{else}{{$sArticle.articleName} {s name="MyOwnDescription"} von BOSCHE online kaufen ➥ ISO 9001 zertifiziert ✔ Qualität aus Deutschland ✔ Rechnungskauf ✔ Gratis Versand ab 50 € ✅ Jetzt hier kaufen{/s}|strip_tags|trim|escapeHtml}

und dadurch wurde im Backend unter /frontend/plugin/seo ein neuer Textbaustein hinterlegt.

btw

Wenn ich diesen Codeschnipsel mit einfüge

{if $sArticle.description}{$sArticle.description|escapeHtml}

funktioniert leider gar nichts mehr.