Stylesheet/Layout wählen

Gesperrt
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Stylesheet/Layout wählen

Beitrag von Fips »

Hallo,
wir haben das Modul "Stylesheet/Layout wählen" von Phillip Baumgaertner etwas angepasst, indem alle css-Dateien im Verzeichnis css angezweigt werden und im Input können weitere Verzeichnisse manuell eingefügt werden.
Somit können diverse css-Dateien in unterschiedlichen Verzeichnissen eingebunden werden.

INPUT

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Layout wählen
* Author      :     Phillip Baumgärtner
* Copyright   :     Phillip Baumgärtner
* Created     :     19-09-2006
* Version     :     2.0
* Modified    :     28-12-2010
************************************************/

$z = "CMS_VALUE[1]";
if ($z == NULL) {
	$z = 0;
} else {
	$z = "CMS_VALUE[1]";
}
?>
<table cellspacing="0" cellpadding="10" border="0">
	<tr>
		<td><?php echo mi18n("Anzahl"); ?></td>
		<td><input style="width:30px;" type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo $z; ?>">&nbsp;<input type="image" src="images/submit.gif"></td>
	</tr>
	<?php
	if ($z != 0) {
		echo '<tr><td>'.mi18n("Select a layout").'</td><td>';
		$y = 0;
		$select = 2;
		while ($z != $y) {
			echo '<select name="CMS_VAR['.$select.']">';
			echo '<option value="0" selected="selected">keines</option>';
                           $pfade = array();
			$pfade[] = "../cms/css/";
			$pfade[] = "../cms/css/screen/";
			$pfade[] = "../cms/css/patches/";
                           foreach($pfade as $pfad){
			    $verz = opendir($pfad);
			    while ($file=readdir($verz)) {
				     if (preg_match('/.css/', $file)) {
				      	    if ("CMS_VALUE[$select]" == "$pfad$file") {
						echo '<option value="'.$file.'" selected="selected">'.$file.'</option>';
					    } else {
						echo '<option value="'.$pfad.$file.'">'.$file.'</option>';
					    }
				    }
			    }
			    closedir($verz);
                            } 
			echo "</select><br />";
			$y++;
			$select++;
		}
		echo '</td></tr>';
	}
echo "</table>";
OUTPUT

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Layout wählen
* Author      :     Phillip Baumgärtner
* Copyright   :     Phillip Baumgärtner
* Created     :     19-09-2006
* Version     :     2.0
* Modified    :     28-12-2010

************************************************/


$layout = 2;
$z = "CMS_VALUE[1]";
$y = "CMS_VALUE[$layout]";
if ($z != "0") {
	$i = 0;
	while ($z != $i) {
		echo '<link rel="stylesheet" type="text/css" href="'.$y.'" />';
		$i++;
		$layout++;
		$y = "CMS_VALUE[$layout]";
	}
}
?>
Fips
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Stylesheet/Layout wählen

Beitrag von Fips »

Hallo,
bei der Arbeit mit dem angepassten Modul ist uns aufgefallen, dass nach nochmaligen Öffnen und Abspeichern der Konfiguration die Auswahl auf keines zurückgesetzt wurde.
Wir haben dies geändert. Hier der geänderte INPUT:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Layout wählen
* Author      :     Phillip Baumgärtner
* Copyright   :     Phillip Baumgärtner
* Created     :     19-09-2006
* Version     :     2.0
* Modified    :     29-12-2010
************************************************/

$z = "CMS_VALUE[1]";
if ($z == NULL) {
	$z = 0;
} else {
	$z = "CMS_VALUE[1]";
}
?>
<table cellspacing="0" cellpadding="10" border="0">
	<tr>
		<td><?php echo mi18n("Anzahl"); ?></td>
		<td><input style="width:30px;" type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo $z; ?>">&nbsp;<input type="image" src="images/submit.gif"></td>
	</tr>
	<?php
	if ($z != 0) {
		echo '<tr><td>'.mi18n("Select a layout").'</td><td>';
		$y = 0;
		$select = 2;
		while ($z != $y) {
			echo '<select name="CMS_VAR['.$select.']">';
                        $pfade = array();
			$pfade[] = "../cms/css/"; /* Bitte Pfad anpassen */
			$pfade[] = "../cms/css/screen/"; /* Bitte Pfad anpassen */
                        $vorauswahl = true;
                           foreach($pfade as $pfad){
			    $verz = opendir($pfad);
			    while ($file=readdir($verz)) {
				     if (preg_match('/.css/', $file)) {
				      	    if ("CMS_VALUE[$select]" == "$pfad$file" && $vorauswahl) {
                                                $vorauswahl = false;
						echo '<option value="'.$pfad.$file.'" selected="selected">'.$file.'</option>';
					    } else {
						echo '<option value="'.$pfad.$file.'">'.$file.'</option>';
					    }
				    }
			    }
			    closedir($verz);
                            }
                        if ($vorauswahl)
                            echo '<option value="0" selected="selected">keines</option>'; 
                        else
			    echo '<option value="0">keines</option>';

			echo "</select><br />";
			$y++;
			$select++;
		}
		echo '</td></tr>';
	}
echo "</table>";
FIPS
McHubi
Beiträge: 1223
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Stylesheet/Layout wählen

Beitrag von McHubi »

Hallo Fips,

Danke für das Modul und die Korrektur :D ... aber am besten führst Du diese Änderungen zukünftig immer im Anfangspost durch. Denn gerade bei längeren Themen müsste man sich so Stück für Stück die Änderungen zusammenklauben. Also besser den Input im ersten Post ändern und lediglich einen kurzen Hinweis auf die Änderung posten. Macht's für alle leichter weil die aktuellste Version immer direkt im ersten Post zu finden ist. :wink:

Viele Grüße,


Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Gesperrt