Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [smarty_compiler][rozwiazane]obsluga lancucha obiektow, {$a->getX()->getY()....} [patch]
Sh4dow
post
Post #1





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


czy ktos probowal przerabiac moze metode kompilujaca szablony aby obslugiwal "łańcuchy" (IMG:http://forum.php.pl/style_emoticons/default/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.

Ten post edytował Sh4dow 10.07.2007, 09:55:34
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 19:53