folgendes Szenario:
ich habe ein Zitat, dass ich nur auf der Startseite angeziegt haben möchte. Direkt darunter kommen meine Brotkrumen.
Im Moment ist das Zitat noch auf jeder Seite zu sehen. Erstell ich ein extra html-abschnitt mit der zitat-box und binde ihn in den content ein so ist das zitat ja unter den Brotkrumen. (diese sind im template eingebaut - Möchte nicht für jede Seite extra die Brotkrumen einsetzen.)
Gibt es eine Möglichkeit eine if-abfrage einzubauen, die wenn page=startseite zutrifft (auch bei eingeschaltetem mod_rewrite), das zitat anzeigt?
Hoffe es ist verständlich...
Bestimmte Code-Zeile nur auf einer Seite
Re: Bestimmte Code-Zeile nur auf einer Seite
Warum umständlich, wenn es auch simple gehtThomas wrote: Gibt es eine Möglichkeit eine if-abfrage einzubauen, die wenn page=startseite zutrifft (auch bei eingeschaltetem mod_rewrite), das zitat anzeigt?

- aktuelles Template kopieren
- Zitate-Box nur in diesem Template einbinden
- Template der Startseite zuordnen
- FERTIG!
Re: Bestimmte Code-Zeile nur auf einer Seite
Da mir die Pflege von zwei Templates zu umständlich ist und ich bei mir die Infos an einer Position einblende, wo sonst Leerraum ist, geht auch folgendes:
1) Einzublende Inhalte in einen extra DIV oder SPAN
2) Benutzerdefinierten Tag "alias_check" anlegen:
global $gCms;
$thispage = $gCms->variables['content_id'];
$onecontent = ContentManager::LoadContentFromId($thispage, false);
$show = isset($params["show"]) ? $params["show"] : 0 ;
$show_links = explode(",", $show);
if ($show and in_array($onecontent->Alias(),$show_links)) {
$style_val = "visible";
} else {
$style_val = "hidden";
}
print('style= "visibility:' . $style_val . ';"');
3) Folgendes im öffnenden Tag des DIV oder SPAN nach einem Leerzeichen ergänzen:
{alias_check show=""}
Funktioniert bei mir wunderbar
1) Einzublende Inhalte in einen extra DIV oder SPAN
2) Benutzerdefinierten Tag "alias_check" anlegen:
global $gCms;
$thispage = $gCms->variables['content_id'];
$onecontent = ContentManager::LoadContentFromId($thispage, false);
$show = isset($params["show"]) ? $params["show"] : 0 ;
$show_links = explode(",", $show);
if ($show and in_array($onecontent->Alias(),$show_links)) {
$style_val = "visible";
} else {
$style_val = "hidden";
}
print('style= "visibility:' . $style_val . ';"');
3) Folgendes im öffnenden Tag des DIV oder SPAN nach einem Leerzeichen ergänzen:
{alias_check show=""}
Funktioniert bei mir wunderbar

Last edited by LeisureLarry on Wed Feb 15, 2006 1:38 pm, edited 1 time in total.
Re: Bestimmte Code-Zeile nur auf einer Seite
... wobei aber "visibility: hidden;" den entsprechenden Raum reserviert ... falls das gewünscht ist, ist das okay, ansonsten wäre "display: none;" die bessere Wahl. Aus meiner Sicht scheiden beide aus, da sie für Accessibility nicht wirklich geeignet sind. Ich habe daher in der Tat eine IF-THEN-Abfrage und erzeuge den Inhalt nur, wenn ich ihn wirklich brauche. Ist aber immer Geschmackssache. 
Gruß
Nils

Gruß
Nils
Re: Bestimmte Code-Zeile nur auf einer Seite
Wie erzeugst Du denn dann den Inhalt?
Ich will beispielsweise den News-Teaser nur auf einer Seite, habe aber leider bisher keine Möglichkeit gefunden in einem benutzerdefinierten Tag einen Smarty-Aufruf einzubauen.
Ach ja wegen visibility ist natürlich none wirklich besser
Ich will beispielsweise den News-Teaser nur auf einer Seite, habe aber leider bisher keine Möglichkeit gefunden in einem benutzerdefinierten Tag einen Smarty-Aufruf einzubauen.
Ach ja wegen visibility ist natürlich none wirklich besser

Re: Bestimmte Code-Zeile nur auf einer Seite
Zwei Anmerkungen mein obiger Code hatte einen CSS-Fehler show muss natürlich visible sein, meine Tests ergaben jedoch, dass für meinen Einsatz hidden besser ist als none. Kommt natürlich immer auf das Einsatzgebiet an.
Gruss Larry
Gruss Larry