flavor Posted February 26, 2015 Report Share Posted February 26, 2015 Hallo liebe Gemeinde, ich suche eine Möglichkeit den Title-Tag anzupassen, so das er wie zuvor wenn das Title-Feld leer ist, automatisch erzeugt wird (Standardmäßig Artikelname+Art.Nr.) und zusätzlich einen individuellen Präfix und oder einen Suffix enthalten soll der SEO relevant ist (Bsp. Artikelname+jetzt online bestellen). Nun habe ich die dazu benötigte Datei "class.meta_tags" (in XT:Commerce 4.2 unter /httpdocs/xtc/xtFramework/classes zu finden) rausgesucht und folgende Zeile bearbeitet if ( ! empty($p_info->data['meta_title'])) { $this->pageTitle = $p_info->data['meta_title']; } else { $this->pageTitle = $p_info->data['products_name'].' jetzt online bestellen'.$p_info->data['XYZ']; } [/PHP] Das Problem ist nun, das diese Lösung nicht Multishop konform ist, da der in die "class.meta_tags" geschriebene Text in jedem Shop ausgegeben wird. Eine Idee war die Meta "Topic" Bezeichnung aus dem Metatags des einzelnen Shops abzurufen, allerdings gelingt mir dies nicht wirklich, da ich die Variable nicht kenne, bzw. weil es mit der Variable nicht geht. Eine andre Idee war zusätzliche Felder in den Produktdetails zu erstellen und diese manuell zu füllen und mit der XYZ Variable in der "class.meta_tags" abzurufen. Allerdings gefällt mir diese Methode nicht, da teils manuell. Eine dritte Möglichkeit wäre vielleicht in der "class.meta_tags" jeden Shop mit einem eigenen Text einzeln anzusprechen. Allerdings fehlt mir hier die PHP Erfahrung. Ein Versuch vieleicht... [PHP] if ($shop_id='3' === "true") { $this->pageTitle = $p_info->data['products_name'].' TEXT_SEO_TITLE_3' .$p_info->data['']; } else if ($shop_id='4' === "true") { $this->pageTitle = $p_info->data['products_name'].' TEXT_SEO_TITLE_4' .$p_info->data['']; } [/PHP] Habt ihr eine Idee dazu wie man das verbessern könnte? Link to comment Share on other sites More sharing options...
flavor Posted February 27, 2015 Author Report Share Posted February 27, 2015 Kann mir vielleicht einer sagen wie ich einen bestimmten Shop ansprechen kann, bzw. wie die Variable dafür ist? Link to comment Share on other sites More sharing options...
flavor Posted February 27, 2015 Author Report Share Posted February 27, 2015 das hier funktioniert nicht elseif ($store_id == '3')[/PHP] Link to comment Share on other sites More sharing options...
oldbear Posted February 27, 2015 Report Share Posted February 27, 2015 hallo global $store_handler; $store_id = $store_handler->shop_id; genug ? Link to comment Share on other sites More sharing options...
flavor Posted February 27, 2015 Author Report Share Posted February 27, 2015 Vielen Dank Super-Guru-Oldbear funktioniert bestens! Habe es jetzt so gelöst falls es noch einen interessiert. Eine xtc Backendlösung wäre natürlich noch besser. Vielleicht können die xtc Jungs das mal irgendwann umsetzen. global $store_handler; $store_id = $store_handler->shop_id; if ( ! empty($p_info->data['meta_title'])) { $this->pageTitle = $p_info->data['meta_title']; } elseif ($store_id == '3') { $this->pageTitle = $p_info->data['products_name'].'jetzt online bestellen'; } elseif ($store_id == '9') { $this->pageTitle = 'Firma XYZ '.$p_info->data['products_name'].' kaufen'; } else { $this->pageTitle = $p_info->data['products_name'].''.$p_info->data['']; }[/PHP] auch wunderbar für die meta Beschreibung Link to comment Share on other sites More sharing options...
Marcel. Posted September 30, 2016 Report Share Posted September 30, 2016 Hallo, dieser Code funktioniert wunderbar. Wie muss er für meta_description lauten? Vielen Dank im Voraus Gruß Marcel. Link to comment Share on other sites More sharing options...
Marcel. Posted October 2, 2016 Report Share Posted October 2, 2016 Hallo, nach ein wenig probieren hat es geklappt. Durch das automatische generieren der Metatags kann es zu sehr langen Texten für title und description kommen. Wo werden die Tags in den head geladen? Bzw. wo kann man entsprechend php code für die Begrenung der Zeichenanzahl einfügen? Bitte um Hilfe! Grüße Marcel. Link to comment Share on other sites More sharing options...
giller Posted October 3, 2016 Report Share Posted October 3, 2016 Mal zum verständnis http://php.net/manual/de/function.substr.php $this->pageTitle = substr($p_info->data['products_name'] ,0 ,150) Link to comment Share on other sites More sharing options...
Marcel. Posted October 4, 2016 Report Share Posted October 4, 2016 Vielen Dank! Das hat mir geholfen. Gruß Marcel. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.