Категории |
Выделяем новые товары на разных страницахВЫДЕЛЯЕМ НОВИНКИ! <?php /* --------------------------------------------------------------------------- Можно указывать картинку для разных языков Для этого заменить new.png на new_'.$_SESSION['language'].'.png А картинки называть так - new_ru.png или new_us.png где ru и us это код языка --------------------------------------------------------------------------- */ function smarty_modifier_new_product($pID) { $result = ""; if (MAX_DISPLAY_NEW_PRODUCTS_DAYS != '0') { $date_new_products = date("Y.m.d", mktime(1, 1, 1, date(m), date(d) - MAX_DISPLAY_NEW_PRODUCTS_DAYS, date(Y))); $days = " p.products_date_added > '".$date_new_products."' "; $products_new_query_raw = "select products_id from ".TABLE_PRODUCTS." p WHERE ".$days." AND p.products_id='$pID'"; $products_new_query = os_db_query($products_new_query_raw); if(os_db_num_rows($products_new_query) > 0) $result = '<img src="'._HTTP.'themes/'.CURRENT_TEMPLATE. '/img/new.png" alt="Новинки" />'; } return $result; } ?> После этого, например, в файл /themes/шаблон/module/product_listing/product_listing_columns.html Добавляем в любое место(в цикле foreach) {$module_data.PRODUCTS_ID|new_product} Ну, и закидываем себе картинку в шаблон в папку img. В данном случае картинка называется new.png ----------------------------------------------------------------------------------------------------------------------- ВЫДЕЛЯЕМ РЕКОМЕНДУЕМЫЕ! Идем в папку /includes/lib/smarty/plugins/ Создаем там файл modifier.featured_product.php такого содержания <?php function smarty_modifier_featured_product($pID) { $result = ""; $products_featured_query_raw= "select p.products_id from ".TABLE_PRODUCTS." p, ".TABLE_FEATURED." f where p.products_status = '1' and f.products_id = p.products_id and f.status = '1' and p.products_id='$pID'"; $products_featured_query = os_db_query($products_featured_query_raw); if(os_db_num_rows($products_featured_query) > 0) $result = '<img src="'._HTTP.'themes/'.CURRENT_TEMPLATE. '/img/new.png" alt="РЕКОМЕНДУЕМ" />'; return $result; } ?> После этого, например, в файл /themes/шаблон/module/product_listing/product_listing_columns.html Добавляем в любое место(в цикле foreach) {$module_data.PRODUCTS_ID|featured_product} ----------------------------------------------------------------------------------------------------------------------- ВЫДЕЛЯЕМ БЕСТСЕЛЛЕРЫ! Идем в папку /includes/lib/smarty/plugins/ Создаем там файл modifier.bestsellers.php такого содержания <?php function smarty_modifier_bestsellers($pid) { $result = ""; // Настроить products_ordered > 0 - где 0 поставить то число, от которого товар будет считаться самым продаваемым $bsQuery = os_db_query(" SELECT products_id, products_status, products_ordered FROM ".TABLE_PRODUCTS." WHERE products_id=".(int)$pid." AND products_ordered > 0 AND products_status = '1' LIMIT 1 "); if(os_db_num_rows($bsQuery) > 0) $result = '<img src="'._HTTP.'themes/'.CURRENT_TEMPLATE. '/img/new.png" alt="Лучший товар" />'; return $result; } ?> Есть нюанс! В запросе установлено products_ordered > 0. Т.е. если товар вообще купили. Вместо нуля нужно установить то число, после которого считать товар бестселлером. Потому как сейчас вывод Хит продаж! будет у любого товара который купили хоть один раз. По этому нужно установить число, например 50 или 100. И тогда товар будет считаться действительно продаваемым. Но, так как не все магазины раскручены и товары продаются "пачками", то 10 или 20 вполне будет достаточно После этого, например, в файл /themes/шаблон/module/product_listing/product_listing_columns.html Добавляем в любое место(в цикле foreach) {$module_data.PRODUCTS_ID|bestsellers} Если нужна картинка, то делаем по аналогии с выделением новинок. Как-то не понятно работает. Как сделать, чтобы возле картинки нового продукта появлялась new.png? написано же - вставить {$module_data.PRODUCTS_ID|new_product} я вставляю {$module_data.PRODUCTS_ID|new_product} в любое место в product_listing_columns.html. Можешь написать куда лучше вставить? В этом файле найти <th colspan="2"><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></th> вставил возле {if $module_data.PRODUCTS_IMAGE} и теперь все как нужно. Спасибо!!! Так можно в любые файлы, где есть списки товаров. NeBox, подскажи. Возможно ли сделать, чтобы выделялись другие товары? Т.е. выделять товары не просто дешевые, а именно "уцененные"? На обычный товар. Ну смотри просто товар, на него нет никаких скидок. хм. ну так не получиться просто хаком сделать. Чет и не соображу как реализовать такое без ковыряния кучи файлов. хм. ну так не получиться просто хаком сделать. Чет и не соображу как реализовать такое без ковыряния кучи файлов. Может кто из спецов, что-то посоветует? Во-первых, выделить где? Во-вторых, выделить как? Если, например, хотим выделить добавлением яркой картинки в списке товаров, то надо изменять шаблон списка. Если товаров немного, можно прямо в шаблоне прописать условие на ID товаров. Если же хотите настраивать это в админке, то работы побольше требуется. Надо создавать для этого свое поле или использовать дополнительные поля (или даже атрибуты). Если способ выделять товар более сложный, то, вероятно, отдельный шаблон потребуется... Как раз имелось ввиду выделение из админки(наверно)) Ковырять файл ради выделения нескольких товаров - не очень удобно в любом случае. я понял, что придется многое переделать(( Это проще, не надо в админке ничего делать. Обновил первый топик. Добавил выделение для рекомендуемых товаров. Супер, работает! Спасибо. накладывалась сверху чего? сверху, допустим, картинки товара или всего блока с товаром? сверху картинки товара, спасибо. А шаблон какой? Там надо именно под конкретный шаблон делать. шаблон парадиз. Скажите пожалуйста почему у меня вместо картинки показывается надпись NEW? Может пути к картинке не правильные, или вообще картинки нет в нужной папке. А можно выделять новинки только которые на главной Получилось вставить картинку "Рекомендованные" в списке категории. Но никак не получается вставить картинку "Рекомендуем!" на странице самого товара. Какой код нужно вставлять? {$module_data.PRODUCTS_ID|featured_product} почему-то не работает. :( {$PRODUCTS_ID|featured_product} - может так. {$PRODUCTS_ID|featured_product} - может так. Просто гениально! Все работает! Хотел бы еще спросить нельзя ли реализовать картинки для товаров Хитов продаж"? Готов заплатить за такой мод! Очень срочно нужен! В первом топике добавлено выделение бестселлеров (Лучшие товары) Подскажите пожалуйста как картинку для рекомендуемых добавить? По принципу новинок не получается( Если делаю по аналогии с новинками картинка new появляется, хотя я меняю путь <?php define(IMAGE_PATH,'themes/'.CURRENT_TEMPLATE. '/img/fetured.png'); function smarty_modifier_featured_product($pID) { $products_featured_query_raw= "select p.products_id from ".TABLE_PRODUCTS." p, ".TABLE_FEATURED." f where p.products_status = '1' and f.products_id = p.products_id and f.status = '1' and p.products_id='$pID'"; $products_featured_query = os_db_query($products_featured_query_raw); if(os_db_num_rows($products_featured_query) > 0) $ret = "<img src=\"".IMAGE_PATH."\" alt='Рекомендуем' />"; return $ret; } ?> :-\ Неужели никто не делал? Попробуйте так: <?php define(IMAGE_PATH2,'themes/'.CURRENT_TEMPLATE. '/img/fetured.png'); function smarty_modifier_featured_product($pID) { $products_featured_query_raw= "select p.products_id from ".TABLE_PRODUCTS." p, ".TABLE_FEATURED." f where p.products_status = '1' and f.products_id = p.products_id and f.status = '1' and p.products_id='$pID'"; $products_featured_query = os_db_query($products_featured_query_raw); if(os_db_num_rows($products_featured_query) > 0) $ret = "<img src=\"".IMAGE_PATH2."\" alt='Рекомендуем' />"; return $ret; } ?> grig! спасибо огромное. Работает! <?php function smarty_modifier_featured_product($pID) { $products_featured_query_raw= "select p.products_id from ".TABLE_PRODUCTS." p, ".TABLE_FEATURED." f where p.products_status = '1' and f.products_id = p.products_id and f.status = '1' and p.products_id='$pID'"; $products_featured_query = os_db_query($products_featured_query_raw); if(os_db_num_rows($products_featured_query) > 0) $ret = '<img src="'._HTTP.'themes/'.CURRENT_TEMPLATE. '/img/fetured.png" alt="Рекомендуем" />'; return $ret; } ?> вот так не будет конфликтов вообще. нужно будет поправить все. Спасибо! То есть и в новинках и в рекомендуемых так сделать? только пути поменять? да. обновил первый топик |
|