Antwort #7 am: 02. Oktober 2011, 09:17:56
Hier eine kleine Anleitung (Voraussetzung/Basis
Tutorial: Erstellung Box)
Variante 1
source/boxes/bexample.php // Generierung Inhalt beginn ------
$box_content = 'Inhalt provisorisch';
// Generierung Inhalt Ende ------
ersetzen mit
$i = 0; $path = DIR_FS_CATALOG
.'templates/'.CURRENT_TEMPLATE
.'/random/'; $handle = opendir ($path); while ($file = readdir ($handle)) { if(substr($file,-3)=='htm'||substr($file,-4)=='html') { $files[] = $path.$file; $i++; } } closedir($handle); $random = rand(0, $i); $box_content = include($files[$random]); Dann kann im Templateverzeichnis ein Order mit dem Namen "random" erstellt werden.
In diesem können dann .html Dateien liegen von denen zufällig irgend eine gewählt wird.
Mehrsprachig: $path = include(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/random/');
ersetzen mit
$path = include(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/random/'.$_SESSION['language']./');
Hierbei müssen dann zwei Unterordner im "random"-Verzeichnis erstellt werden "german" und "english".
Variante 2
Noch viel cooler wäre das ganze direkt über den Content-Manager...
source/boxes/bexample.php // Generierung Inhalt beginn ------
$box_content = 'Inhalt provisorisch';
// Generierung Inhalt Ende -----
ersetzen mit
$box_content_query = xtc_db_query
("SELECT content_heading, content_text, content_file
FROM ".TABLE_CONTENT_MANAGER
."
WHERE content_title LIKE 'box_%' " .$group_check."
AND languages_id='".(int
) $_SESSION['languages_id']."'"); for ($i=0; $data = xtc_db_fetch_array
($box_content_query); $i++) { $content_array[] = $data; } $random = rand(0, $i); $content = $content_array[$random]; if ($content['content_file'] != '') { ob_start(); include (DIR_FS_CATALOG
.'media/content/'.$content['content_file']); $box_content = ob_get_contents(); ob_end_clean(); } else { $box_content = $content['content_text']; }$smarty->assign('BOX_HEADING', $content['content_heading']); Dann kann im Content-Manager der Text über einen neuen Inhalt mit dem Titel: box_IRGENDETWAS bearbeitet werden.
Damit dadurch die Box-Überschrift auch veränderbar ist, folgendes.
box_bexample.html{#heading_bexample#}
ersetzen mit
{$BOX_HEADING}
Die Sprachvariablen aus
Tutorial: Erstellung Box können entfernt werden.
Ist jetzt nicht getestet, würde mich daher über Feedback freuen.
Gruß
h-h-h
[
EDIT Tomcraft 03.10.2011: Fehler im Code korrigiert.]