Skocz do zawartości

Jak wykonać kod PHP w .tpl


Bielack

Rekomendowane odpowiedzi

Koleżanki i koledzy - jak zaczął dzisiaj swoje wystąpienie Anusiak.

Ściągnąłem dzisiaj kopię dmoza w wersji DWodp Live. Fajnie to wygląda, więc postanowiłem sobie postawić kopię czy dwie... I wszystko było by dobrze, gdyby nie jeden, mały drobiazg: otóż chciałem wstawić przez include kawałeczek kodu wyświetlający moje linki. I niestety - nie udało mi się to. Powodem jest szablon oparty na plikach *.tpl, a w nich kod nie jest wykonywany. po długich poszukiwaniach w G. udało mi się znaleźć pewną wskazówkę na forum php.pl:

jeżeli chcesz w tpl umieścić PHP, a potem kod wykonać, to parsując szablon wykonaj w eval kod zawarty pomiędzy <?php a ?>

Moje pytanie brzmi: w jaki sposób mogę uruchomić funkcję Eval dla mojego kodu? Kod nie jest mój, to kod który udostępnił na Forum Sylwin:

<?php
//Separator oddzielający linki
$separator = ", ";
//Ilość losowo wyświetlanych linków
$ile = 5;

$linki = file("linki.txt");
$ilelinki=count($linki);
$i=0;
while($i<$ile){
$losuj = rand(0, $ilelinki-1);
$link = trim($linki[$losuj]);
if ($i == $ile -1) {
$separator = '';
}
if(!eregi($link,$dane)){
$dane .= $link.$separator;
$i++;
}
}
echo$dane;
?>

A może jest jakiś inny, prosty sposób na wykonanie kodu php w szablonach na *.tpl? Będę bardzo wdzięczny za wskazówki.

pozdrowienia

Dla tych, co lubią zdjęcia planet: Planety i ich zdjęcia, dla tych, co lubią katalogi stron: Podwójny katalog stron. Albo Idź do diabła.

Odnośnik do komentarza
Udostępnij na innych stronach

... mozesz takze wykonac go w pliku index.php i przypisac do smarty...

O, to ciekawe. Gdy wstawię ten kod do pliku index.php to rzecz jasna działa, ale jest albo przed <html> albo po </html>. W jaki sposób mogę przypisać do smarty coś, co się wykonuje w index.php?

pozdrowienia

Dla tych, co lubią zdjęcia planet: Planety i ich zdjęcia, dla tych, co lubią katalogi stron: Podwójny katalog stron. Albo Idź do diabła.

Odnośnik do komentarza
Udostępnij na innych stronach

mozesz sie wyniesc do własciwego działu? (php &mysql)

Trochę informacji o mnie i kontakt: Leszek Wolany

Jedyny: Magazyn Marketingu w Wyszukiwarkach SEM Specialist

Droga do efektywnej pracy - Najlepszy system oparty o Getting Things Done - nozbe.com Teraz także po Polsku, z aplikacją na iPhone i iPada

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję Wam za sugestie. Niestety, kod jaki produkuję nie chce zaskoczyć. Za każdym razem przeglądarka pokazuje mi błąd

Fatal error: Call to a member function on a non-object in dwodp\index.php on line 56

W linii 56 mam

$smarty->assign('linki', $linki);

Gdy postępuję zgodnie ze wskazówkami Ludwika, kod błędu jest identyczny, tyle, że mam "dane" zamiast "linki" w kodzie.

pozdrowienia

Dla tych, co lubią zdjęcia planet: Planety i ich zdjęcia, dla tych, co lubią katalogi stron: Podwójny katalog stron. Albo Idź do diabła.

Odnośnik do komentarza
Udostępnij na innych stronach

Uruchomiłeś w ogóle smarty ? :placze:

<?php
// NOTE: Smarty has a capital 'S'
require_once('Smarty.class.php');
$smarty = new Smarty();
?>

https://smarty.php.net/manual/en/installing.smarty.basic.php

musi być: stworzenie $smarty, przypisanie zmiennej i wyświetlenie - musisz powiedzieć, z którego pliku korzystać:

$smarty->display('index.tpl');

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności