SPolischook Posted May 24, 2011 Share Posted May 24, 2011 Переделывал ли то нибудь шаблон вывода товаров в категории? Мне нужно изменить существующий шаблон таким образом чтобы в некоторых категориях товары отображались: Наименование - цена - [купить] Без картинок и краткого описания Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 24, 2011 Share Posted May 24, 2011 Переделывал ли то нибудь шаблон вывода товаров в категории? Мне нужно изменить существующий шаблон таким образом чтобы в некоторых категориях товары отображались: Наименование - цена - [купить] Без картинок и краткого описания именно в некоторых?за вывод товара в категории отвечает product-list.tpl - там удаляешь/комментируешь строки выводящие элементы товарапо поводу некоторых надо подумать - первое что приходит в голову, обернуть вывод картинок и краткого описания в условие по айди категории... но это костыль еще тот Link to comment Share on other sites More sharing options...
SPolischook Posted May 24, 2011 Author Share Posted May 24, 2011 Уже смотрю product-list.tpl. Думаю мы сделаем доп поле в базе данных отвечающее за то каким макаром выводить категорию.Буду шерстить шаблон, хоть со смарти я почти незнаком. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 24, 2011 Share Posted May 24, 2011 Уже смотрю product-list.tpl. Думаю мы сделаем доп поле в базе данных отвечающее за то каким макаром выводить категорию.Буду шерстить шаблон, хоть со смарти я почти незнаком. ничего там сложного нет, я тоже все это "на пальцах" решаю, внутри фигурных скобок операторы смарти, многое по аналогии с пхп, чтобы не наносить непоправимого ущерба закаменти строки выводящие картинку и дескрипшн {* строка *}, собственно прокатят и хтмл каменты, но тогда код попадет в выдачу браузера.Да, флаг в категории лучше всего подходит, но.. с обновлениями.. они вроде бы базу не задевают, короче надо учесть.{* {$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'} *} вот пример, я убрал вывод дескрипшена у себя.По идее вообще можно по флагу инклюдить разные шаблоны товара, но тогда прийдется ковырять контроллер Link to comment Share on other sites More sharing options...
SPolischook Posted May 26, 2011 Author Share Posted May 26, 2011 Ситуация следующая.Проблема вывода шаблона категории согласно флага, решается с помощью условий в файле product-list.tpl: {if $flag_template == 0} Template1 {/if} {if $flag_template == 1} Template2 {/if} Спасибо SergeyH Теперь нужно найти где определить переменную смарти $flag_template. Я через поиск посмотрел что product-list.tpl инклудят только другие tpl, т. е. вложенные шаблоны, что усложняет поиск нужного контроллера. Серж есть идеи? Как найти контроллер? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 26, 2011 Share Posted May 26, 2011 дык.. а ты не летчик (с) ) думал ты кодер)контроллеры лежат в ./Controllersтебе надо взять из базы значение, поместить его в $flag_template, затем что-то вида self::$smarty->assign('flag_template', (int)$flag_template); - это мы "передаем" в шаблон значение переменной пхппосле этого в шаблоне можем использовать $flag_templateделать лучше через переопределение классов http://prestalab.ru/wiki/arxitektura#model тем самым избегая редактирования файлов движкаКакие именно классы/функции отвечают за работы с БД, "не питай" не знаю я и ООП тоже не знаю) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 26, 2011 Share Posted May 26, 2011 ну и вот тебе -волшебная палочка- find project/www/temp/ -print0 | xargs -0 grep --files-with-matches ".tpl" - поиск вхождений элемента, лучше конечно ограничить find маской типа "*.php"это во всяком случае я так разбираю связи в незнакомых скриптах. Link to comment Share on other sites More sharing options...
SPolischook Posted May 26, 2011 Author Share Posted May 26, 2011 Сори, но мне именно нужен контреллер, все остальное я уже опробовал, т.е. есть готовый кусок кода который определяет $flag_template и передает значение в template.tpl, вопрос только в том куда его вставлять. Нужно логически как то до этого дойти. Я перерыл все файлы Престы что содержат строку product-list.tpl, но ни один контроллер этого не имеет, только другие шаблоны. Вот.+ Меня убивает "Принудительная компиляция", когда "Нет" изменения отображаются через минут 15, а если "Да", то сайт грузится минут 15 Я так понимаю что скомпилированные файлы Смарти хранит в /smarty/compile и оттудого их можно спокойно удалять? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 26, 2011 Share Posted May 26, 2011 да, при работе с шаблоном, в любом движке на сматри ставится "принудительно" иначе данные кешируются. 15 мин.. это мы с тобой по поводу сервера-местного-значения общались?) Это не дело, возьми другой тазик под разработку (или на крайняк впс от того же хетзнера)по product-list.tpl, я тоже не нашел, хотел дать тебе готовый путь... и поиск по внутренностям ничего не дает, не могу понять кто именно руководит этим шабом. Это если sors сюда заглянет, сориентирует)по идее можно в любом месте связать переменную пхп со смарти, только это будет говонокод) и делать такое на рабочем продукте видать не стоитП.С. порылся в гугле минут 20, нашел твою тему на англ)) и еще несколько, но явного ответа не получил. Просьба, разберешься в вопросе, мякни сюда, пригодится Link to comment Share on other sites More sharing options...
sors Posted May 27, 2011 Share Posted May 27, 2011 Ставим принудительная рекомпиляция - нетВ smarty.config.inc.php $smarty->compile_check = true;Перекомпилироваться будут только измененные шаблоны.Что вообще за $flag_template? Вы вроде хотели делать шаблон как свойство категории, вот и делайте на примере добавления дополнительного свойства к классу Category http://prestalab.ru/wiki/ispolzovanie-kartinok-so-storonnego-sajtaВ category.tpl добавьте {if $category->flag_template == 1} {include file="$tpl_dir./product-list-1.tpl" products=$products} {else} {include file="$tpl_dir./product-list-2.tpl" products=$products} {/if} Link to comment Share on other sites More sharing options...
SPolischook Posted May 27, 2011 Author Share Posted May 27, 2011 Спасибо Sors, вы гений! Link to comment Share on other sites More sharing options...
SPolischook Posted May 30, 2011 Author Share Posted May 30, 2011 Имел неосторожность опубликовать полное решение в своем блоге ) Link to comment Share on other sites More sharing options...
Recommended Posts