Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SMARTY] Deklaracja zmiennej i jej wyświetlenie - proble
Forum PHP.pl > Forum > Przedszkole
Bezan
Witam,
Moja wiedza o SMARTY na chwilę obecną jest szczątkowa i stoję przed problemem.

Chciałbym dodać na stronie nową zmienną.

Mam pliki *.php i *.tpl z taką samą nazwą.

Do *.php dodałem
CODE
$ilosc=5;


następnie w *.tpl wpisałem
CODE
{$ilosc}


no i niestety nic się nie wyświetla.

Próbowałem także w samym pliku *.tpl zrobić
CODE
<?php
$ilosc=5;
?>


a następnie wywołać
CODE
{$ilosc}

lub

<?php echo $ilosc; ?>


i dalej nic.

Proszę o pomoc jak dodać taką zmienną. Dodam jeszcze, że w tym pliku *.php nie mam żadnych "assign" lub "display" związanych właśnie ze smarty.
nospor
Cytat
Dodam jeszcze, że w tym pliku *.php nie mam żadnych "assign"
No a wlasnie ma byc. Czy tak ciezko przeczytac kawalek dokumentacji?

http://www.smarty.net/manual/en/api.assign.php
http://www.smarty.net/manual/en/api.display.php
piaseq
Cytat(Bezan @ 4.03.2009, 23:38:51 ) *
Dodam jeszcze, że w tym pliku *.php nie mam żadnych "assign" lub "display" związanych właśnie ze smarty.

Właśnie w tym tkwi problem. Poczytaj w dokumentacji smarty o tych funkcjach i na pewno uda Ci się wyświetlić tą zmienną w szablonie.
Na koniec lekki OT, jeżeli dopiero zaczynasz uczyć się Smarty sugeruje przemyślenie nauki OPT. Składnia w dużej części podobna do Smarty, a pod względem możliwości i łatwości używania jest (moim zdaniem) lepszy od smarty.
Bezan
Właśnie chodzi o to, że serwis mam już tak napisany i potrzebuję wprowadzić lekką modyfikację.

Skoro ten assign musi być domyślam się, że w jakimś innym pliku były porobione te przypisania dlatego w *.php ich już nie ma.
piaseq
Cytat(Bezan @ 5.03.2009, 00:01:37 ) *
Skoro ten assign musi być domyślam się, że w jakimś innym pliku były porobione te przypisania dlatego w *.php ich już nie ma.

Na to pytanie możesz odpowiedzieć tylko ty, przeglądając źródła. Bez kodu nikt tu raczej nie wywróży przyczyny twojego problemu. Generalnie, aby zmienna zdefiniowana w pliku .php była dostępna w szablonie .tpl musi zostać przypisana przez assign() lub assign_by_ref().
Bezan
Przeczytawszy kawałek powyższych tutoriali zrobiłem odpowiedni wpis w *.php z assign i działa. Szkoda tylko, że psuję wygląd plików dodające te $smarty->assign('ofert', $ofert); jak pewnie te przypisania są gdzieś smile.gif No ale to będzie zabawa na kolejne dni - odszukanie tego miejsca.

Bardzo dziękuję Wam za pomoc.
piaseq
Cytat(Bezan @ 5.03.2009, 00:21:37 ) *
No ale to będzie zabawa na kolejne dni - odszukanie tego miejsca.

Użyj edytora z opcją wyszukiwania w wielu plikach, pójdzie o wiele szybciej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.