Отображение картинка Новинка на странице продуктаВсе это проверено и работает в указанных шаблонах. Но логично возникает вопрос отображения картинка
Новинка в шаблоне
product_detailed.tpl.html, т.е на странице продукта. Если сделать по аналогии, то работать корректно не будет.
Поскольку в шаблон передаются
данные разных форматов, а это уже приводит к непредсказуемым результам. Картинка
новинка отображалась в тех продуктах, где её не должно быть.
Это происходит потому, что в файле
product_detailed.php происходит выборка из БД данных о продукте с обработкой
функцией GetProduct( $productID), в которой дата переводится в формат, который отличен от используемого в категории и результатах поиска в переменной $date_point.
Для того, чтобы у Вас все работало, необходимо преобразовать обратно в формат аналогичный в переменной $date_point, т.е "Y-m-d H:i:s"
Для этого создаем функцию например, такого рода:
// add function change dateformat for compare with $data_point - for display flag NEW PRODUCT on product page
function convertDateNew($date) {
$dformat = "Y-m-d H:i:s";
$date = @date($dformat, strtotime($date));
return $date;
}
и размещаем её в конце файла
datetime_functions.php директории core/functions/
Затем необходимо объявить переменные в файле product_detailed.php для их вывода и обработки в шаблоне
product_detailed.tpl.html
например, после строки: $smarty->assign("product_info", $a);
вставляем следующее: $smarty->assign("old_date_added", convertDateNew($a["date_added"]));
$point_date = date('Y-m-d H:i:s', strtotime('-1 week'));
$smarty->assign("point_date", $point_date);
Затем для отображения на сайте, вставляем в шаблон в необходимое Вам место:
{if $old_date_added > $point_date}
{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$special_offers[i].productID}.html{else}index.php?productID={$special_offers[i].productID}{/if}
{/if}
Обратите внимание, что в указанном коде произведена замена переменной для шаблона
product_detailed.tpl.html:
Замена: {if $product_info.date_added > $point_date}
На: {if $old_date_added > $point_date}
Теперь обновите файлы на сервере, сбросьте кеш и смотрите. Должно отображаться правильно.
Обращаю внимание, что вывод картинки Новинка - это пример и вывод можно делать и без ссылки или просто заменить на текст Новинка и украсить средствами CSS, как душе угодно.
Конечно лучше всегда хранить формат даты в БД в UNIX формате, который удобнее сравнивать и потом манипулировать его выводом, но в данном случае выбирать не приходится из-за изначальной реализации скрипта магазина, поэтому пришлось делать к примеру, так как написано.