[SEO] Title-Tag: Verwaltung über Administrationsoberfläche

Hallo zusammen,

für meinen Shop möchte ich gerne das Title-Tag der Artikel individuell anpassen. Ich habe zu diesem Zweck die Tabelle oxarticles über phpMyAdmin um das Feld “OXSEOTITLE” ergänzt und lese es über /out/basic/tpl/_header.tpl erfolgreich aus.

Um die Verwaltung der Title-Tags zu erleichtern, habe ich im Administrationscenter in der Artikelverwaltung/Stamm ein zusätzliches Feld für OXSEOTITLE eingefügt. Das Auslesen der über phpMyAdmin eingetragenen Werte funktioniert damit ganz hervorragend. Versuche ich jedoch im Administrationscenter eine Änderung einzutragen und versende das Formular, wird die Änderung dieses Feldes nicht übernommen. Ich vermute, dass ich das neu generierte Feld “OXSEOTITLE” in eine bestehende php-Datei einfügen muss. Leider ist mir die entsprechende Datei auch nach längerem Suchen nicht in die Hände gefallen. Auch die Forensuche konnte mir bisher nicht weiterhelfen.

Viele Grüße,

Ben


 <tr>
                  <td class="edittext">
                    [{ oxmultilang ident="ARTICLE_MAIN_TITLE" }] 
                  </td>
                  <td class="edittext">
                    <input type="text" class="editinput" size="32" maxlength="[{$edit->oxarticles__oxtitle->fldmax_length}]" id="oLockTarget" name="editval[oxarticles__oxtitle]" value="[{$edit->oxarticles__oxtitle->value}]">
                    [{ oxinputhelp ident="HELP_ARTICLE_MAIN_TITLE" }]
                  </td>
                </tr>

<!--- Eingefügter Code in out/admin/tpl/article_main.tpl START -->
                <tr>
                  <td class="edittext">
                    Title-Tag für SEO 
                  </td>
                  <td class="edittext">
                    <input type="text" class="editinput" size="32" maxlength="[{$edit->oxarticles__oxseotitle->fldmax_length}]" name="editval[oxarticles__oxseotitle]" value="[{$edit->oxarticles__oxseotitle->value}]">
                  </td>
                </tr>

<!--- Eingefügter Code in out/admin/tpl/article_main.tpl ENDE -->


                <tr>
                  <td class="edittext">
                    [{ oxmultilang ident="ARTICLE_MAIN_ARTNUM" }] 
                  </td>
                  <td class="edittext">
                    <input type="text" class="editinput" size="32" maxlength="[{$edit->oxarticles__oxartnum->fldmax_length}]" name="editval[oxarticles__oxartnum]" value="[{$edit->oxarticles__oxartnum->value}]" [{ $readonly }]>
                    [{ oxinputhelp ident="HELP_ARTICLE_MAIN_ARTNUM" }]
                  </td>
                </tr>

– Tabellenstruktur (Ausschnitt) für Tabelle oxarticles:

`OXSEOTITLE` varchar(255) character set latin1 collate latin1_general_ci NOT NULL,

Wir nutzen ebenfalls ein eigenes Feld für den Browsertitle, sowie noch viele weitere, eigene Felder. Keines von denen muss in eine php-Datei eingetragen werden.
Den einzigen Unterschied zu Deinem Code ist das [{ $readonly }] am Ende des input, das bei Dir fehlt.

By the way, wenn Du eigene Felder in die Datenbank einpflegst, verwende niemals das ox…
Angenommen, Oxid kommt auf den Gedanken, so ein Feld einzufügen und nimmt zufällig die gleiche Bezeichnung. Dann hast Du gelitten.

Hallo Frank,

vielen Dank für deine Antwort. Auch nach Einfügen von [{ $readonly }] am Ende des Input-Feldes, liest Oxid nur den Wert aus der Datenbank aus, ermöglicht jedoch über die Administrationsoberfläche weiterhin keine Speicherung des Feldes. Insofern bin ich leider nicht weitergekommen.

Den Hinweis mit ox als Prefix nehme ich dankbar auf :slight_smile:
Viele Grüße,

Ben

Hast Du denn den tmp-Ordner geleert nach dem Du das Feld angelegt hast?

Schande über mein Haupt…das war’s! Vielen, vielen Dank!