Metadescription in Modul ausgeben

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Metadescription in Modul ausgeben

Beitrag von volupp11 » Di 1. Okt 2019, 14:51

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.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Faar » Di 1. Okt 2019, 18:11

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
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.

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von volupp11 » Di 1. Okt 2019, 18:18

das wäre super

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Faar » Di 1. Okt 2019, 18:21

Hiermit sollte es gehen: fetchByArtLangAndMetaType( integer $iIdArtLang, integer $iIdMetaType )
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.

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von volupp11 » Di 1. Okt 2019, 18:22

Danke für Deine Bemühugen. Hast Du für mich etwas Konkreteres?

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Faar » Di 1. Okt 2019, 18:29

volupp11 hat geschrieben:
Di 1. Okt 2019, 18:22
Danke für Deine Bemühugen. Hast Du für mich etwas Konkreteres?
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;
Ohne Gewähr, ich habe das schnell so zusammengezimmert.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von volupp11 » Di 1. Okt 2019, 18:36

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.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Faar » Di 1. Okt 2019, 18:40

volupp11 hat geschrieben:
Di 1. Okt 2019, 18:36
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.
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' 
Das funktioniert, hab ich gerade ausprobiert.
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.

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von volupp11 » Di 1. Okt 2019, 19:16

Ich danke Dir vielmals. Das hat einwandfrei funktioniert.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Faar » Di 1. Okt 2019, 19:22

volupp11 hat geschrieben:
Di 1. Okt 2019, 18:36
Jetzt bekomme ich im Errorlog
PHP Recoverable fatal error: Object of class cApiMetaTag could not be converted to string
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);
Die Daten siehst. Falls ja, kann man es vielleicht mit einer foreach() Schleife auslesen oder wiederum mit der Objektschreibweise.

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.

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Metadescription in Modul ausgeben

Beitrag von Oldperl » Mi 2. Okt 2019, 12:53

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.

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;
?>
Gruß aus Franken

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

Antworten