Seite 1 von 1

Modul Mapping

Verfasst: Fr 7. Aug 2009, 12:08
von JuePoe
Hallo,
was ich als Modul-Mapping bezeichne, soll bedeuten, dass der Inhalt aus dem einen Modul ins andere übertragen werden soll.
Also:
Ich möchte, dass meine geschätzten Redakteure statt des CMS_HTMLHEAD das CMS_HEAD benutzen.
Nun greifen aber einige Funktionen auf das erstere zu (AMR, Automatischer TITLE).
Statt nun in den einzelnen Modulen rumzuprogrammieren, was dann u.U. bei einem Update wieder verloren ist, würde ich gern o.g. Übertragung einrichten.

Nur: Meine Versuche führten stets zu Fehlern:

Fehler:
Modul HEAD (CMS_HEAD):

Code: Alles auswählen

                    $kursname =  "CMS_HEAD[0]";
Modul HTMLHEAD:
Fehler:

Code: Alles auswählen

IN:               "CMS_VAR[0]" = $kursname;
OUT:            "CMS_HTMLHEAD[0]" = "CMS_VALUE[0]";
Fehler:

Code: Alles auswählen

               "CMS_HTMLHEAD[0]" = "CMS_HEAD[0]"
(Ver. 4.8.11)
Vielleicht gehts ja doch?
Danke schonmal
Jürgen Pötschik

Re: Modul Mapping

Verfasst: Fr 7. Aug 2009, 12:57
von idea-tec
das kann ja nicht gehen, da die werte für INPUT ja bei der Konfiguration und nicht beim ausführen geschrieben werden!!!

wenn du das hier machst, sollte es gehen:

Code: Alles auswählen

OUT:            "CMS_HTMLHEAD[0]" = $kursname;

Re: Modul Mapping

Verfasst: Fr 7. Aug 2009, 13:52
von JuePoe
wenn du das hier machst, sollte es gehen:
OUT: "CMS_HTMLHEAD[0]" = $kursname;
Da bekomme ich ne rote Ampel angezeigt.

Re: Modul Mapping

Verfasst: Fr 7. Aug 2009, 23:22
von idea-tec
was logisch ist ... sorry ...
ich poste morgen noch einmal nach ... war wohl schon am feiern, hatte ja geburtstag, bereits leere in der birne ;-)

Re: Modul Mapping

Verfasst: Sa 8. Aug 2009, 10:19
von idea-tec
So ... denn mal los. Wichtig zu Wissen ist:
Die Module werden der Reihe nach abgearbeitet und die Variablen stehen im nächsten Modul im Output nicht zur Verfügung

Was im Output eines nachfolgenden Moduls funktionieren sollte/könnte ist:

Code: Alles auswählen

$kursname1 =  "CMS_HTMLHEAD[0]";
if (empty($kursname1)) { $kursname1 = $kursname; }
NICHT getestet!!!

Re: Modul Mapping

Verfasst: Sa 8. Aug 2009, 12:37
von conradius
Sonst versuch doch den Inhalt direkt mittels con_content und con_art_lang heraus zu holen.

HTMLHEAD hat idtype = 1
HEAD hat idtype = 9
Das steht übrigens in der con_type drin.

Code: Alles auswählen

$sSql = "SELECT
	CONTENT.value
FROM
	".$cfg['tab']['content']." AS CONTENT
WHERE
	CONTENT.idartlang = '".$idartlang."'
	AND CONTENT.idtype = '9'
	AND CONTENT.typeid = '0'";
Und eine Konfiguration könntest Du z.B. so mit Bordmitteln speichern:

Code: Alles auswählen

$sDeinSerialisiertesArray = serialize($aDeinArray);
// speichere die Konfiguration in der CMS-Variable CMS_HEAD[0] als serialisierter String ab 
conSaveContentEntry($idartlang, "CMS_HEAD", 0, $sDeinSerialisiertesArray);
Vielleicht hilft dir das ja was.
Gruss
Conradius

Re: Modul Mapping

Verfasst: Mi 12. Aug 2009, 12:55
von JuePoe
Vielen Dank für den Hinweis auf die con_type-Einträge.
Ich habe im Eintrag für die CMS_HTMLHEAD einfach

die Zeile

Code: Alles auswählen

$tmp = $a_content['CMS_HTMLHEAD'][$val]; 
in

Code: Alles auswählen

$tmp = $a_content['CMS_HEAD'][0];
geändert.
Scheint zu klappen (natürlich nur, wenn CMS_HEAD vorher einen Wert eingetragen bekommen hat).

Vielen Dank&
Beste Grüße
Jürgen Pötschik