[SMARTY] - gecachte & dynamische Inhalte

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [SMARTY] - gecachte & dynamische Inhalte

    Hallo,

    nachdem ich mit Hilfe der Forensuche nicht fündig geworden bin, habe ich mich entschieden einen neuen Thread zu eröffnen, da auch Google mich nicht wirklich weitergebracht hat.

    Ich hoffe ihr könnt mir helfen. Ich setze die Templating Engine Smarty ein.

    Ich möchte in einer gecachten Seite zusätzlich dynamischen Inhalt einbinden, da $cache_lifetime auf 3600 Sekunden eingestellt ist. Diese Einstellung ist für den größten Teil der Seite auch angemessen, da sich lediglich einige Userinformationen dynamisch verändern.

    Jetzt sehe ich entweder die Möglichkeit die Informationen über das {insert name="..."} Tag in das Template einzubinden und dazu eine passende insert-Funktion zu schreiben, oder das ganze mit den register Methoden zu bewerkstelligen. Allerdings liegt genau da das Problem. Ich komme mit diesem Abschnitt der Dokumentation nicht zurecht. Könnte mir eventuell jemand ein paar Links zu diesem Thema schicken?

    Oder gibt es vielleicht eine elegantere Lösung als extra eine Funktion zu schreiben. Muss ich für alle dynamischen Inhalte eine eigene Funktion schreiben oder gibt es die Möglichkeit eine einzige zu benutzen?

    Vielen Dank im Vorraus,
    redcaps

  • #2
    Schau dir doch mal das {dynamic} Kapitel in der Smarty Doc an ;-)

    Kommentar


    • #3
      Unterschied zwischen register_block() und register_function()

      Ich habe mich heute nochmal mit der Online Dokumentation befasst und bin auch ein gutes Stück voran gekommen. (Heute morgen war ich doch schon ganz schön müde, da lässt die Konzentration schnell mal nach.)

      In meinem Template-File verwende ich nun folgende Syntax:

      PHP-Code:
      {dynamic name='test'
      In meinem Skript habe ich folgende Funktion implementiert:

      PHP-Code:
      $smarty->register_function('dynamic''smarty_dynamic'false);

      function 
      smarty_dynamic($params, &$smarty)
      {
          switch(
      $params['name'])
          {
              case 
      'test':
                  return 
      'Ausgabe';
                  break;

              
      /* usw. */
          


      Gibt es eine elegantere Lösung?

      Was bringt mir die Funktion register_block? Was habe ich davon eine solche Blockstruktur in mein Template einzubinden? Sorry, ich stehe da wohl gerade ein Bisschen auf dem Schlauch. Wäre nett, wenn mir jemand helfen könnte.

      Vielen Dank schonmal,
      redcaps

      Kommentar

      Lädt...
      X