Directory der Module-Templates auslesen

Gesperrt
Da Maxl
Beiträge: 26
Registriert: Mo 4. Apr 2005, 12:41
Wohnort: München
Kontaktdaten:

Directory der Module-Templates auslesen

Beitrag von Da Maxl » Di 4. Nov 2008, 18:27

Ich hoffe jemand hat sich schon einmal mit dem Thema beschäftigt.

Um für eine Artikelliste unterschiedliche Templates angeben zu können (mal schmal, mal breit, mal mit Link, mal ohne Link usw.) könnte man das Directory der Module-Templates auszulesen und die Inhalte per Select-Box im Inputteil der Konfiguration ausgeben und dort auswählen lassen.
Nun gibt es sicher in den Sources von Contenido eine Klasse oder Funktion für das Auslesen (siehe z.B. Auflistung auf der Seite Package) die man dafür nutzen könnte. Nur wo ist sie zu finden, wie heißt sie und was liefert sie zurück? Weiß das jemand? Ich finde mich im Backend nur sehr schwer zurecht und finde leider den Einstieg nicht.
... denn sie wissen nicht was sie tun ...

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 13. Nov 2008, 10:06

eine funktion die alle dateien eines verzeichnisses auflistet, findest du vielleicht in der functions.upl.php
*** make your own tools (wishlist :: thx)

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL » Do 13. Nov 2008, 13:16

Ich benutze da immer das:

INPUT

Code: Alles auswählen

?><?php
$aSettings["Template"]              = "CMS_VALUE[16]";

/*
 * Template
 */
    $temp = '<select name="CMS_VAR[16]">'."\n".'<option value="">'.i18n("Please select").'</option>';
      $myTemplates = array();
      $myDir = opendir($cfgClient[$client]['tpl']['path']);
      while( $myFile = readdir($myDir) ) {
        if( !is_dir($myFile) and substr($myFile, -5, 5) == ".html" ) $myTemplates[] = '<option value="'.$myFile.'"'.( $myFile == $aSettings["Template"] ? ' selected="selected"' : '' ).'>'.$myFile.'</option>';
      }
      sort($myTemplates);
    $temp.= implode('', $myTemplates);
    $temp.= '</select>';

    echo i18n("Template").':'.$temp;
OUTPUT

Code: Alles auswählen

<?php
cInclude('classes', 'class.template.php');

if ( !is_object($tpl) ) $tpl = new Template;
else                    $tpl->reset();

$aSettings["Template"]              = "CMS_VALUE[16]";

$tpl->set('s', 'TITLE', "Mein Titel");
$tpl->generate( $cfgClient[$client]['tpl']['path'].$aSettings["Template"] );
?>

Vielleicht kannst du dich auch mit MaWa zusammen tun.
http://forum.contenido.org/viewtopic.php?t=22830


mfg OliverL

Gesperrt