![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
Chciałbym skorzystać ze smarty. Jednak mam problem.
Kiedy następuje wczytanie szablonu tag {menu} powinien zostać zamieniony przez zawartość funkcji menu() jednak po zastosowaniu poniższego kodu nie działa. w pliku menu.php są także skrypty php więc otwieranie fread() mi sie nie opłaca. Proszę o pomoc, z góry dziękuję.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem - to jest smarty? Z tego co wiem smarty inaczej się używa.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
wiem, ale ja sobie napisałem w skrócie, żeby nie ciągnąć się obiektowo
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
...
Ale Smarty używa się obiektowo. Tak to możesz sobie podpiąć każdy szablon. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
oj nie kłóćmy się, wiem o co Ci chodzi.
No to inaczej: jak zamienić {menu} na zawartość funkcji menu()? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem. Szczerze powiem, nie wiem jak to zrobić bezpośrednio (bez ingerencji w kod źródłowy Smarty'ego), ale można inaczej:
Sposób 1: Załóżmy że masz plik index.php i szablon do tego index.tpl. Teraz tak, do pliku menu.php robisz szablon menu.tpl. I tak: index.php
index.tpl
Sposób 2: Wszystko co ma się wyświetlać jako menu przypisujesz do jakiejś zmiennej Smarty i wyświetlasz w szablonie: index.php
menu.php
index.tpl
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jakieś głupie podejście macie do tego. Do szablonów nic innego niż treść/tablica/liczba nie przekażesz, więc cokolwiek Twoja funkcja menu() robi to niech to robi tak żeby zwracać wynik w postaci jednej zmiennej np.
W ten sposób utworzysz podczas działania funkcji ciąg który potem umieszczasz w szablonie za pomocą smarty w sposób zależny od typu zmiennej oczywiście (tablice możesz potraktować foreach'em).
Ten post edytował krowal 18.09.2007, 13:45:08 -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
Postanowiłem że poczytam sobie kurs na temat Smarty an www.gajdaw.pl bo tam includowanie plików jest przedstawione. Ale gdy robię wszystko ok to wyskakuje mi komunikat:
Cytat Warning: Smarty error: unable to read resource: "index.tpl.php" in C:\serwer\htdocs\testy\smarty\libs\Smarty.class.php on line 1095 wszystkie pliki trzymam w jednym folderze a skrypty odpowiedzialne za smart w folderze libs. Tylko dlaczego nie działa skoro powinno ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
krowal => Racja
![]() nitro18 => Szkoda, że się wcześniej nie zabrałeś się za ten kurs. A co do błędu, to najpierw pokaż kod, a potem pogadamy... -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
już wiem o co mu chodzi...
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 22:08 |