Визуальное оформление недавно добавленных товаров — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
С помощью не сложных манипуляций, для товара, добавленного на сайте в какой-то промежуток времени, допустим в последние две недели, можно поставить флаг "Новинка". Делается это следующим образом:
 
С помощью не сложных манипуляций, для товара, добавленного на сайте в какой-то промежуток времени, допустим в последние две недели, можно поставить флаг "Новинка". Делается это следующим образом:
 
В типе данных товара (модуль Шаблоны данных) добавляется поле "Дата добавления" с идентификатором '''publish_time'''. В результате чего, при добавлении товара, в новое поле будет автоматически записываться текущее время. Далее в файл classes/modules/custom.php, после слов TODO..., добавим небольшой кастомный макрос:
 
В типе данных товара (модуль Шаблоны данных) добавляется поле "Дата добавления" с идентификатором '''publish_time'''. В результате чего, при добавлении товара, в новое поле будет автоматически записываться текущее время. Далее в файл classes/modules/custom.php, после слов TODO..., добавим небольшой кастомный макрос:
Строка 16: Строка 18:
 
%custom newobject(%publish_time%)%
 
%custom newobject(%publish_time%)%
 
</pre>
 
</pre>
[[Категория:Модуль Каталог]]
+
[[Категория:Модуль Каталог]][[Категория:Написание кастомных макросов]]

Версия 10:59, 5 июня 2013

Актуально для версии 2.9

С помощью не сложных манипуляций, для товара, добавленного на сайте в какой-то промежуток времени, допустим в последние две недели, можно поставить флаг "Новинка". Делается это следующим образом: В типе данных товара (модуль Шаблоны данных) добавляется поле "Дата добавления" с идентификатором publish_time. В результате чего, при добавлении товара, в новое поле будет автоматически записываться текущее время. Далее в файл classes/modules/custom.php, после слов TODO..., добавим небольшой кастомный макрос:

public function newobject($time_add){
if(!$time_add) return "";
// Временной интервал в две недели
$interval = 60*60*24*14;
// Прошедшее время, с момента добавления товара
$begin_time = time() - $time_add;
if($begin_time < $interval) return "Новинка";
}

Для tpl шаблонов, вызов макроса можно прописать в блоках objects_block_line и view_block следующим образом:

%custom newobject(%publish_time%)%