Seitentitel entwirren

Moinmoin zusammen!

In der CE 4.4.0, die ich derzeit betreue, wird der Seitentitel zunächst einmal wie üblich mit

[{$title|strip_tags}]

widergegeben.

Allerdings stelle ich fest, daß $title sich wiederrum aus zwei Werten zusammensetzt:

Artikelname + Variante

Leider sieht das dann etwas häßlich aus:

“Artikelnahme Blau-Anthrazit | B/H/T: 203 / 88 / 95”

Ein Blick in die Datenbank zeigt, daß hier also OXTITLE (Artikelname) und OXVARSELECT (Blau-Anthrazit | B/H/T: 203 / 88 / 95) zusammengebaut werden.

Ich dachte mir - gut, dann nimmst Du einfach OXVARSELECT wieder aus dem Kompositum wieder heraus. Und ich dachte auch schon, den richtigen Fleck gefunden zu haben in der “oxseoencoderarticle.php” im Abschnitt wo es heißt

     * Returns seo title for current article (if oxtitle field is empty, oxartnum is used).
     * Additionally - if oxvarselect is set - title is appended with its value

Aha, dachte ich SEO Title und oxvarselect: prima. Aber leider wird hier nur die SEO-URI zusammengesetzt, nicht der Seitentitel.

Eine Suche in *.tpl und *.php Dateien hat mich da leider nicht weitergebracht; deswegen meine Frage an Euch:

Könnt Ihr mir eine andere Stelle empfehlen, die ich wohl noch übersehen haben muß?

Jede Hilfe ist höchst willkommen!

Hallo nochmal,

kann sein, daß ich’s gefunden habe! Noch ein paar Tests und wenn’s dabei bleibt, kommt umgehend die Lösung.

Ok, ich denke mal, ich hab’s! :smiley:

[B]=> Achtung: ich beziehe mich hier auf die Shopversion 4.4.0 (leider)[/B]

Die Lösung liegt bei mir in der /views/details.php

Suche nach der Codezeile

    public function getTitle()
    {
        if ( $oProduct = $this->getProduct() ) {
            return $oProduct->oxarticles__oxtitle->value . ( $oProduct->oxarticles__oxvarselect->value ? ' ' . $oProduct->oxarticles__oxvarselect->value : '' );
        }
    }

Von dieser Datei natürlich erstmal ein Backup machen. Dann geht’s weiter:

Den o.a. Code durch diesen hier ersetzen:

    public function getTitle()
    {
        if ( $oProduct = $this->getProduct() ) {
            return $oProduct->oxarticles__oxtitle->value . ( ''
            // $oProduct->oxarticles__oxvarselect->value ? ' ' . $oProduct->oxarticles__oxvarselect->value : '' 
            );
        }
    }

oder auch das Auskommentierte löschen:


    public function getTitle()
    {
        if ( $oProduct = $this->getProduct() ) {
            return $oProduct->oxarticles__oxtitle->value . ('');
        }
    }

Das erledigt bei mir das Gewünschte. Sollte an dem Code noch was unsauber sein oder jemandem was daran auffallen, bitte hier melden! :rolleyes:

Cheers,
Johannes

Danke Johannes!

So richtig sauber wäre natürlich, wenn man die Methode einfach mit einem kleinen Modul überschreiben würde :wink:

Was mir noch nicht so richtig klar ist: Hast Du denn jetzt nicht eine ganze Menge gleichlautender URLs für unterschiedliche Varianten?

Gruß

[QUOTE=Marco Steinhaeuser;109701]Danke Johannes!

So richtig sauber wäre natürlich, wenn man die Methode einfach mit einem kleinen Modul überschreiben würde :wink: [/QUOTE]

Hi Marco,

tja, das ist sicher richtig! Leider bin ich aber noch recht frisch bei Oxid, deswegen hätte ich jetzt keinen Plan, wie ich diese Änderung in ein Modul giessen kann, sorry. :o

[QUOTE=Marco Steinhaeuser;109701]Was mir noch nicht so richtig klar ist: Hast Du denn jetzt nicht eine ganze Menge gleichlautender URLs für unterschiedliche Varianten?[/QUOTE]

Also nicht in dem von mir betreuten Shop. Es gibt da zwar Produkte mit zwei angegebenen Varianten (z.B. Schwarz | B/H/T: 191 / 85 / 79 und Lila | B/H/T: 191 / 85 / 79), die ändern aber nicht die URL dieses Artikels mit 2 Varianten.

Mir ging es hier lediglich um eine SEO Optimierung des Seitentitels, wo ich sowas wie “B/H/T: 191 / 85 / 79” einfach nicht sehen will. Und die

public function getTitle() 

ändert wohl auch nur die Angaben für

<title> ... </title>

hoffe ich doch?

Cheers,
Johannes

Hallo Johannes,

Schau mal hier:
http://wiki.oxidforge.org/Tutorials#Informations_on_how_to_create_Modules_.2F_Extensions_by_yourself

Gut. Denn ich hab gegrübelt, ob das sinnvoll für den Standard wäre. Isses aber nicht.

Gruß

[QUOTE=Marco Steinhaeuser;109739]Hallo Johannes,

Schau mal hier:
http://wiki.oxidforge.org/Tutorials#Informations_on_how_to_create_Modules_.2F_Extensions_by_yourself
[/QUOTE]

Oha - ja, das hätte ich sicher auch finden können - deshalb: extra-Danke!!

Gut. Denn ich hab gegrübelt, ob das sinnvoll für den Standard wäre. Isses aber nicht.

Gruß

Aber vielleicht doch, oder? An der angegebenen Stelle wird ja nur der SeitenTITEL angepackt, oder?

Die URL wird woanders zusammengeschraubt, meine ich.
Richtig?

Cheers,
Johannes