Google Export Feed funzt nicht mehr

Mir ist gerade aufgefallen, daß meine Produkte nicht mehr bei Google gelistet sind. Also wollte ich einen neuen Feed im Export-Modul erstellen. 

Dabei erscheint aber in der Feed Datei statt der gewohnten riesigen Tabelle, nur folgendes drin: Habt Ihr vielleicht einen Tipp für mich?

 id|titel|beschreibung|link|google produktkategorie|bild\_url|ean|gewicht|marke|mpn|zustand|produktart|preis|versand|standort|currency|availability BM-Z06|
**Fatal error** : Uncaught ArgumentCountError: Too few arguments to function smarty\_modifier\_regex\_replace(), 2 passed in /var/www/vhosts/zawo-tec-shop.de/httpdocs/var/cache/production\_201902250948/templates/export\_20/1e/62/4f/1e624f3ea675e3ceea9430ad56f5b4ab9082d669.string.php on line 37 and exactly 3 expected in /var/www/vhosts/zawo-tec-shop.de/httpdocs/engine/Library/Smarty/plugins/modifier.regex\_replace.php:24 Stack trace: #0 /var/www/vhosts/zawo-tec-shop.de/httpdocs/var/cache/production\_201902250948/templates/export\_20/1e/62/4f/1e624f3ea675e3ceea9430ad56f5b4ab9082d669.string.php(37): smarty\_modifier\_regex\_replace('BNC Kompression...', '#[^\\w\\.%&\\-+ \xC3\xB6...') #1 /var/www/vhosts/zawo-tec-shop.de/httpdocs/engine/Library/Smarty/sysplugins/smarty\_internal\_templatebase.php(180): content\_5efcb5cc62ed93\_06679389(Object(Enlight\_Template\_Default)) #2 /var/www/vhosts/zawo-tec-shop.de/httpdocs/engine/Shopware/Core/sExport.php(1150): Smarty\_Internal\_TemplateBase-\>fetch('string:{foreach...', 20) #3 /var/www/vhosts/zawo-tec-shop. in **/var/www/vhosts/zawo-tec-shop.de/httpdocs/engine/Library/Smarty/plugins/modifier.regex\_replace.php** on line **24**

Hallo zawotec,

so wie es aussieht gibt es hier einen Fehler mit der Variable bei der die Funktion replace verwendet wird. Entweder gibt es die Variable nicht oder im Parsing stimmt was nicht. Schneller wäre dir geholfen wenn du den Inhalt von Template zur Verfügung stellen könntest.

Beste Grüße

Magnum

Hier mal der Inhalt von Template, der bislang immer funktioniert hatte:

{strip}
{$sArticle.ordernumber|escape}{#S#}
{$sArticle.name|strip_tags|strip|trim|truncate:60:"...":true|escape|regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu"}{#S#}
{$sArticle.description_long|strip_tags|strip|trim|truncate:500:"...":true|escape|regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu"}{#S#}
{$sArticle.articleID|link:$sArticle.name|escape}{#S#}
{$sArticle.attr1|escape}{#S#}
{$sArticle.image|image}{#S#}
{$sArticle.ean|escape}{#S#}
{if $sArticle.weight}{$sArticle.weight|escape:"number"}{" kg"}{/if}{#S#}
{$sArticle.supplier|escape}{#S#}
{$sArticle.suppliernumber|escape}{#S#}
neu{#S#}
{$sArticle.articleID|category:" > "|escape}{#S#}
{$sArticle.price|escape:"number"|replace:",":"."}EUR{#S#}
DE::Standard:{$sArticle|@shippingcost:"prepayment":"de"|escape:"number"|replace:",":"."}EUR{#S#}
DE{#S#}
{$sCurrency.currency}{#S#}
{if $sArticle.esd}auf Lager
{elseif $sArticle.instock>0}auf Lager
{elseif $sArticle.releasedate && $sArticle.releasedate|strtotime > $smarty.now}Vorbestellt
{elseif $sArticle.shippingtime}auf Lager
{else}Nicht auf Lager{/if}
{/strip}{#L#}

 

Hallo zawotec,

merkwürdig das das jemals funktioniert hat. Wie zuerst vermutet liegt es tatsächlich an der regex_replace Funktion von Smarty. Zu einem wird ihm hier zwar gesagt das er nach Begrifflichkeiten suchen soll, leider wird der Funktion aber nicht mitgeteilt durch was er es bei einem Catch ersetzen soll.

Deine Zeilen sehen so aus:

regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu"

Aussehen müssten es aber so:

regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu":" "

es fehlt zum abschluss noch ein Doppelpunkt und eine Ersatzoption. In meinem Fall habe ich ein Leerzeichen gewählt " ".

{$sArticle.name|strip_tags|strip|trim|truncate:60:"...":true|escape|regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu":" "}{#S#}
{$sArticle.description_long|strip_tags|strip|trim|truncate:500:"...":true|escape|regex_replace:"#[^\w\.%&\-+ öüäÖÜÄß]#iu":" "}{#S#}

In diesem Beispiel wird aber wahrscheinlich nicht mehr viel von description_long angezeigt. Daher das Leerzeichen durch was für deinen Text Sinnvolles ersetzen.

Beste Grüße

Magnum

1 „Gefällt mir“

@Magnum: Vielen, vielen Dank für die Hilfe!!! Scheint zu funktionieren!!