Mehrere Textmodule *GNJ

Gesperrt
jacke
Beiträge: 303
Registriert: Mi 25. Sep 2002, 19:37
Kontaktdaten:

Mehrere Textmodule *GNJ

Beitrag von jacke » Mo 4. Jan 2010, 09:49

Erst mal "GESUNDES NEUES JAHR!"

Hallo,

ich brauche ein Template u.a. mit;

Text
Lightbox-galerie
Text
Lightbox-galerie
Text
Lightbox-galerie

da ich nicht 3x Textmodule haben will habe ich erst mal versucht
CMS_HTML[x] zu CMS_HTML[$cCurrentContainer] machen

das geht so aber nicht. Im Editor steht dann z.B. CMS_HTML[4] - aber kein Stift.

Hier mal der verbastelte Output:

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Output some HTML text
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* }}
*
* $Id$
*/

$TemCon = "CMS_HTML[$cCurrentContainer]";

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}


$tpl->reset();
$tpl->set('s', 'text', $TemCon);
$tpl->generate('templates/text_html.html');
?>
Habt ihr eine Lösung??

Das ganze versuche ich dann noch mit der Bildergalerie - (hab Angst)!

Danke

Jamest
Beiträge: 137
Registriert: Mi 2. Aug 2006, 09:29
Kontaktdaten:

Re: Mehrere Textmodule *GNJ

Beitrag von Jamest » Mo 4. Jan 2010, 23:15

Hallo Jacke,

dir ebenfalls ein gesundes neues Jahr.

Deine Problemstellung ist mir vor kurzem bei einem Projekt auch begegnet. Was du zur Lösung deines Problems benötigst ist eine
"Shortcode" Funktion. Damit kannst du problemlos module in einem Text HTML Container einbinden. In deinem Template hast du ein
einziges Text HTML Modul definiert. In einem Artikel wechselst du dann in den Tiny und dort schreibst du dann einfach deinen Text.
Zwischen den Absätzen kannst du dann per ShortCode die gewünschten Module einbinden, dies ist mit jeglichem Modul möglich. Die
eigentliche Konfiguration des Moduls wird nach dem Abspeichern des Tiny's vollzogen.

Eine intensivere Recherche zu dem Thema brachte mich letztendlich zu aitsu, einem "Aufsatz" für Contenido könnte man sagen, für
mich ist es viel mehr als das, schau es dir doch mal an. Hier ein paar Links zum Thema: (Erklärung, Beispiele, Module)

http://www.aitsu.org/cms/shortcodes/index.html
http://www.aitsu.org/wissen/api-referenz/shortcode.html
http://www.aitsu.org/module/shortcodes/index.html

Bei Fragen kannst du dich gern an mich wenden, ansonsten schau dir doch bei Interesse mal die Demo an, so lief es bei mir. ;-)

Angenehmen Abend

Jamest

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Mehrere Textmodule *GNJ

Beitrag von idea-tec » Di 5. Jan 2010, 07:23

So geht es auch, und kostet nix

Code: Alles auswählen

<?php   
/**
* $RCSfile$
*
* Description: Output some HTML text
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* }}
*
* $Id$
*/
if (!function_exists("make_cms_type")) {
    // HTML Container erstellen
    function make_cms_type( $container_type, $container_id ) {       
        global $a_content, $idartlang, $idart, $idcat, $lang, $db, $edit, $sess, $client, $cfg, $cfgClient;
       
        $sql = "SELECT * FROM ".$cfg["tab"]["type"]." WHERE type = '$container_type'";
        $db->query($sql);
   
        $db->next_record();
        $cms_code = $db->f("code");
        $cms_idtype = $db->f("idtype");

        if( !$edit ) {
            $db2 = new DB_Contenido;
            $sql = "SELECT * FROM ".$cfg["tab"]["content"]." AS A, ".$cfg["tab"]["art_lang"]." AS B, ".$cfg["tab"]["type"]." AS C
                    WHERE A.idtype = C.idtype 
                    AND A.idartlang = B.idartlang 
                    AND B.idart = '".Contenido_Security::toInteger($idart)."' 
                    AND B.idlang = '".Contenido_Security::escapeDB($lang, $db)."' 
                    AND A.idtype = '".$cms_idtype."' 
                    AND A.typeid = '".$container_id."'";
            $db2->query($sql);
            $db2->next_record();
            $a_content[$db2->f("type")][$db2->f("typeid")] = $db2->f("value");
        }

        $val = $container_id;
       
        eval($cms_code);
        $tmp_output = str_replace('\\\"','"',$tmp);
        $tmp_output = stripslashes($tmp_output);
       
        return $tmp_output;
    }   
}
    // Aufruf der Funktion 
//    echo make_cms_type("CMS_HTML","1");

//$TemCon = "CMS_HTML[$cCurrentContainer]";
$TemCon = make_cms_type("CMS_HTML",$cCurrentContainer);

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}


$tpl->reset();
$tpl->set('s', 'text', $TemCon);
$tpl->generate('templates/text_html.html');
?>
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Gesperrt