Container Inhalte zuweisen

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
HFe
Beiträge: 3
Registriert: Mo 26. Okt 2020, 11:06
Kontaktdaten:

Container Inhalte zuweisen

Beitrag von HFe » Mo 26. Okt 2020, 11:14

Hallo,

eine Frage:
wenn ich die Inhalte von CMS_HTML[1] und CMS_HTML[2] in CMS_HTML[3] zusammenführen will (MODUL-Ausgabe-Bereich), gäbe es dafür einen einfachen script?
Irgendwas in der ART

$CMS_HTML[1] = "CMS_HTML[1]"."CMS_HTML[2]";

Danke im Voraus für die Antwort.
LG
HFE

xmurrix
Beiträge: 2982
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Container Inhalte zuweisen

Beitrag von xmurrix » Mo 26. Okt 2020, 11:52

Hallo HFe,

herzlich willkommen im CONTENIDO Forum.

Inhalte von Content-Typen kannst du wie folgt zusammenführen:

Code: Alles auswählen

// 1. Variante: Alle drei separaten Variablen zuweisen und die Variablen zusammenfügen
$html1 = "CMS_HTML[1]";
$html2 = "CMS_HTML[2]";
$html3 = "CMS_HTML[3]";
$htmlAll = $html1 . $html2 . $html3;

// 2. Variante
$htmlAll = "CMS_HTML[1] CMS_HTML[2] CMS_HTML[3]";

// 3. Variante
$htmlAll = "CMS_HTML[1]" . "CMS_HTML[2]" . "CMS_HTML[3]";
Grüße
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

HFe
Beiträge: 3
Registriert: Mo 26. Okt 2020, 11:06
Kontaktdaten:

Re: Container Inhalte zuweisen

Beitrag von HFe » Di 27. Okt 2020, 08:48

Hallo xmurrix,

vielen Dank für Deine schnelle Antwort.
Die zuweisung in eine Variable nutze ich bereits.

Ich muss meine Frage konkretisieren: Kann ich den Inhalt eines CMS_HTML Containers direkt in ein anderes CMS_HTML Container zuweisen?

Etwas in der art
CMS_HTML[1] = "CMS_HTML[2] CMS_HTML[3]";
oder
CMS_HTML[1] = $meineVariable;

würde mir im Suchmodul helfen.

Ich will damit versuchen, mit einem Einzeiler die integrierte Suche, die hier im Forum beschrieben "nur" auf CMS_HTML[1] geht, wieder nutzen zu können.

LG
HFe

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

Re: Container Inhalte zuweisen

Beitrag von homtata » Di 27. Okt 2020, 12:22

Nein, das was du damit erreichen willst, geht so nicht. Wenn die Suche nur CMS_HTML[1] indiziert und du das Suchmodul nicht ändern willst, dann musst du alle Inhalte, die in die Suche gehen sollen, auch in die 1 schreiben. Im Suchmodul kannst du nicht einfach die Container zusammenklöppeln, das geht nicht, und in einem normalen Modul hat das auf die Suche keinen Einfluss. Mann kann einem CMS-Container nicht einfach durch Addition oder Variablenerweiterung neue Inhalte hinzufügen, und wenn, dann hätte das Auswirkungen auf die Darstellung im Frontend, sprich: er erweiterte Content würde dort in der 1 auch gezeigt.
Entweder du erweiterst das Suchmenü (das war auch schonmal Thema hier) um weitere Containernummern, was nicht ganz untricky ist, oder du musst auf eine andere Suche bauen. Nicht umsonst gibt es hier mehrere Ansätze für alternative Systeme, da man mit der Standardsuche einfach unglaublich schlecht die tatsächlichen Seiteninhalte abbilden kann.
LG
Viktor

McHubi
Beiträge: 1164
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Container Inhalte zuweisen

Beitrag von McHubi » Di 27. Okt 2020, 12:31

Hallo HFe,

zwei Möglichkeiten einer alternativen Suche wären viewtopic.php?f=116&t=43576 und viewtopic.php?f=89&t=35456 (ist zwar im 4.9er Bereich des Forums, funktioniert aber auch in der 4.10).

VG

Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

xmurrix
Beiträge: 2982
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Container Inhalte zuweisen

Beitrag von xmurrix » Di 27. Okt 2020, 14:21

Hallo HFe,
HFe hat geschrieben:
Di 27. Okt 2020, 08:48
...Kann ich den Inhalt eines CMS_HTML Containers direkt in ein anderes CMS_HTML Container zuweisen?

Etwas in der art
CMS_HTML[1] = "CMS_HTML[2] CMS_HTML[3]";
oder
CMS_HTML[1] = $meineVariable;

würde mir im Suchmodul helfen...
Eigentlich sollte das mit einem Modul am Ende des Layouts möglich sein. Du erstellst ein Modul, fügst es an das Ende des Layouts und schreibst folgenden Code in die Modulausgabe:

Code: Alles auswählen

<?php
if (cRegistry::isBackendEditMode() && cString::toUpperCase($_SERVER['REQUEST_METHOD']) === 'POST') {
    $idArtLang = cRegistry::getArticleLanguageId();
    $artLang = new cApiArticleLanguage($idArtLang);

    $cmsHtml1 = (string) $art->getContent('CMS_HTML', 1);
    $cmsHtml2 = (string) $art->getContent('CMS_HTML', 2);

    conSaveContentEntry($idArtLang, 'CMS_HTML', 5000, $cmsHtml1 . $cmsHtml2);
    conMakeArticleIndex($idArtLang, $artLang->get('idart'));
}
?>
Immer, wenn man im Backend einen Artikel im Edit-Modus speichert, werden die Inhalte aus CMS_HTML[1] und CMS_HTML[2] geholt und im gleichen Artikel unter CMS_HTML[5000] gespeichert. Danach wird die Indexierung des Artikels aufgerufen.

Im Beispiel habe ich den Content-Typ CMS_HTML mit der Typ-Id 5000 genommen, da diese Kombination nicht in Modulen zum Verwalten von Inhalten den Seiten verwendet wird. Achte darauf, dass kein anderes Modul CMS_HTML[5000] verwendet. Du kannst das auch in CMS_HTML[1] speichern, aber auch hier gilt, dass kein anderes Modul dann CMS_HTML[1] zum Verwalten von Inhalten verwendet darf.

Das alles ist aber reine Theorie, d. h. ich habe es nicht getestet...

Grüße
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

HFe
Beiträge: 3
Registriert: Mo 26. Okt 2020, 11:06
Kontaktdaten:

Re: Container Inhalte zuweisen

Beitrag von HFe » Di 27. Okt 2020, 15:14

Hallo xmurrix,

vielen dank!
Ich probiere es aus.

LG
HFe

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

Re: Container Inhalte zuweisen

Beitrag von homtata » Mi 28. Okt 2020, 22:26

Das kann man so machen, aber es gilt dann auch zu beachten, dass das Suchmodul angepasst werden muss, damit der container mit der id 5000 ausgelesen wird und nicht die 1.

Antworten