sdi_68 3 Posted May 11, 2014 Report Share Posted May 11, 2014 Добрый день, подскажите ,как сделать вывод содержимого категории различным для разных категорий. Конкретно надо применить разные реализации category_listing.html для разных категорий. Как вариант думал о том ,чтобы в самом файле анализировать какая страница выводится и делать разную реализацию внешнего вида (меняться должен только внешний вид). Например ,анализируя в category_listing.html содержимое {$smarty.server.REQUEST_URI}. Может есть более простое и красивое решение? Link to post Share on other sites
sdi_68 3 Posted May 12, 2014 Author Report Share Posted May 12, 2014 Вроде разобрался. Надо создать новый шаблон в папке category_listing и его прописать категории в админке. Правильно? Link to post Share on other sites
support 447 Posted May 12, 2014 Report Share Posted May 12, 2014 Да. Это шаблон внутренностей категории. А вот как сделать "оболочку" - http://vamshop.ru/manual/ch15s04.html Link to post Share on other sites
sdi_68 3 Posted May 12, 2014 Author Report Share Posted May 12, 2014 Спасибо. Но есть еще вопросы: 1. как можно сделать разный стиль отображения модулей в зависимости от категорий. Например, на главной странице модуль рекомендуемых товаров в виде слайдера ,а на странице категорий - списком товаров. 2. Есть три шаблона рекомендуемых товаров feautured.html, featured_products_category.html, featured_products_default.html. В чем у них разница, как понять ,какой php файл за них отвечает (я что-то не нашел ,кроме ссылки на featured_products_default в feautured.php? 3. Есть ли модуль рекомендуемых товаров с фильтрацией тех товаров ,которые представлены в текущей категории? Заранее благодарен. Link to post Share on other sites
support 447 Posted May 12, 2014 Report Share Posted May 12, 2014 1. Без правки кода никак не получится. По умолчанию нет такого функционала. 2. http://vamshop.ru/manual - там есть описание шаблонов. 3. По умолчанию так и есть, если заходите в категории, а в подкатегориях есть рекомендемые товара, то в блоке Рекомедуемые на странице категории выводятся рекомендуемые и новинки из подкатегорий текущей категории. Link to post Share on other sites
sdi_68 3 Posted May 13, 2014 Author Report Share Posted May 13, 2014 Спасибо. Разбирая feautured.php обнаружил ошибку. Если один и тот же товар присутствуебт в разных категориях (ссылки) ,то он дублируется в модуле рекомендуемых товаров. Мое предложение по исправлению: Вместо $featured_products_query = "SELECT distinct * FROM ".TABLE_PRODUCTS." p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pd.products_id = p.products_id, ".TABLE_FEATURED." f where p.products_id=f.products_id ".$group_check." ".$fsk_lock." and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS; вставляем $featured_products_query = "SELECT * FROM ".TABLE_PRODUCTS." p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pd.products_id = p.products_id, ".TABLE_FEATURED." f where p.products_id=f.products_id ".$group_check." ".$fsk_lock." and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' group by p.products_id order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS; вместо $featured_products_query = "SELECT distinct * FROM ".TABLE_PRODUCTS." p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pd.products_id = p.products_id, ".TABLE_FEATURED." f, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_CATEGORIES." c where c.categories_status='1' and p.products_id = p2c.products_id and p.products_id=f.products_id and p2c.categories_id = c.categories_id ".$group_check." ".$fsk_lock." and c.parent_id = '".$featured_products_category_id."' and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS; вставляем $featured_products_query = "SELECT * FROM ".TABLE_PRODUCTS." p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pd.products_id = p.products_id, ".TABLE_FEATURED." f, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_CATEGORIES." c where c.categories_status='1' and p.products_id = p2c.products_id and p.products_id=f.products_id and p2c.categories_id = c.categories_id ".$group_check." ".$fsk_lock." and c.parent_id = '".$featured_products_category_id."' and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' group by p.products_id order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS; В общем - убираем dictinct (в данном случае он не имеет смысла ,т.к. строки у копий товара разные) и добавляем group by p.products_id (группируем по коду товара). Link to post Share on other sites
support 447 Posted May 13, 2014 Report Share Posted May 13, 2014 Спасибо, внёс правку в текущий код. В том числе и эта правка будет в следующей версии VamShop. Link to post Share on other sites
sdi_68 3 Posted May 18, 2014 Author Report Share Posted May 18, 2014 Добрый день, обнаружил toot проблему. Есть модификатор lower (файл modifier.lower.php). Он не работает с кириллицей. Проблема в функции strtolower ,которая не работает с UTF 8. Возможно таже проблема и с другими модификаторами. Я не проверял. Возможно ,мое решение не оптимально. Предлагаю внести в новый релиз и поправить остальные. /* function smarty_modifier_lower($string) { return strtolower($string); } */ function smarty_modifier_lower($string, $cod = "utf-8") { return mb_strtolower($string, $cod); } TRUNСATE отрабатывет нормально. Link to post Share on other sites
support 447 Posted May 18, 2014 Report Share Posted May 18, 2014 Вообще файлы смарти править не очень хорошо. Лучше завести свой модификатор в /includes/external/smarty/vam_plugins/ Что б не было проблем при обновлении smarty. Link to post Share on other sites
sdi_68 3 Posted May 18, 2014 Author Report Share Posted May 18, 2014 Ок. Спасибо. Link to post Share on other sites
sdi_68 3 Posted May 18, 2014 Author Report Share Posted May 18, 2014 Еще вопрос ,как в popup окне задать размер картинки (шаблон vamshop1)? Сейчас ,как я понял ,изображение выводится в реальном размере. Где смотреть? Link to post Share on other sites
support 447 Posted May 18, 2014 Report Share Posted May 18, 2014 Да вроде нет таких опций. Link to post Share on other sites
sdi_68 3 Posted May 18, 2014 Author Report Share Posted May 18, 2014 То что нет ,я понял. Хорошо буду искать.. Еще столкнулся с тем, что когда поиск по сайту ничего не находит ,то выдается предупреждение: Warning: Cannot modify header information - headers already sent by (output started at W:\home\mysite.ru\www\includes\header.php:37) in W:\home\mysite.ru\www\includes\modules\error_handler.php on line 17 Если в файле error_handler.php убрать строку 17 header('HTTP/1.0 404 Not Found'); то все ОК. Это правильно или нет? На что-то может еще повлиять? Link to post Share on other sites
support 447 Posted May 18, 2014 Report Share Posted May 18, 2014 Правильно. Не повлияет. Link to post Share on other sites
sdi_68 3 Posted May 19, 2014 Author Report Share Posted May 19, 2014 Еще всплыл вопрос. Как можно запретить индексацию части страниц поисковиками. Вручную прописывать в файле meta.php что-то типа этого: вместо: <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> Вставить: if (strstr($PHP_SELF, FILENAME_CHECKOUT) || strstr($PHP_SELF, FILENAME_SC_CHECKOUT_CONFIRMATION) || strstr($PHP_SELF, FILENAME_SHOPPING_CART)) { ?> <meta name="robots" content="noindex,follow" /> <?php } else { ?> <meta name="robots" content="<?php echo META_ROBOTS; ?>" /> <?php } и перечислить все файлы, которые не должны индексироваться. Или есть что-то более красивое? Link to post Share on other sites
support 447 Posted May 19, 2014 Report Share Posted May 19, 2014 Так для этого есть файл /robots.txt Туда добавляйте. Link to post Share on other sites
Recommended Posts