"Interaktives" Template möglich?
"Interaktives" Template möglich?
Hallo Zusammen!
Ich möchte das/den Banner meines Templates Zeit- und/oder Dattumabhängig angezeigt bekommen.
Jetzt die Frage:
Wo und in welcher Datei muss meine "if" Abfrage stehen, in der index.tpl führen solche Abfragen zu haufenweise "smarty"-Error ?!
Oder muss ich das als Plugin gestalten?
Gruß
Volker
Ich möchte das/den Banner meines Templates Zeit- und/oder Dattumabhängig angezeigt bekommen.
Jetzt die Frage:
Wo und in welcher Datei muss meine "if" Abfrage stehen, in der index.tpl führen solche Abfragen zu haufenweise "smarty"-Error ?!
Oder muss ich das als Plugin gestalten?
Gruß
Volker
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: "Interaktives" Template möglich?
Hi!
Dafür kannst Du eine config.inc.php in deinem tempalteverzeichnis erstellen. Dort kannst Du (siehe technische doku auf www.s9y.org) beliebigen PHP-Code benutzen um mittels Smarty dort Datums/Zeitvariablen etc. einzustellen.
Je nach gewünschter modifikation kannst du evtl. auch die index.tpl editieren und if-abfragen mit {$smarty.now} machen. Siehe smarty doku dazu.
Mittels eines plugins ginge es übrigens auch, nur um die möglichkeiten komplett zu machen. Da könntest du dann frontend_header oder ähnliche hooks nutzen.
Viele Grüße,
Garvin
Dafür kannst Du eine config.inc.php in deinem tempalteverzeichnis erstellen. Dort kannst Du (siehe technische doku auf www.s9y.org) beliebigen PHP-Code benutzen um mittels Smarty dort Datums/Zeitvariablen etc. einzustellen.
Je nach gewünschter modifikation kannst du evtl. auch die index.tpl editieren und if-abfragen mit {$smarty.now} machen. Siehe smarty doku dazu.
Mittels eines plugins ginge es übrigens auch, nur um die möglichkeiten komplett zu machen. Da könntest du dann frontend_header oder ähnliche hooks nutzen.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Ich habe in der config.inc.php folgenden Code:
die Variable $day_time_banner wird also von mir mit den Namen der anzuzeigenden Grafik gefüllt, was auch korrekt passiert.
Doch wie nun übenheme ich die Variable in die CSS-Datei zum Style?
Geht das überhaupt so:
Oder muss ich das in der index.tpl machen?
Gruß
Volker
Code: Select all
$hour_of_day = date("H");
$day_of_remember = date("d.m");
$day_time_banner = "day.jpg";
if ($hour_of_day <=7 or $hour_of_day >=12) {
$day_time_banner="night.jpg";
}
if($day_of_remember =="08.01") {
$day_time_banner="anniversary.jpg";
}
Doch wie nun übenheme ich die Variable in die CSS-Datei zum Style?
Geht das überhaupt so:
Code: Select all
#identity{
height:110px;
width:100%;
margin:0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
background:#FCFCFC url({TEMPLATE_PATH}img/$day_time_banner) bottom left no-repeat;
}
Gruß
Volker
Okay, ich habe es jetz mal mit smarty versucht...
Ich kann sogar einen Teilerfolg verbuchen, denn ich kriege keine Fehlermeldung mehr im Browser, aaaaaaber.... es wird leider nicht das gewünschte Ergebnis angezeigt.
s9y_template_banner:
In meiner Style.css steht nunb folgende Zeile:
Ergebnis = kein Banner...
Da ich nicht der allergrößte Programmierer bin.... wo liegt mein Denk- / Handwerksfehler?
Gruß
Volker
Ich kann sogar einen Teilerfolg verbuchen, denn ich kriege keine Fehlermeldung mehr im Browser, aaaaaaber.... es wird leider nicht das gewünschte Ergebnis angezeigt.
s9y_template_banner:
Code: Select all
<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty s9y_template_banner function plugin
*
* Type: function<br>
* Name: s9y_template_banner<br>
* Purpose: Changes the shown banner on your s9y-blog during a day
* @author Volker Harmsen <volker at magic-volker dot de>
* @param string
* @param integer
* @param string
* @param boolean
* @param boolean
* @return string
*/
function s9y_template_banner($string, $length = 80)
{
$hour_of_day = date("H");
$day_of_remember = date("d.m");
$day_time_banner = "bextopnight.jpg";
if ($hour_of_day <=7 or $hour_of_day >=20) {
$day_time_banner="bextopnight.jpg";
}
if($day_of_remember =="08.01") {
$day_time_banner="anniversary.jpg";
}
return $day_time_banner;
}
/* vim: set expandtab: */
?>
Code: Select all
...
background:#FCFCFC url({TEMPLATE_PATH}img/{s9y_template_banner}) bottom left no-repeat;
...
Da ich nicht der allergrößte Programmierer bin.... wo liegt mein Denk- / Handwerksfehler?
Gruß
Volker
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Die CSS-Datei wird unabhängig vom Templatecode geladen. Die config.inc.php wird NICHT ausgeführt wenn die CSS-Datei geladen wird. In der CSS-Datei ist KEIN Smarty verfügbar.
Du musst in deiner index.tpl abhängig von der gesetztn variable ein unterschiedliches stylesheet laden.
index.tpl:
config.inc.php:
day.css:
night.css:
anniversary.css:
Grüße,
Garvin
Die CSS-Datei wird unabhängig vom Templatecode geladen. Die config.inc.php wird NICHT ausgeführt wenn die CSS-Datei geladen wird. In der CSS-Datei ist KEIN Smarty verfügbar.
Du musst in deiner index.tpl abhängig von der gesetztn variable ein unterschiedliches stylesheet laden.
index.tpl:
Code: Select all
<link rel="stylesheet" type="text/css" href="{$head_link_stylesheet}" />
<link rel="stylesheet" type="text/css" href="{$serendipityBaseURL}templates/{$template}/{$banner_stylesheet}" />
Code: Select all
$hour_of_day = date("H");
$day_of_remember = date("d.m");
$day_time_banner = "day.css";
if ($hour_of_day <=7 or $hour_of_day >=12) {
$day_time_banner="night.css";
}
if($day_of_remember =="08.01") {
$day_time_banner="anniversary.css";
}
$serendipity['smarty']->assign('banner_stylesheet', $day_time_banner);
Code: Select all
...
background:#FCFCFC url(img/day.jpg) bottom left no-repeat;
...
Code: Select all
...
background:#FCFCFC url(img/night.jpg) bottom left no-repeat;
...
Code: Select all
...
background:#FCFCFC url(img/anniversary.jpg) bottom left no-repeat;
...
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Hmm, mal sehen was ich da wieder fabriziert habe...
Ich bekomme jetzt nur noch einen Teil der Grafiken angezeigt
Im Quelltext wird der Header wie folgt ausgegeben:
So weit ich das sehen kann, wird der Pfad zum stylesheet korrekt angegeben (templates/magicheader/style.css)
Jetzt kommt aber im weiteren HTML etwas das mich verwundert.
Es wird immer auf das Verzeichnis des Templates zurueckgegriffen, welches ich als Grundlage genommen habe.
Scheinbar wird der Teil {TEMPLATE_PATH} nicht aktualisiert, woran liegt es?
Ich bekomme jetzt nur noch einen Teil der Grafiken angezeigt
Im Quelltext wird der Header wie folgt ausgegeben:
Code: Select all
<head>
<title>Vorsicht Schwul 2.0 </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Powered-By" content="Serendipity v.1.1" />
<link rel="stylesheet" type="text/css" href="http://vorsicht-schwul.magic-volker.de/index.php?/serendipity.css" />
<link rel="stylesheet" type="text/css" href="http://vorsicht-schwul.magic-volker.de/templates/magicheader/style.css" />
<link rel="alternate" type="application/rss+xml" title="Vorsicht Schwul 2.0 RSS feed" href="http://vorsicht-schwul.magic-volker.de/index.php?/feeds/index.rss2" />
<link rel="alternate" type="application/x.atom+xml" title="Vorsicht Schwul 2.0 Atom feed" href="http://vorsicht-schwul.magic-volker.de/index.php?/feeds/atom.xml" />
<script type="text/javascript">var lightbox_path = "/plugins/serendipity_event_lightbox/lightbox2";</script>
<script type="text/javascript" src="/plugins/serendipity_event_lightbox/lightbox2/prototype.js"></script>
<script type="text/javascript" src="/plugins/serendipity_event_lightbox/lightbox2/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="/plugins/serendipity_event_lightbox/lightbox2/lightbox2.js"></script>
<link rel="stylesheet" type="text/css" href="/plugins/serendipity_event_lightbox/lightbox2/lightbox2.css" />
<script type="text/javascript" src="http://vorsicht-schwul.magic-volker.de/index.php?/plugin/ls-js"></script><link rel="pingback" href="http://vorsicht-schwul.magic-volker.de/serendipity_xmlrpc.php" />
Jetzt kommt aber im weiteren HTML etwas das mich verwundert.
Code: Select all
/templates/bex01/img/bexmag.gif
Scheinbar wird der Teil {TEMPLATE_PATH} nicht aktualisiert, woran liegt es?
ein anderer ansatz wäre doch einfach direkt php-code ins template reinzuschreiben,
so wie ich es in meinem blog mache.
wie das geht kannst du hier nachlesen: http://www.darin.ch/blog/blog.php?/arch ... iew=single
gruss rene
so wie ich es in meinem blog mache.
wie das geht kannst du hier nachlesen: http://www.darin.ch/blog/blog.php?/arch ... iew=single
gruss rene
www.darin.ch - blog.darin.ch - rad.darin.ch
Irgendwie gefällt mir der Weg nicht so...
ich möchte ja soweit gehen, dass ich ueber die Template-Optionen nachher einen Aniversary-Termin verwalten kann, und die dazugehörige Grafik.
Bei deiner Variante sind ja auch generelle umstellungen (index.php>blog.php) notwendig.
Also nochmals die Frage: Wie ist die Variable noch auf dem Wert des "Ursprungs-Pfades"?
ich möchte ja soweit gehen, dass ich ueber die Template-Optionen nachher einen Aniversary-Termin verwalten kann, und die dazugehörige Grafik.
Bei deiner Variante sind ja auch generelle umstellungen (index.php>blog.php) notwendig.
Also nochmals die Frage: Wie ist die Variable noch auf dem Wert des "Ursprungs-Pfades"?
Just for the record: Ich meine mich zu erinnern, dass Matthew Groeninger für so etwas bereits »working code« hat und relativ händeringend jemanden sucht, der das Ganze optisch ein wenig »aufpäppelt«. Leider finde ich es auf die Schnelle bei Matt nicht, aber man könnte ihn einfach mal anmailen - allerdings sollte es auf Englisch erfolgen, wenn man eine Antwort möchte 
YL
YL
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi Volker!
Äh, TEMPLATE_PATH wird nicht aktualisiert. Das wird ja auch im Code nirgends aufgegriffen. Wenn das alte Stylesheet auch geladen wird, ist es ja klar, dass bex da noch mit rumspielt...?!
Grüße,
Garvin
Äh, TEMPLATE_PATH wird nicht aktualisiert. Das wird ja auch im Code nirgends aufgegriffen. Wenn das alte Stylesheet auch geladen wird, ist es ja klar, dass bex da noch mit rumspielt...?!
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Garvin, Du verwirrst mich, aber endlos!
Wenn ich das Template in der ADMIN-Verwaltung von "Bex01" auf "MagicVolker" umstelle, dann sollte doch auch die TEMPLATE_PATH neu gesetz werden, oder nicht?
Diese Variable/Funktion muss doch irgendwann einmal laufen und ihren Wert "BEX01" bekommen haben.
Wenn ich auf ein anderes Template umstelle, muss diese Variable/Funtion doch auch den neuen Wert bekommen, aber wann und wie stelle ich das im Falle meines Templates sicher?
Wenn ich das Template in der ADMIN-Verwaltung von "Bex01" auf "MagicVolker" umstelle, dann sollte doch auch die TEMPLATE_PATH neu gesetz werden, oder nicht?
Diese Variable/Funktion muss doch irgendwann einmal laufen und ihren Wert "BEX01" bekommen haben.
Wenn ich auf ein anderes Template umstelle, muss diese Variable/Funtion doch auch den neuen Wert bekommen, aber wann und wie stelle ich das im Falle meines Templates sicher?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Grüße,
Garvin
Ja...äh. Ich weiß nicht wovon Du sprichst. {TEMPLATE_PATH} wird in der style.css immer durch den aktuellen Templatepfad ersetzt. Wenn dort noch "bex" stehen sollte dann kann das nur passieren weil dieser Pfad irgendwo hartkodiert in der style.css vorkommt?!?Wenn ich das Template in der ADMIN-Verwaltung von "Bex01" auf "MagicVolker" umstelle, dann sollte doch auch die TEMPLATE_PATH neu gesetz werden, oder nicht?
Diese Variable/Funktion muss doch irgendwann einmal laufen und ihren Wert "BEX01" bekommen haben.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Hi!
Bei mir steht weder etwas von Bex, noch sonstwas...
Kann es sein, dass es deswegen NICHT zu dieser Zuweisung kommt?
WIE passiert denn da die Zuweisung?Ja...äh. Ich weiß nicht wovon Du sprichst. {TEMPLATE_PATH} wird in der style.css immer durch den aktuellen Templatepfad ersetzt. Wenn dort noch "bex" stehen sollte dann kann das nur passieren weil dieser Pfad irgendwo hartkodiert in der style.css vorkommt?!?
Bei mir steht weder etwas von Bex, noch sonstwas...
Kann es sein, dass es deswegen NICHT zu dieser Zuweisung kommt?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Ich verstehe leider nur noch Bahnhof, vielleicht kannst Du nochmal ganz aufs wesentliche reduziert erklären wo das problem liegt, vielleicht finde ich dann deinen faden wieder
Grüße,
Garvin
Via serendipity.css.php, über diese Datei wird die style.css geparst.WIE passiert denn da die Zuweisung?
Ich verstehe leider nur noch Bahnhof, vielleicht kannst Du nochmal ganz aufs wesentliche reduziert erklären wo das problem liegt, vielleicht finde ich dann deinen faden wieder
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ob die indexseite nun 'index.php' oder 'blog.php' heisst, das ist s9y letztendlich schnurtzegal. ich habs lediglich geändert, weil ich in meinem spezivischen fall für den start eine url-variable generiert habe, welche ich mittlerweile auch nicht mehr benötige.
aber hauptsche du findest eine lösung um dein problem zu beheben.
gruss rene
aber hauptsche du findest eine lösung um dein problem zu beheben.
gruss rene
www.darin.ch - blog.darin.ch - rad.darin.ch
