Hallo zusammen,
mal eine andere Herangehensweise:
Man kann natürlich eine Kopie des Moduls anfertigen und als "content_text_2" speichern oder man nutzt die Modul-Eingabe, um das vorhandene Modul so anzupassen, dass es mehrfach verwendet werden kann. Letzteres ist die bessere Wahl. Dazu bindet man in der Modul-Eingabe die Möglichkeit ein, den Index für den CMS-Typ "CMS_HTML" selbst zu vergeben:
Code: Alles auswählen
$number="CMS_VALUE[100]";
if($number=="" OR !is_int(intval($number))) $number="1";
echo 'CMS_HTML[?]: <input size="1" type="int" name="CMS_VAR[100]" value="'.$number.'"> (1-5)';
Was dann noch fehlt, ist eine Erweiterung der Modul-Ausgabe, die die in der Artikelkonfiguration eingetragenen Daten ausliest und weiterverarbeitet. Das Gefettete ist neu
[...]
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
$number="CMS_VALUE[100]";
// get text from content type HTML with index 1 to ...
if($number==1 OR $number=="") $text = "CMS_HTML[1]";
if($number==2) $text = "CMS_HTML[2]";
if($number==3) $text = "CMS_HTML[3]";
if($number==4) $text = "CMS_HTML[4]";
if($number==5) $text = "CMS_HTML[5]";
// When in backend edit mode add a label so the author
// knows what to type in the shown field.
if (cRegistry::isBackendEditMode()) {
$label = mi18n("LABEL_TEXT")
.' '.$number;
} else {
$label = NULL;
}
[...]
Mit den obigen Anpassungen kann man das Textmodul bei Bedarf bis zu fünf Mal auf einer Seite einsetzen. Allerdings sollte man das mit der Angabe der Nummer möglichst frühzeitig im Projekt so umsetzen, da sonst die Konfiguration nicht in der DB abgespeichert ist und im Frontend dann nichts erscheint. Sobald man aber einmal die Konfiguration mit der "Standard-1" speichert, sind ggf. verschwundene Texte direkt wieder da.
Bis dahin,
Markus