Re: Select Box im Backend
Posted: Wed Dec 23, 2009 3:48 pm
Yepp.
Hab ich schon gemacht.
Methode Nr.1:
(wird beim Template GalaPurity verwendet)
Füge in Dein Template einen weiteren Inhaltsblock mit deaktiviertem WYSIWYG Editor als eine einfache Zeile ein.
Im Backend erscheint dann für jeden Block ein Textfeld bei dem man einfach nur z.B. eine 1 oder ein + eingeben muss.
Im Template kann man dann den Inhalt dieses Blocks prüfen und je nachdem was dort steht das jeweilge Modul anzeigen oder nicht:
Methode Nr.2:
Lade dir den erweiterten Inhaltstyp herunter, der hier vorgestellt wurde: http://forum.cmsmadesimple.org/index.ph ... #msg153796
oder hier (englisch): http://forum.cmsmadesimple.org/index.ph ... #msg188824
Erstelle einen Benutzerdefinierten Tag (nenne ihn z.B. "get_module"):
Im Template:
Das ließe sich auch noch beliebig erweitern.
Auf die Art kann ich in meinem Template auch noch vorgeben in welcher "Spalte" die Module angezeigt werden oder ob sie über die gesamte Breite gehen sollen.
Hab ich schon gemacht.
Methode Nr.1:
(wird beim Template GalaPurity verwendet)
Füge in Dein Template einen weiteren Inhaltsblock mit deaktiviertem WYSIWYG Editor als eine einfache Zeile ein.
Code: Select all
{content block="newsmodule" label="News Modul anzeigen" assign="news" oneline=true}
Im Template kann man dann den Inhalt dieses Blocks prüfen und je nachdem was dort steht das jeweilge Modul anzeigen oder nicht:
Code: Select all
{if $news=="+"}
<div id="news">
{news number="5" ... }
</div>
{/if}
Lade dir den erweiterten Inhaltstyp herunter, der hier vorgestellt wurde: http://forum.cmsmadesimple.org/index.ph ... #msg153796
oder hier (englisch): http://forum.cmsmadesimple.org/index.ph ... #msg188824
Erstelle einen Benutzerdefinierten Tag (nenne ihn z.B. "get_module"):
Code: Select all
global $gCms;
$module = '';
if(isset($params['module']))
$module = trim($params['module']);
$parameters = '';
if(isset($params['params']))
$parameters = trim($params['params']);
$output = '';
if($module!='') {
$output = '{cms_module module="'.$module.'" '.$parameters.'}';
}
if(isset($params['assign']) && trim($params['assign'])!='')
$gCms->smarty->assign(trim($params['assign']), $output);
else
return $output;
Code: Select all
{* Module *}
{content2 block="module1" block_tab="Module" label="Modul 1" type="dropdown" items=",News,Search" assign="module1"}
{content2 block="module1_params" block_tab="Module" label="Parameters Module 1" oneline="true" value="param1=value,param2=value..." assign="module1_params"}
{* seiteninhalt *}
{content2 block_tab="Inhalte"}
{* Module ausgeben *}
{if $module1!=''}
<div class="module {$module1}">
{get_module module=$module1 params=$module1_params assign="module"}
{eval var=$module}
</div>
{/if}
Auf die Art kann ich in meinem Template auch noch vorgeben in welcher "Spalte" die Module angezeigt werden oder ob sie über die gesamte Breite gehen sollen.