- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ребят, помогите пожалуйста! Я зае#ался уже :)))
В общем имеет систему на смарти. На каждой странице нужно вывести древовидное меню из базы данных. Функция вывода уже имеется и прекрасно работает. Вот она:
Эту функцию нужно внедрить в смарти. Короче, что я пробовал:
Smarty 2:
$smarty->register_function("stree", "ShowTree")
Итог - не работает
Smarty 3:
вообще не знаю как этот механизм задействовать
В общем надо как-то в шаблоне прописать что-то типа {call_function} а в пхп - $smarty->register_function("call_function", "ShowTree"). Но, повторюсь, указанная конструкция в Smarty 2 не работает, а в третьей версии шаблонизатора вообще не воспринимается...
Как быть-то? помогите хто чем может )))
Заранее всем спасибо ))
попробовать не echo, а сделать переменную.
return $some;
а в смарти объявить её в шаблон.
Так она же внутри функции.... тогда static $some? я не понимаю... и чего объявлять? регистрировать саму функцию в смарти, или только эту переменную?
вместо echo:
$listing .= ***;
в конце return $listing
$smarty -> assign ("my_menu", ShowTree($tree, $pid=0))
в шаблон:
{my_menu}
как-то так...
Кошмар! Сделал всё как написано - скрипт просто отрабатывает и всё, никакого меню НЕ появляется :(( сама функция автономно работает прекрасно...
В функции пробовал делать и return и просто echo - похоже смарти пофиг ))))
Думал что он вот такую строчку не воспринимает:
$smarty->assign('MENU' => ShowTree($tree, $pid = 0))
но тогда бы просто была бы ошибка....
mark2011 добавил 28.06.2011 в 08:46
Сейчас даже до такого додумался: у меня было отдельно от функции выборка из БД, я её загнал в функцию, соответственно убрал параметр tree. Думал что заработает.... ни фига подобного :(( хоть бы какую-нибудь ошибочку увидеть, уже легче было бы ориентироваться...
Ребят, помогите пожалуйста! Я зае#ался уже :)))
В общем имеет систему на смарти. На каждой странице нужно вывести древовидное меню из базы данных. Функция вывода уже имеется и прекрасно работает. Вот она:
Эту функцию нужно внедрить в смарти. Короче, что я пробовал:
в пхп функцию передекларируйте как function ShowTree($params, $smarty)
в теле обращения к переменным pid и tree переделайте на $params["pid"] $params["tree"]
для установки значения по умолчанию соотвественно
$smarty в теле использовать нигде не нужно.
вместо echo - собирайте строку, которую нужно будет выводить в переменную и используйте return (хотя эхо по-моему тоже будет работать, не проверял)
в шаблоне:
Немножко не понял сути:
У меня же tree берётся из базы данных...
Немножко не понял сути:
У меня же tree берётся из базы данных...
ну я не знаю откуда у вас берется tree и что оно означает, но в вызове функции, которую вы хотите запихать в смарти, есть переменная tree - function ShowTree($tree, $pid=0) .