Page 1 of 1

Bestimmte Code-Zeile nur auf einer Seite

Posted: Mon Jan 16, 2006 9:17 pm
by Thomas
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...

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Tue Jan 17, 2006 5:56 am
by cyberman
Thomas wrote: Gibt es eine Möglichkeit eine if-abfrage einzubauen, die wenn page=startseite zutrifft (auch bei eingeschaltetem mod_rewrite), das zitat anzeigt?
Warum umständlich, wenn es auch simple geht  ;) ...
  • aktuelles Template kopieren
  • Zitate-Box nur in diesem Template einbinden
  • Template der Startseite zuordnen
  • FERTIG!

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Tue Jan 17, 2006 11:28 am
by tho
... hmm manchmal ist man blind  ;D

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Wed Jan 25, 2006 3:23 pm
by LeisureLarry
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 :-D

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Tue Jan 31, 2006 12:20 pm
by nils73
... 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

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Tue Jan 31, 2006 12:28 pm
by LeisureLarry
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 :-D

Re: Bestimmte Code-Zeile nur auf einer Seite

Posted: Wed Feb 15, 2006 1:40 pm
by LeisureLarry
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