Page 1 of 1
Standartseite in einer if / else Abfrage
Posted: Tue Mar 02, 2010 2:30 pm
by nockenfell
Nach längerem Suchen bin ich noch nicht wirklich schlau geworden. Wie finde ich heraus, ob die aufgerufene Seite als "Standart"-Seite definiert wurde. Ich möchte auf der Startseite im Template einiges ändern. Nur will ich dies nicht über $page_alias machen, da der Alias ja mal ändern könnte.
Re: Standartseite in einer if / else Abfrage
Posted: Wed Mar 03, 2010 9:05 pm
by nhaack
Mhh... auf die Schnelle fiele mir da ein eigenes UDT ein. Im Table content gibt es die Spalte default_content, diese enthält den Wert "1", wenn es die Standardseite ist.
Das UDT müsste etwa so aussehen (nennen wir es "is_default"):
Code: Select all
global $gCms;
$db = &$gCms->db;
$sql="
SELECT
default_content
FROM
cms_content
WHERE
content_id = ".$params['id']."
";
$dbresult = $db->Execute( $sql );
if( !$dbresult ){
echo 'DB error: '. $db->ErrorMsg()."<br/>";
}
while ($dbresult && $dbresultrow = $dbresult->FetchRow()){
if ($dbresultrow['default_content'] == 1) {
$smarty->assign($params['assign'], true );
} else {
$smarty->assign($params['assign'], false );
}
}
(Die Konstruktion hätte etwas eleganter sein können, aber mein Hirn ist schon fast im Idle-Mode und der Kernel schmeißt schon am laufenden Band Exceptions... Feierabend-Blödsinn)... Achtung, ggf. Table-Prefix anpassen!
Im Template kannst du jetzt den Aufruf wie folgt verwenden
{is_content id=$content_id assign="irgendwas"}
Danach einfach mit ner If/else Anweisung verarbeiten:
Code: Select all
{is_content id=$content_id assign="irgendwas"}
{if $irgendwas == true}
Standard-Content
{else}
Nicht der Standard-Content
{/if}
Beste Grüße
Nils
Re: Standartseite in einer if / else Abfrage
Posted: Thu Mar 04, 2010 9:06 am
by nockenfell
Besten Dank! Hat gut geklappt.
Re: Standartseite in einer if / else Abfrage
Posted: Thu Mar 04, 2010 11:07 am
by cyberman
Warum das Rad zwei mal erfinden

?
Code: Select all
{if $content_obj->mDefaultContent == '1'}
Standard-Content
{else}
Nicht der Standard-Content
{/if}
That's all!
PS: {get_template_vars} ist ein richtig guter Freund

...
Re: Standartseite in einer if / else Abfrage
Posted: Thu Mar 04, 2010 12:01 pm
by nockenfell
Danke Cyberman. Bisher habe ich die Objekte von get_template_vars nie angeschaut. Sonst wäre ich möglicherweise selber draufgekommen.
Re: Standartseite in einer if / else Abfrage
Posted: Thu Mar 04, 2010 8:04 pm
by cyberman
Hmm, wenn schon die Pro's die vorhandenen Tools nicht nutzen

...
Re: Standartseite in einer if / else Abfrage
Posted: Thu Mar 04, 2010 9:58 pm
by nockenfell
Auch die Pro's kennen nicht alles. Ich entdecke immer wieder mal etwas das ich noch nicht kenne. Dafür gibt es dann die OberPro's.
Re: Standartseite in einer if / else Abfrage
Posted: Fri Mar 05, 2010 7:06 am
by cyberman
Da frag ich mich allerdings, warum ich Seiten dazu erstelle
http://www.cmsmadesimple.de/cmsms-suppo ... suche.html
Re: Standartseite in einer if / else Abfrage
Posted: Fri Mar 05, 2010 7:37 am
by nockenfell
Ehrlich gesagt war ich schon länger nicht mehr auf der deutschen Seite.
Danke für die guten Dokumentationen

Gerade die Ausführungen unter Programmierhilfen finde ich sehr gut.
Re: Standartseite in einer if / else Abfrage
Posted: Fri Mar 05, 2010 8:47 am
by nhaack
cyberman wrote:
Warum das Rad zwei mal erfinden

?
...
That's all!
PS: {get_template_vars} ist ein richtig guter Freund

...
Sauber! Warum in die Ferne schweifen, wenn das gute liegt so nah. Danke für den Hinweis. Ich glaube ich muss mich mal mehr mit der Dokumentation beschäftigen...
Grüße aus Hamburg
Nils