Klassen der CMS_TYPES direkt nutzen

Ideen für neue Funktionen in CONTENIDO?
Antworten
Faar
Beiträge: 1171
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Berlin
Kontaktdaten:

Klassen der CMS_TYPES direkt nutzen

Beitrag von Faar » Di 13. Jun 2017, 14:24

Gibt es eine Möglichkeit, den Constructor einer Klasse eines CMS_TYPES direkt zu nutzen, wie z.B. vom CMS_TEASER?
https://api.contenido.org/latest/class- ... easer.html
https://api.contenido.org/latest/source ... tml#80-134

Ich wüsste nicht, was ich in $rawSettings und $contentTypes einsetzen sollte? Wie käme ich an diese Daten?
Mit $id ist wohl diese in der Klammer gemeint: CMS_TEASER[11] ?

Kann ich ein Modul aufbauen, das mir explizit das anzeigt was ich möchte?

Code: Alles auswählen

if (cRegistry::isBackendEditMode()){
	echo '<label class="content_type_label">'.$label.'</label>';
	echo cContentTypeTeaser::generateEditCode(11);
}else{
	echo cContentTypeTeaser::generateViewCode(11);
}
Denn manchmal stört es gewaltig, wenn im Editor-Modus die Frontend-Inhalte des Teasers angezeigt werden. Da reicht eigentlich oft nur der Button.

homtata
Beiträge: 895
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Klassen der CMS_TYPES direkt nutzen

Beitrag von homtata » Di 13. Jun 2017, 23:13

In einem anderen Projekt hab ich folgenden Code verwendet und meine, dass das den reinen Edit-Button geliefert hat, kannst ja mal versuchen:

Code: Alles auswählen

$typeGen = new cTypeGenerator();
$idart = cRegistry::getArticleId();
$artLang = cRegistry::getArticleLanguage();
$lang = cRegistry::getLanguageId();

// Teaser 1
ob_start();
echo "CMS_TEASER[1]";
$buffer = ob_get_clean();
$teaserId = (int) TypeIdManager::getTypeId('CMS_TEASER');
ob_start();
eval('echo "' . $typeGen->getGeneratedCmsTag("CMS_TEASER", $teaserId) . '"; ');
$teaserContent = ob_get_contents(); // liefert den Editor-Button
ob_end_clean();

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

Re: Klassen der CMS_TYPES direkt nutzen

Beitrag von Faar » Mi 14. Jun 2017, 10:22

Danke, ich muss das man ausprobieren.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast