Seite 1 von 1

Directory der Module-Templates auslesen

Verfasst: Di 4. Nov 2008, 18:27
von Da Maxl
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.

Verfasst: Do 13. Nov 2008, 10:06
von emergence
eine funktion die alle dateien eines verzeichnisses auflistet, findest du vielleicht in der functions.upl.php

Verfasst: Do 13. Nov 2008, 13:16
von OliverL
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