2016-03-10 4 views
0

Я получаю синтаксическую ошибку из этого следующего мира кода с использованием шаблона smarty. Как я могу это исправить?smarty foreach database fetch_assoc

Примечание: Попытка получить свойство необъектных

{foreach from=autoLoader::getLibrary('database')->assoc("SELECT * FROM cms_news") item=news} 

Я пытаюсь смотреть через Mysqli функции FETCH_ASSOC.

public function assoc($queryText) { 
     return $this->query($queryText)->fetch_assoc(); 
    } 
+0

'Smarty' - это шаблонный движок; он используется для отображения вывода вашего приложения. База данных - это форма настойчивости. Вывод и настойчивость не имеют причин появляться в одном и том же предложении (некоторые приложения даже не реализуют настойчивость). Не смешивайте их. Обращайтесь с персистентностью из кода PHP, получите некоторые данные, отправьте их Smarty для отображения. Не добавляйте логику приложения в шаблоны. – axiac

ответ

1

Держите вещи просто, не пытайтесь вызвать функцию из шаблона, вместо этого, в вашем PHP скрипт присвоить результаты в переменной и передать эту переменную Smarty. Создание запроса в шаблоне - плохая практика

Смежные вопросы