Static Page ID?
Static Page ID?
Für ein Plugin benötige ich die ID der aktuellen Static page. Den Permalink bekomme ich über Smarty $uriargs. Aber die ID nicht. Im Moment behelfe ich mir, indem ich die $uriargs in allen Static pages suche und so die ID herausfinde, aber dass ist irgendwie unsauber und kostet unnötige Rechenzeit.
Ich kriege es nicht raus, obwohl ich schon das ganze Buch durchforstet habe.
Ich kriege es nicht raus, obwohl ich schon das ganze Buch durchforstet habe.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Static Page ID?
Hi!
Wofür brauchst Du denn die ID?
Es geht nicht ohne am staticpage plugin etwas zu patchen. Habe gerade version 3.62 committed die dann $staticpage_pid ausfüllt.
Aber die Frage ist, ob du die ID wirklich brauchst.
Grüße,
Garvin
Wofür brauchst Du denn die ID?
Es geht nicht ohne am staticpage plugin etwas zu patchen. Habe gerade version 3.62 committed die dann $staticpage_pid ausfüllt.
Aber die Frage ist, ob du die ID wirklich brauchst.
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 möchte http://www.enteractive.de (zur Zeit eigenes PHP) in Serendipity überführen. Ich möchte, dass sich das Kopfmenü automatisch aus den (zweisprachigen) Static pages erzeugt. (Zum Ausprobieren mal SERVICE, dann CREATIVE SERVICE anklicken.)
Dazu sind natürlich einige Abfragen nach Eltern- und Kind-Seiten, den gerade selektierten Menüpunkten, etc. nötig. Das lässt sich meiner Meinung nach über die IDs am besten lösen.
Ich habe in der global $serendipity noch was gefunden:
Ich habe nur keine Ahnung, wie ich darauf zugreifen kann (mit Objekten habe ich es nicht so…
) und ob das ein gangbarer, konformer Weg ist.
Dazu sind natürlich einige Abfragen nach Eltern- und Kind-Seiten, den gerade selektierten Menüpunkten, etc. nötig. Das lässt sich meiner Meinung nach über die IDs am besten lösen.
Ich habe in der global $serendipity noch was gefunden:
Code: Select all
[staticpage_plugin] => serendipity_event_staticpage Object
(
[staticpage] => Array
(
[id] => 3
usw.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Ah, okay -- das verstehe ich, ja. Dann müsste der 3.62 patch den ich committed habe ja was für dich sein.
Den weg über das Objekt zu gehen wird nicht so wirklich viel bringen. Sinvoller wäre es da ggf. schon fast eher ein eigene s9y plugin zu schreiben was auch auf die staticpage-datenbanktabelle zugrieft...oder halt das aktuelle staticpage plugin auch zu modifizieren?
Grüße,
garvin
Ah, okay -- das verstehe ich, ja. Dann müsste der 3.62 patch den ich committed habe ja was für dich sein.
Den weg über das Objekt zu gehen wird nicht so wirklich viel bringen. Sinvoller wäre es da ggf. schon fast eher ein eigene s9y plugin zu schreiben was auch auf die staticpage-datenbanktabelle zugrieft...oder halt das aktuelle staticpage plugin auch zu modifizieren?
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/
Neeee, ich modifiziere die Plugins nur ungern (nachher läuft nach dem nächsten Update wieder nix
).
Ich bin ja gerade dabei, ein Plugin zu schreiben, dass dieses Menü erzeugt (und komme dabei gerade ganz schön ins Schwitzen…), die Daten dafür hole ich mir sowieso aus der Datenbank. Die aktuell aufgerufene Seite (die ich für class="current" brauche) steht da aber auch nicht drin.
Dann werde ich jetzt mal ein Update machen.
Vielen Dank für Deine Hilfe!
Ich knie mich jetzt wieder in die Rekursionen…
Ich bin ja gerade dabei, ein Plugin zu schreiben, dass dieses Menü erzeugt (und komme dabei gerade ganz schön ins Schwitzen…), die Daten dafür hole ich mir sowieso aus der Datenbank. Die aktuell aufgerufene Seite (die ich für class="current" brauche) steht da aber auch nicht drin.
Dann werde ich jetzt mal ein Update machen.
Vielen Dank für Deine Hilfe!
Ich knie mich jetzt wieder in die Rekursionen…
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Spartacus führt das erst in 24-48 Stunden, wenn Du's vorher willst kannst Du's aus dem CVS von sourceforge.net/projects/php-blog ziehen (php-blog.cvs.sourceforge.net oder so)
Grüße,
garvin
Spartacus führt das erst in 24-48 Stunden, wenn Du's vorher willst kannst Du's aus dem CVS von sourceforge.net/projects/php-blog ziehen (php-blog.cvs.sourceforge.net oder so)
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/
Vielen Dank nochmal, es funktioniert wunderbar, wenn ich das Ganze als Smarty-Funktion in der config.inc.php baue. Dann lässt sich das Menü in der index.php mitgarvinhicking wrote: Habe gerade version 3.62 committed die dann $staticpage_pid ausfüllt.
Code: Select all
{GenerateMenu selected=$staticpage_pid}
Jetzt möchte ich daraus aber ein Plugin basteln, damit jeder etwas davon hat. Als PHP-Variable liegt die $staticpage_pid ja wohl nicht vor, deshalb versuche ich mit
Code: Select all
$current_id = $serendipity['smarty']['staticpage_pid'];Leider bringt mir das den Fehler Fatal error: Cannot use object of type Smarty as array, obwohl das Plugin nach den StaticPages aufgerufen wird.
Hast Du einen Tipp, wie ich innerhalb eines Plugins die aktuelle id auslese?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Hm, Du könntest es mit $serendipity['smarty']->staticpage_pid probieren, oder $serendipity['smarty']->get('staticpage_pid')?
Grüße,
Garvin
Hm, Du könntest es mit $serendipity['smarty']->staticpage_pid probieren, oder $serendipity['smarty']->get('staticpage_pid')?
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/
Leider nicht.garvinhicking wrote:Hm, Du könntest es mit $serendipity['smarty']->staticpage_pid probieren, oder $serendipity['smarty']->get('staticpage_pid')?
$serendipity['smarty']->staticpage_pid ist leer und
$serendipity['smarty']->get('staticpage_pid') gibt einen Fehler: Fatal error: Call to undefined method Smarty::get()
Woher würde die get-Funktion denn kommen? Muss ich Smarty für das Plugin erstmal aktivieren? Und wenn ja, wie?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Müsstest du mal in der Smarty-Doku nachschlagen, es gibt ne Methode mit der man variablen holt, irgendwas mit *get*
Grüße,
Garvin
Müsstest du mal in der Smarty-Doku nachschlagen, es gibt ne Methode mit der man variablen holt, irgendwas mit *get*
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 war so auf Serendipity gepolt, dass ich gar nicht daran gedacht habe, dass es ja eigentlich um Smarty geht…
Und gleich gefunden:
Stundenlanges Rumprobieren, Suchen und dann das…
Soooooo einfach. Wo ist hier der Smiley, der sich vor den Kopf klatscht?
Wie immer vielen Dank!
Und gleich gefunden:
Code: Select all
$current_id = $serendipity['smarty']->get_template_vars('staticpage_pid');Soooooo einfach. Wo ist hier der Smiley, der sich vor den Kopf klatscht?
Wie immer vielen Dank!