Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: синтаксическая ошибка в smarty
Форумы портала PHP.SU » » Вопросы новичков » синтаксическая ошибка в smarty

Страниц (1): [1]
 

1. PATCH - 22 Июля, 2012 - 12:43:38 - перейти к сообщению
15 часов бодровствую , собственно уже голова пухнет и не могу найти де ошибка.

код
PHP:
скопировать код в буфер обмена
  1.         {function name=menu level=0}
  2. {function menu level=0}  
  3.  {if is_array($mas) and count($mas.$parent_id)>0}      
  4.  <ul>
  5. {foreach $mas.$parent_id as $cat}
  6. <li><a href='?cat={$cat.id_cat}'>{$cat.title}</a></li>
  7. {menu mas=$mas parent_id=$parent_id level=$level}
  8. {/foreach}                                  
  9.   {/if}
  10.  </ul>
  11.    {/function}
  12.   {menu mas=$mas parent_id=$parent_id level=$level}


ошибка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template ".\templates\blog.tpl" on line 30 "</div>" unclosed {function} tag' in S:\home\SPM.by\www\lib\sysplugins\smarty_internal_templatecompilerbase.php:621 Stack trace: #0 S:\home\SPM.by\www\lib\sysplugins\smarty_internal_smartytemplatecompiler.php(118): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unclosed {funct...') #1 S:\home\SPM.by\www\lib\sysplugins\smarty_internal_templatecompilerbase.php(171): Smarty_Internal_SmartyTemplateCompiler->doCompile(' ...') #2 S:\home\SPM.by\www\lib\sysplugins\smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Smarty_Internal_Template)) #3 S:\home\SPM.by\www\lib\sysplugins\smarty_internal_templatebase.php(164): Smarty_Internal_Template->compileTemplateSource() #4 S:\home\SPM.by\www\lib\sysplugins\smarty_internal_template.php(285): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #5 S:\h in S:\home\SPM.by\www\lib\sysplugins\smarty_internal_templatecompilerbase.php on line 621

собственно я в шаблон передаю оч многомерный массив а посредством рекурсии формирую многоуровневый список за под уровни отвечает $parent_id , судя по ошибке пишет не закрыл функцию хотя она уже закрыта.
2. PATCH - 23 Июля, 2012 - 11:33:12 - перейти к сообщению
что не у кого даже идей нету?))
3. Viper - 23 Июля, 2012 - 19:26:45 - перейти к сообщению
или я подслеповат стал или ещё чего, но я вижу что у вас открыто 2 функции а закрыта лишь одна.
4. Macka_CMEXA - 23 Июля, 2012 - 22:59:52 - перейти к сообщению

стал читать/учить смарти.. Не понял до сих пор офигаваю как же разбираться в том что написано в ошибке.. хотя английский знаю на достаточном уровне
5. PATCH - 24 Июля, 2012 - 07:01:29 - перейти к сообщению
{function name=menu level=0} а это часом не объявление функции?) ну типо объявляем функцию с именем menu p.s прост не знаю как в smarty функции работают т.е они сначало объявляются или как в php записываются без объвяления)) p.s на офф сайте то имено так было написано)) http://www[dot]smarty[dot]net/docs/en/la[dot][dot][dot]ion[dot]function[dot]tpl , ладно не ломайте голову пошел по обходному пути)

 

Powered by ExBB FM 1.0 RC1