Smarty Forum Index Smarty
The discussions here are for Smarty, a template engine for the PHP programming language.

Funktionen in Template einbauen

 
Post new topic   Reply to topic    Smarty Forum Index -> Language: German
View previous topic :: View next topic  
Author Message
DoT
Smarty n00b


Joined: 28 Mar 2004
Posts: 4

PostPosted: Thu Jul 22, 2004 5:01 pm    Post subject: Funktionen in Template einbauen Reply with quote

Hi,

ich plane ein projekt zu erstellen, das auf zwei arten Links erzeugt, einmal die Normalen foo.php?example=bar und dann via mod_rewrite /bar/ext.

nun ist das linkschema immer gleich, da dachte ich ich könnte das einfach lösen indem ich eine art {link:kategorie;seite} einfüge, dass mir wiederrum eine function auslöst in der überprüft wird ob nun mod_rewrite genutzt wird oder nicht, und mir den entspechenden <a href=""> tag dann in den template output schreibt.

Ist das lösbar und überhaupt verständlich? *g*
Danke für jede hilfe...
Back to top
View user's profile Send private message
messju
Administrator


Joined: 16 Apr 2003
Posts: 3336
Location: Oldenburg, Germany

PostPosted: Thu Jul 22, 2004 5:29 pm    Post subject: Reply with quote

ja, das ist machbar und meiner meinung nach auch eine *sehr* gute idee. (ich mache es nämlich auch so ähnlich Smile )

siehe:
http://smarty.php.net/manual/en/plugins.php
und insbesondere:
http://smarty.php.net/manual/en/plugins.functions.php
Back to top
View user's profile Send private message Send e-mail Visit poster's website
DoT
Smarty n00b


Joined: 28 Mar 2004
Posts: 4

PostPosted: Thu Jul 22, 2004 6:21 pm    Post subject: Reply with quote

hmm die parameterübergabe ist dann wie in der demo
[php:1:6714f6fd8d]{meinefunktion param1=foo param2=bar}[/php:1:6714f6fd8d] ?
Back to top
View user's profile Send private message
messju
Administrator


Joined: 16 Apr 2003
Posts: 3336
Location: Oldenburg, Germany

PostPosted: Thu Jul 22, 2004 7:04 pm    Post subject: Reply with quote

DoT wrote:
hmm die parameterübergabe ist dann wie in der demo?


joa, z.B.:
Code:
<a href="{link kategorie=$irgendwas seite=$auchwas}">...</a>


und in der function hast du dann $params['kategorie'] und $params['seite'] o. ä. .
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kills
Smarty Elite


Joined: 28 May 2004
Posts: 493

PostPosted: Fri Jul 23, 2004 6:22 am    Post subject: Reply with quote

worin besteht der vorteil/unterschied zwischen einem "normalen - Link" und einem "mod_rewrite - Link"?

Welche Vorteile bringt diese Vorgehensweise mit sich?
Back to top
View user's profile Send private message
messju
Administrator


Joined: 16 Apr 2003
Posts: 3336
Location: Oldenburg, Germany

PostPosted: Fri Jul 23, 2004 7:37 am    Post subject: Reply with quote

kills wrote:
worin besteht der vorteil/unterschied zwischen einem "normalen - Link" und einem "mod_rewrite - Link"?


- der link ist "sprechend", ein benutzer kann ihn sich leichter einprägen
- der link abstrahiert von der struktur die darunter liegt: wenn man sich
entscheided die php-files umzustrukturieren, muss man nur seine rewrite-regeln anpassen und alle alten bookmarks bleiben kompatibel.
- angeblich gibt es suchmaschinen die keinen seiten mit get-parametern folgen, oder diese abschneiden: ".../news/artikel1" würde dann richtig inidiziert, ".../index.php?rubrik=news&artikel=1" aber nicht

Quote:
Welche Vorteile bringt diese Vorgehensweise mit sich?


aber egal ob rewrite oder nicht, die vorgehensweise mit der {link}-funktion hat den vorteil, dass man keine konkreten links mehr in den templates hat, sondern nur noch abstrakte. wenn ich mich einmal entscheide von "index.php?rubrik=news.php" auf eine "news.php" umzustellen, muss ich kein einziges templates anfassen, sondern nur die {link} funktion ensprechend anpassen.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kills
Smarty Elite


Joined: 28 May 2004
Posts: 493

PostPosted: Fri Jul 23, 2004 7:57 am    Post subject: Reply with quote

danke für die erläuterung aber ich habs immer noch nicht ganz geblickt Wink

hat jemand von euch nen link zu einem guten Tutorial bzw. einer Doku in der man das genauer nachlesen kann?!

oder könnt ihr mir vielleicht ein link zu einer Beispiel seite zeigen die dieses verfahren verwendet?

Sehen die Links dann so aus wie auf www.esl-europe.net ?

ihr sprecht von dem apache modul mod_rewrite sehe ich das richtig?
Back to top
View user's profile Send private message
messju
Administrator


Joined: 16 Apr 2003
Posts: 3336
Location: Oldenburg, Germany

PostPosted: Fri Jul 23, 2004 8:07 am    Post subject: Reply with quote

kills wrote:
danke für die erläuterung aber ich habs immer noch nicht ganz geblickt Wink

hat jemand von euch nen link zu einem guten Tutorial bzw. einer Doku in der man das genauer nachlesen kann?!

hmm, ich weiss keins, aber google ist dein freund Smile

Quote:
oder könnt ihr mir vielleicht ein link zu einer Beispiel seite zeigen die dieses verfahren verwendet?

Sehen die Links dann so aus wie auf www.esl-europe.net ?


ja.

Quote:
ihr sprecht von dem apache modul mod_rewrite sehe ich das richtig?


ja.

allerdings sprechen wir hier von 2 sachen gleichzeitig:

1. mod_rewrite
2. funktionen im template die einen URL einfügen, statt fest codierter URLs im template

diese beiden sachen sind aber völlig unabhängig voneinander.

vielleicht hat das ein bischen verwirrt.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kills
Smarty Elite


Joined: 28 May 2004
Posts: 493

PostPosted: Fri Jul 23, 2004 8:12 am    Post subject: Reply with quote

dann nochmals danke Wink

aber eine frage hab ich noch:

folgender Beispiellink: http://www.esl-europe.net/de/cs/5on5/mr15/eas/team/195887/

woher weiss der PHP-Interpreter bzw. auch der Webserver welches script hier mit welchen Parametern aufgerufen wird?

Also es könnte ja z.b.
http://www.esl-europe.net/de/index.php?param1=cs¶m2=5on5¶m3=mr15&.....
oder auch:
http://www.esl-europe.net/de/test.php?param1=cs¶m2=5on5¶m3=mr15&.....
oder auch
http://www.esl-europe.net/index.php?param1=de¶m2=cs¶m3=5on5¶m4=mr15&.....
oder auch
http://www.esl-europe.net/index.php?lang=de&game=cs&type=5on5&laddertype=mr15&.....
oder
oder
oder
.
.
.


heisssen
Back to top
View user's profile Send private message
messju
Administrator


Joined: 16 Apr 2003
Posts: 3336
Location: Oldenburg, Germany

PostPosted: Fri Jul 23, 2004 8:34 am    Post subject: Reply with quote

kills wrote:
aber eine frage hab ich noch:

folgender Beispiellink: http://www.esl-europe.net/de/cs/5on5/mr15/eas/team/195887/

woher weiss der PHP-Interpreter bzw. auch der Webserver welches script hier mit welchen Parametern aufgerufen wird?
...


genau das bestimmst du mit deinen rewrite-regeln (RewriteRule im apache).
siehe: http://httpd.apache.org/docs/misc/rewriteguide.html
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kills
Smarty Elite


Joined: 28 May 2004
Posts: 493

PostPosted: Fri Jul 23, 2004 9:01 am    Post subject: Reply with quote

messju wrote:
kills wrote:
aber eine frage hab ich noch:

folgender Beispiellink: http://www.esl-europe.net/de/cs/5on5/mr15/eas/team/195887/

woher weiss der PHP-Interpreter bzw. auch der Webserver welches script hier mit welchen Parametern aufgerufen wird?
...


genau das bestimmst du mit deinen rewrite-regeln (RewriteRule im apache).
siehe: http://httpd.apache.org/docs/misc/rewriteguide.html


alles klar danke,
ich les mich ma schlau Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Smarty Forum Index -> Language: German All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP