WBCE CMS – Way Better Content Editing.
You are not logged in.
Pages: 1
Liebe ExpertInnen
Ich arbeite mit umfangreichen Topics-Seiten und verwende dabei auch GlobalStrings; konkret in den Feldern Kurzbeschreibung sowie Kurz, Lang und Extra. Das funktioniert grundsätzlich prima.
Was allerdings leider nicht klappt ist die Übernahme der GlobalStrings-Inhalte in die Meta-Description und die Meta-Keywords, welche ja von Topics automatisch generiert werden. Dort erscheinen stattdessen die Platzhalter [[string?name=xyz]].
Gibt es dafür eine Lösung ?
Vielen Dank im Voraus !
rheo
Offline
Meta-Description und die Meta-Keyword kommen über SImplePageHead da rein.
Ich könnte mir vorstellen, dass die Zeichen [ und ] anders codiert werden und daher nicht als Droplets erkannt werden. Das könnte beim Speichern eines Topics passieren oder irgendwo in weiterer Folge. Das kann ich momentan nicht beantworten.
Es stimmt, dass es daran liegt, dass Description und Keywords von simplepagehead generiert werden. Das hat aber nichts mit der Syntax zu tun (glaube ich jedenfalls), sondern mit dem Zeitpunkt des Aufrufs, d.h. Simplepagehead wird _vor_ dem Outputfilter aufgerufen, der sonst dafür zuständig wäre, die Dropletaufrufe durch deren jeweiligen Inhalt zu ersetzen.
Es geht mittels eines Workarounds.
1) Gehe auf Admin-Tools > Droplets und lege ein neues Droplet replacemeta an.
2) Füge in dieses den nachfolgenden Code ein.
if ($meta=='keywords') {
$rv ='<!--(REPLACE) META KEY -->';
$rv .='<meta name="keywords" content="'.$k.'"/>';
$rv .='<!--(END)-->';
}
if ($meta=='description') {
$rv ='<!--(REPLACE) META DESC -->';
$rv .='<meta name="description" content="'.$d.'"/>';
$rv .='<!--(END)-->';
}
return $rv;
3) Speichere das Droplet und gehe in die Topics-Optionen.
4) Füge im Feld Thema > Fußzeile folgenden Code ein.
[[replacemeta?meta=keywords&k=[META_KEYWORDS]&foo=bar]]
[[replacemeta?meta=description&d=[META_DESCRIPTION]&foo=bar]]
5) Speichere die Änderungen.
Last edited by florian (05.03.2020 09:15:40)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Vielen Dank für die schnelle Antwort !
Das funktioniert bei mir aber leider nicht; die Themen-Seiten bleiben nach dem Einbau des obigen Codes leer.
Liegt es womöglich daran, dass im Feld Thema > Fusszeile noch andere Einträge (u.a. Topics-Variablen) stehen ?
Abgesehen davon, weil es nichts am Ergebnis ändert; braucht es nach
[META_KEYWORDS]&foo=bar]]]
drei eckige Schlussklammern ] ?
Offline
Mit den 3 Klammern hast Du natürlich recht.
Ich habe aber sowieso zu kompliziert gedacht. Du brauchst gar kein Droplet.
Es reicht, wenn Du in der Fußzeile einfach nur einfügst:
<!--(REPLACE) META KEY -->
<meta name="keywords" content="[META_KEYWORDS]"/>
<!--(END)-->
<!--(REPLACE) META DESC -->
<meta name="description" content="[META_DESCRIPTION]"/>
<!--(END)-->
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Das führt bei mir leider zum gleichen Fehler, also einer komplett leeren Themen-Seite.
Die Felder [META_KEYWORDS] und [META_DESCRIPTION] von Topics sind ja unten auf jeder Themenseite sichtbar. Diese enthalten momentan die unaufgelösten GlobalStrings [[string?name=xyz]].
Wenn ich es richtig verstehe, werden dann aus diesen Feldern von Topics direkt die META-Infos erzeugt. Der Inhalt der GlobalStrings müsste also vorher umgewandelt werden !?
Offline
Welche Version von WBCE läuft da bei Dir?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
WBCE Version: 1.4.0
PHP Version: 7.0.2
Offline
Das hätte dann eigentlich funktionieren sollen.
Hast Du wirklich exakt und komplett den oben geposteten Code in Deine Seite eingefügt? Die Kommentarzeilen sind wichtig und gehören dazu.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Der outputfilter sollte eigentlich über gesamte Ausgabe laufen, also auch über die Meta-Description.
Ich vermute eher, dass da von topics aus ein htmlspecialchars oder sowas beteiligt ist. Komme aber momentan nicht ran, weil unterwegs.
In der modify_topic.php steht:
<?php echo (htmlspecialchars($fetch_content['short_description'])); ?>
In der save_topic.php steht zu Thema description nur lapidar:
$description = $admin->get_post_escaped('description');
Außer: Sie beginnt mit einem Leerzeichen. Das Leerzeichen bedeutet: Neu generieren.
In der aktuellen Version (und wohl schon länger) wird dieses Leerzeichen automatisch gelöscht, wenn das Feld verändert wurde, die angegebene Description wird also nicht mehr verändert.
Mal eine GANZ blöde Frage:
...Was allerdings leider nicht klappt ist die Übernahme der GlobalStrings-Inhalte in die Meta-Description und die Meta-Keywords, welche ja von Topics automatisch generiert werden. Dort erscheinen stattdessen die Platzhalter [[string?name=xyz]].
Werden deine Änderungen so gespeichert wie angegeben?
Last edited by boeseroeser (05.03.2020 12:52:56)
Ich bin nicht sicher, ob ich dich richtig verstehe, aber die Angaben im Backend auf der Themen-Seite in den Feldern Meta-Description und Meta-Keywords sind identisch mit den Meta-Angaben im Quelltext der erzeugten Seite, egal ob mit oder ohne Leerzeichen am Anfang. Das Leerzeichen bleibt beim ersten Speichern bestehen; wenn ich es später lösche und wieder einfüge, wird es automatisch gelöscht. Ansonsten
Ich mach mal ein Beispiel, wie es bei mir aussieht :
Titel : Pizza-Rezepte
Kurzbeschreibung : [[string?name=kurz-xyz]]
Kurz : Hier findest du viele leckere Pizza-Rezepte. [[string?name=infos-xyz]]
Meta-Description (automatisch) : Hier findest du viele leckere Pizza-Rezepte [[string?name=infos-xyz]]
Meta-Keywords (automatisch) : pizza, rezepte, string, name, kurz-xyz, viele, leckere
Hilft das weiter ?
Offline
Kannst Du mir mal Backend-Zugangsdaten per PM zukommen lassen?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Online
Pages: 1