Metadescription in Modul ausgeben
Metadescription in Modul ausgeben
Hat jemand einen Plan, wie man die MetaDescription in der aktuellen Version im Modul ausgibt? Wäre für jeden Tipp dankbar. Ich benötige die Ausgabe für die RichSnippets.
Re: Metadescription in Modul ausgeben
Ich guck mal schnell in die DB, vielleicht finde ich was.
so, bin wieder da.
In der Tabelle con_meta_tag sind die Inhalte fast aller Meta-Tags enthalten und in der Tabelle con_meta_type sind die Typen der Metatags enthalten, also z.B. Nr. 3 ist die Description.
In der Tabelle Meta_Tag kann man dann die Metatags anhand der idartlang suchen und mittels dem Type zuordnen, welcher Metatag es ist.
Die idartlang sollte im Modul mit dem Artikel abgreifbar sein, also braucht es "nur" noch ein Funktion oder Klasse, die die Daten raus holt.
Vielleicht sowas hier: https://api.contenido.org/latest/class- ... ction.html
so, bin wieder da.
In der Tabelle con_meta_tag sind die Inhalte fast aller Meta-Tags enthalten und in der Tabelle con_meta_type sind die Typen der Metatags enthalten, also z.B. Nr. 3 ist die Description.
In der Tabelle Meta_Tag kann man dann die Metatags anhand der idartlang suchen und mittels dem Type zuordnen, welcher Metatag es ist.
Die idartlang sollte im Modul mit dem Artikel abgreifbar sein, also braucht es "nur" noch ein Funktion oder Klasse, die die Daten raus holt.
Vielleicht sowas hier: https://api.contenido.org/latest/class- ... ction.html
Zuletzt geändert von Faar am Di 1. Okt 2019, 18:19, insgesamt 1-mal geändert.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Metadescription in Modul ausgeben
das wäre super
Re: Metadescription in Modul ausgeben
Hiermit sollte es gehen: fetchByArtLangAndMetaType( integer $iIdArtLang, integer $iIdMetaType )
Diese Methode (Funktion) ist in der Klasse enthalten.
https://api.contenido.org/latest/class- ... ndMetaType
Diese Methode (Funktion) ist in der Klasse enthalten.
https://api.contenido.org/latest/class- ... ndMetaType
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Metadescription in Modul ausgeben
Danke für Deine Bemühugen. Hast Du für mich etwas Konkreteres?
Re: Metadescription in Modul ausgeben
Achje, also es sind public Functions und da sollte man so zugreifen können:
Code: Alles auswählen
$metadaten = new cApiMetaTagCollection;
$metatype = 3;
$description = $metadaten->fetchByArtLangAndMetaType($idartlang, $metatype);
echo $description;
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Metadescription in Modul ausgeben
Das schaut eigentlich sehr gut aus.
Jetzt bekomme ich im Errorlog
PHP Recoverable fatal error: Object of class cApiMetaTag could not be converted to string
Ich vermute, dass ein Update nicht vollständig gemacht wurde.
Jetzt bekomme ich im Errorlog
PHP Recoverable fatal error: Object of class cApiMetaTag could not be converted to string
Ich vermute, dass ein Update nicht vollständig gemacht wurde.
Re: Metadescription in Modul ausgeben
Der Fehler liegt bei mir, ich habe nicht geschaut, was die Funktion zurück gibt.
Du kannst es auch mal so probieren:
Code: Alles auswählen
SELECT `metavalue` FROM `con_meta_tag` WHERE `idartlang`='68' AND `idmetatype`='3'
Ich muss zum essen, dann schaue ich vielleicht später nochmal nach dem Fehler oben.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Metadescription in Modul ausgeben
Ich danke Dir vielmals. Das hat einwandfrei funktioniert.
Re: Metadescription in Modul ausgeben
Also, die Funktion liefert nicht den Text zurück sondern eher ein Objekt, das man nicht mit echo ausgeben kann.
Du kannst man schauen, ob du mit
Code: Alles auswählen
print_r($description);
Hm, schade, eigentlich hätte ich gedacht, diese Methode in der Klasse liefert den Inhalt als Text zurück.
Aber mit dem SLQ in meinem Beispiel geht es auch, nur muss man da natürlich noch mehr darum herum schreiben, das Datenbankgedöns halt, wie früher.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Metadescription in Modul ausgeben
Servus,
es geht natürlich auch mit Bordmitteln von CONTENIDO. Den folgenden Code in den Modul-Output kopieren und man bekommt im Frontend den Inhalt des entsprechenden MetaTags (hier $idmetatype = 3 = description) angezeigt.
Gruß aus Franken
Ortwin
es geht natürlich auch mit Bordmitteln von CONTENIDO. Den folgenden Code in den Modul-Output kopieren und man bekommt im Frontend den Inhalt des entsprechenden MetaTags (hier $idmetatype = 3 = description) angezeigt.
Code: Alles auswählen
<?php
$idmetatype = 3;
$sMetaValue = "";
$oMetaTagColl = new cApiMetaTagCollection();
$oMetaTag = $oMetaTagColl->fetchByArtLangAndMetaType(cRegistry::getArticleLanguageId(), $idmetatype);
if (is_object($oMetaTag)) {
$sMetaValue = $oMetaTag->get('metavalue');
$sMetaValue = stripslashes($sMetaValue);
}
echo "Value of MetaTag: ".$sMetaValue;
?>
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog