![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 6.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Postaram się nie pokręcić czegoś,więc będę pisał powolij.
Ze Smarty jestem już całkiem nieźle obyty, tylko że dotychczas pisałem wszystko proceduralnie. Niedawno zacząłem się zaznajamiać z OOP i na razie nie mam z samymi klasami problemu. Więc o co mi chodzi? Mianowicie, dotychczas jeśli chciałem wyświetlić newsa i komentarze do niego to robiłem tak (kod oczywiście przykładowy):
Może nie jest to modelowe rozwiązanie ale się do niego przyzwyczaiłem. Dzięki temu mogę sobie wstawiać funkcje za pomocą Smarty do html'a gdzie chcę. I teraz nadchodzi problem/właściwe zagadnienie. Narazie nie udało mi się rozgryźć podobnego rozwiązania jeśli idzie o wykożystanie klas. Pierwsze moje rozwiązanie wyglądało tak;
Oczywiście rozwiązanie nie jest zbyt fortunne bo nie poto tworzy się klasy żeby do każdą metodę odpowiedzialną za wyświetlanie czegoś pakować do funkcji. Drugie rozwiązanie też raczej złe :
Tutaj teoretycznie to rozwiązanie mimo wad (rozwalenie indexu na dwie polowy) dalo by radę tylko w polowie. Bo gdybym chcial osadzić obydwie metody w osobnych divach tak jak w pierwszym przykładzie musiałbym nieziemsko kombinować w szablonach. Ale przeciez nie o to chodzi. No i tutaj moja proźba, gyby ktoś mógł wskazać mi drogę która pewnie jest dość oczywista i prosta ale sam jakoś tego nie mogę wykombinować. elo rap ![]() ![]() Ten post edytował Maslav 20.02.2006, 03:41:39 -------------------- generalfailure
fabrykadrobiu*dot*com |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Przypisz sobie utworzone obiekty do szablonu Smarty (assign) i odwołuj się do nich wewnątrz tego szablonu... Oczywiście Twoje klasy (np. News) nie generują same z siebie kodu HTML?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
zgodnie z Manualem SMARTY
Kod The php-function callback impl can be either 1. a string containing the function name 2. an array of the form array(&$object, $method) with &$object being a reference to an object and $method being a string containing the method-name 3. an array of the form array(&$class, $method) with $class being a classname and $method being a class method of that class. Czyli po Polskiemu:
W ten sposób powinno to działać bez zarzutu.... -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 6.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
O faktycznie. To jest rozwiązanie. Dzięki serdeczne.
-------------------- generalfailure
fabrykadrobiu*dot*com |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:12 |