folgendes Modul ist bei einem Projekt enstanden. Vielleicht hat jemand Bedarf...
Mit dem DirectModule wird das Modul-Konzept von Contenido etwas verfremdet, aber für das betreffende Projekt hat sich diese Lösung angeboten:
Das Modul ermöglicht es, ein anderes Modul auszuwählen und dessen Output-Code auszugeben. Das aufgerufene Modul darf zwar PHP-Code aber keine Contenido-Platzhalter (z.B. CMS_VALUE[1] oder CMS_HTML[10]) enthalten. Aus diesem Grund werden diese Module auch garnicht erst in der Konfiguration des DirectModules aufgelistet.
Screenshot:
Beschreibung:
Code: Alles auswählen
eine SelectBox, mit der man Module auswählen kann, deren Code direkt ausgegeben werden soll.
Funktioniert nur mit Modulen ohne CMS_ Variablen!
Version 1.0
Sept. 2003
Robert Strouhal www.clearcreative.de
Input:
Code: Alles auswählen
$directModuleSQL = "SELECT idmod, name FROM ".$cfg["tab"]["mod"]." WHERE output NOT LIKE '%CMS_%'";
$db->query($directModuleSQL);
echo "<table>\n";
echo " <tr>\n";
echo " <td>Modul auswählen</td>\n";
echo " <td><select name=\"CMS_VAR[1]\">\n";
echo " <option></option>\n";
while ($db->next_record()) {
echo "<option value=\"".$db->f("idmod")."\" ";
if ($db->f("idmod") == "CMS_VALUE[1]"){
echo " selected ";
}
echo ">".$db->f("name")."</option>\n";
}
echo "</select></td></tr></table>\n";
Output:
Code: Alles auswählen
<?
// direkte Ausgabe des Output-Codes eines ausgewählten Moduls
$directModule = "CMS_VALUE[1]";
$directModuleSQL = "SELECT output FROM ".$cfg["tab"]["mod"]." WHERE idmod=".$directModule;
$db->query($directModuleSQL);
$db->next_record();
echo $db->f("output");
?>
Alles ohne Gewähr und Garantie!
Schöne Grüße
Robert