Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Smarty] Array to string conversion
Kubus
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.11.2004

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


Witam,

Od jakiegos czasu wali mi bledami "Array to string conversion" w Smarty.class.php linijka 1688

  1. <?php
  2. function _run_mod_handler()
  3. {
  4. $_args = func_get_args();
  5. list($_modifier_name, $_map_array) = array_splice($_args, 0, 2);
  6. list($_func_name, $_tpl_file, $_tpl_line) =
  7. $this->_plugins['modifier'][$_modifier_name];
  8.  
  9. $_var = $_args[0];
  10. foreach ($_var as $_key => $_val) {
  11. $_args[0] = $_val;
  12. $_var[$_key] = call_user_func_array($_func_name, $_args);
  13. }
  14. return $_var;
  15. }
  16. ?>


to dokladnie linijka

  1. <?php
  2. $_var[$_key] = call_user_func_array($_func_name, $_args);
  3. ?>


Zaktualizowalem biblioteki do najnowszej wersji i to nic nie dalo, wczesniej tego bledu nie mialem.

Blad pojawia sie przy uzywaniu {section} i wyskakuje tyle razy, ile razy wykonuje sie ta petla.
To moja wina, czy smartiego?
Wywalilem na chwile wszystkie moje modyfikatory, default_modifiers, przejrzalem kod konfiguracyjny smartiego i nic zlego tam nie ma (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kubus
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.11.2004

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


Jak znajde wolna chwile, to jeszcze popatrze, moze cos surowego postawie zeby wyeliminowac sprawe serwera i php...

Witam,

Uporalem sie z bledem, okazalo sie, ze to default_modifiers

  1. <?php
  2. $smarty -> default_modifiers = array ("stripslashes", "trim");
  3. ?>


Przy kazdej petki section wywalalo blad, bo smarty stosowal te funkcje rowniez do tablic, ale stworzylem wlasne

  1. <?php
  2. function smarty_array_stripslashes ($text) {
  3. if (is_array ($text))
  4. return $text;
  5. else
  6. return stripslashes ($text);
  7. }
  8.  
  9. function smarty_array_trim ($text) {
  10. if (is_array ($text))
  11. return $text;
  12. else
  13. return trim ($text);
  14. }
  15. ?>


i tak dziala

  1. <?php
  2. $smarty -> default_modifiers = array ("smarty_array_stripslashes", "smarty_array_trim");
  3. ?>


Jest jakies inne prostsze rozwiazanie? (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)


Dla nie wiedzacych - zeby zmiana default_modifiers zadzialala, nalezy wyczyscic skompilowane szablony z katalogu templates_c (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował Kubus 11.05.2007, 14:29:26
Go to the top of the page
+Quote Post

Posty w temacie


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.10.2026 - 03:08