Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Смарти не должен получать всю базу. Он должен получать только информацию относящуюся к конкретной странице. Конечно можно выводить не все, но не один процент же от всех данных.
HEm
Вопрос вполне обоснованный и у меня он когда-то тоже возник. Спрашивается зачем по несколько раз крутить циклы
1 раз для получения массива значений из базы
2 раз для вывода в Smarty
Неэкономно получается.
Решается проблема написанием собственной insert функции, которой в параметре передается результат запроса
{insert name="section_db" loop=$result}
либо правкой Smarty для создания конструкции вида
{section_db loop=$result}...{/section_db}
Предпочтительней конечно второе. Только вот почему разработчики этого еще не сделали:-?
>Предпочтительней конечно второе.
>Только вот почему разработчики этого еще не сделали:-?
потенциальные ошибки в *_fetch_* тоже Смарти должен обрабатывать?
и должен ли Смарти уметь доставить данные из dbf ? а из MSSQL ?
дальше продолжать? =)
> Только вот почему разработчики этого еще не сделали:-?
потому, что если смарти будет знать о базах данных, то связаность резко повысится, и о разделинии логик можно забыть, так же как и о самом смарти.
А причем тут БД если мы например юзаем унифицированный апи? Запихнули бы Smarty в PEAR и для работы конструкции
{section_db} обязали бы пользовать PEAR:B...
Проблема тут одна и о ней сказал tony2001 "потенциальные ошибки в *_fetch_* "
Но мне кажется ради удобства можно было бы пренебречь обработкой ошибок в *_fetch_*, ИМХО хватит проверки на
!DB::isError($result) and $result->numRows()
для передачи $result на раскрутку Smarty.
-~{}~ 25.05.04 17:48:
Автор оригинала: Demiurg sokol
что делает твой инсерт?
>Запихнули бы Smarty в PEAR и для работы конструкции
>{section_db} обязали бы пользовать PEARB...
я вот, например не люблю пользоваться "универсальными" абстракт леерами, но мне нравится смарти. Если меня обяжут, то я буду сильно растроен и скорее всего перестану пользоваться смарти. Может лучша наоборот, обязать всех, кто пользуется PEAR использовать смарти ? Или лучше объявить конфигурацию PHP + mysql + smarty единственной возможной и забыть про всё остальное ?
sokol, ты вызываешься сделать всю эту работу? сделать версию смарти, плотно сопряженную с PEAR?
Или, что гораздо более вероятно, поноешь тут пару недель и топик утухнет
sokol
ты считал сколько теряется на двойных циклах ? Я нет. И не замечал я за смарти сильных тормозов. А если включить кэширование ? Еще раз повторяю, смарти должен получать данные а не ссылки на базы данных. Если мне захочется изменить всем базам данных и все хранить в файлах мне придется все шаблоны переписывать ?