(Narazie nie zamiejszczam wszystkich definicji klas ponieważ to zazwyczaj odstrasza od dalszego czytania)
Mam klasę która ma taki oto nagłówek
class ormcollection implements SeekableIterator, ArrayAccess, Countable
oraz kawałek kodu który zwraca obiekt tej klasy (linijka 1.) oraz ładuje do odpowiedniej sekcji w templatce (linijka 2.)
$data = configurator::finder()->getAll(); $this->view->assign('configurator', $data);
obiekt $data (klasa ormcollection) przechowywuje w prywatnej tablicy obiekty klasy configurator, które odzwierciedlają poszczególne rekordy w bazie danych
class configurator extends orm { public $name; public $active = 0; public function __construct(){ parent::__construct('configurator'); } return parent::finder($className); } }
Teraz templatka wygląda do tego banalnie
{section=configurator} {$configurator.name} {/section}
... ale nic nie generuje ... więc dla sprawdzenia czy działa iteracja i są pobierane dane wrzuciłem pare linijek do testu
$data = configurator::finder()->getAll(); foreach($data as $r){ } } $this->view->assign('configurator', $data);
z wynikiem
string(7) "foreach" string(10) "Deskorolki" string(10) "Deskorolki" string(12) "Poduszkowiec" string(12) "Poduszkowiec" string(3) "for" string(10) "Deskorolki" string(10) "Deskorolki" string(12) "Poduszkowiec" string(12) "Poduszkowiec"
Iteracja działa i zwraca wyniki ale nie w OPT, aby upewnić się, że samo OPT działa wykonałem taki test
rezultat
pieskot
Test co prawda na tablicach ale przynjmniej wiem, że przekazuje zmienne. Moje podejżenie jest takie, że w ormcollection brakuje jakiegoś dodatkowego interfejsu ale nie potrafię powiedzieć jakiego bo ze wszystkimi obecnymi pętle for i foreach działąją bez problemu.
Czy ktoś ma może jakiś pomysł ?