![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od razu zaznaczam, że przeszukiwałem 4 godziny google i wszystkie możliwe fora, aby znaleźć rozwiązanie mojego problemu jednak z żadnym efektem. Problem jest dość banalny, ale nie mam już żadnego pomysłu jak go rozwiązać. 1. Piszę w Zend Frameworku a widok mam pisany z użyciem Smarty. Mam następujący problem (maksymalnie upraszczam i wyrywam z kontekstu): Kontroller: Kod //wybieramy wszystkie kategorie z bazy danych i przesylamy do widoku $category = new Shopcategory(); $this->view->category = $category->fetchAll(NULL, NULL, NULL, NULL); Widok: Kod //wyświetlamy kategorie dwa razy tą samą pętlą foreach {foreach from=$category item=category name=category} Zmienna ma wartość: {$category->name} {/foreach} {foreach from=$category item=category name=category} Zmienna ma wartość: {$category->name} {/foreach} Tak! To są dwie takie same pętle. Wykonuje się tylko pierwsza, każda kolejna nie. Wcześniej, gdy używałem języka PHP w widoku (przed zainstalowaniem smarty) wszystko działało ślicznie, pętla powtarzała się tyle razy, ile chciałem. Kod foreach($this->category as $category) : echo 'Zmienna ma wartość: '. $category->name .' '; endforeach; foreach($this->category as $category) : echo 'Zmienna ma wartość: '. $category->name .' '; endforeach; Moje pytanie brzmi: Jak zmusić drugą pętlę foreach w smarty do tego, żeby się wykonała od początku? Czego próbowałem: 1. {assign var=$smarty.foreach.category.index value=0} - wartość się nie zmienia w żadnym momencie [ani w pętli, ani poza nią]. 2. {php} Działający kod PHP {/php} - wyrzuca błąd 3. Wstawienie w kontrolerze do każdego przedmiotu z osobna tablicy z całą listą kategorii (wyrzuca błędy, bardzo nieeleganckie rozwiązanie). Nie będę na razie się za bardzo rozpisywał, bo coś czuję, że rozwiązanie tego problemu jest banalnie proste, tylko ja raczkuję w Smarty.. W oryginale jest to jedna zagnieżdżona pętla, która ma się wyświetlać tyle samo razy, ile jest wyświetlonych przedmiotów jako menu do zmiany kategorii owego przedmiotu. Pozdrawiam i będę rad za wskazówkę ... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jak każesz skryptowi zapisywać każdy element kategorii do zmiennej przechowującej listę kategorii, tym samym kasując jej pierwotną zawartość, to takie są efekty. To jest równoważne z napisaniem:
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
._.
Dziękuję za pomoc - pomogło. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:03 |