20. März 2007

Externe Inhalte in Smarty Templates einbinden

Wie bindet man Scripte und Texte von externen Domains in Smarty Templates ein?
Dafür gibt es unterschiedliche Ansätze.

Externes PHP-Scripte können so eingebunden werden:

{php}
   include ("http://www.domain.de/script.php");
{/php}



Natürlich können auch Variablen an das externe Script übergeben werden.
Externes PHP Script mit Variable $title aus dem Smarty Template:

{php}
  $keywords =& $this->get_template_vars('title');
  include ("http://www.domain.de/script.php?parameter=$keywords");
{/php}



Ein Textfile kann einfach eingebunden werden, wenn 'fopen wrappers' in PHP erlaubt ist:

{php}
   $content=file_get_contents("http://www.domain.de/textfile.txt");
   echo $content;
{/php}


Sollte aber 'fopen wrappers' in PHP deaktiviert sein, muss über Umwege die Datei geholt werden. Zum Beispiel mit CURL:

{php}
  $URL = "http://www.domain.de/textfile.txt";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,$URL);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  $content = curl_exec($ch);
  unset($ch);
  echo $content;
{/php}

SEO News

Verwandte Beiträge


4 Kommentare

1. Webagentur Mozilla Firefox Windows schrieb am 19. August 2008 um 08:11

Nett erklärt … Wie kann ich ein kleines Template, in das Haupt-Template integrieren?

2. Axel Konqueror Linux schrieb am 19. August 2008 um 12:30

ganz einfach mit:
{include file="kleineTemplate.html"}

3. fLYer Mozilla Firefox Windows schrieb am 11. März 2010 um 17:05

eine frage bleibt für mich trotzdem noch offen: können zwischen den php-tags geschweifte klammern verwendet werden? vielen dank für ihre antworten!

4. Axel Konqueror Linux schrieb am 11. März 2010 um 19:17

Ja, es können zwischen den PHP-Tags geschweifte Klammern genutzt werden. Was nicht geht, sind die Smartytags.

Schreibe einen Kommentar

Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>