"Мистика" с передачей параметров в Smarty функцию

Есть у меня пользовательская функция fn_get_account_goods_list, которая выводит доп.инфу по товарам. Она может опционально принимать единственный парамер - id товара. Если он не передан - выодится всё.

В общем такая конструкция:
{assign var="accounts_arr" value=fn_get_account_goods_list}
Работает как и положено. В accounts_arr я получаю нужный мне массив.

Если я передаю номер товара явно, например:
{assign var="accounts_arr" value=1008|fn_get_account_goods_list}

То всё тоже отрабатывает, как и нужно. Я получаю массив с данными по указанному товару.

Но как только я пытаюсь передать значение из переменной, например:

{assign var="accounts_arr" value=$id|fn_get_account_goods_list}
или
{assign var="accounts_arr" value=$product_id|fn_get_account_goods_list}

То оно вроде как отрабатывает, но вся вёрстка накрывается медным тазом. См. скрин:
http://joxi.ru/p27Ljl8IoaQJ5A

Ничего не понимаю. Вообще. Как такое возможно? Кто виноват и что делать? :slight_smile:

такое бывает, когда неожиданно ошибка вылезает и прекращается выполнение скрипта
я в этом случае тупо вставляю в функцию fn_print_r(“1”); сначала в середину, потом сдвигаю: если выводит единичку - ниже, не выводит - выше
так нахожу место на котором все обрывается
кстати, а в логе ошибок сервера ничего не написано?

Лог ничего путного не дал. С учётом того, что модуль мой - переписал его почти полностью. Заодно пошустрее в 3 раза стал работать. Теперь ошибки нет. В чём было дело - так и не понял.