czy ktos probowal przerabiac moze metode kompilujaca szablony aby obslugiwal "łańcuchy" questionmark.gif
Kod
{$a->getX()->getY()}

Wczesniej tego nie zauwazylem, a zabawa z tym zeby robic w szablonie:
Kod
{assign var=obj value=$a->getX()}
{$obj->getY()}

mnie wogole nie bawi bo to nie jest rozwiazanie.
Jesli jeszcze nikt tego nie robil to bede musial chyba sie sam tym zajac.


[Edit]
Ok po 2 dniowych poszukiwaniach nareszcie nadazyla sie okazja rozwiazac ten problem
zamieniamy linie cos okolo 164 w pliku Smarty_Compiler.class.php:
  1. <?php
  2. $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?)';
  3. ?>


na linie:
  1. <?php
  2. $this->_obj_call_regexp = '(?:' . $this->_dvar_regexp . '(?:(?:' . $this->_obj_ext_regexp . ')+' . '(?:' . $this->_obj_params_regexp . ')?)*)';
  3. ?>


Na chwile obecna dziala z wieloma "łańcuchami"
Nie gwarantuje ze smarty jest w 100% kompatybilne z wersje przed zmiana. Testowalem na testowych szablonach i nie bylo problemow.