';
//вывод описания текущей категории
if (! empty($result["text"]))
{
echo '
'.$result["text"].'
';
}
//вывод изображений текущей категории
if (! empty($result["img"]))
{
echo '';
}
//вывод подкатегории
if (! empty($result["children"]))
{
foreach ($result["children"] as $child)
{
echo '';
//вывод изображений подкатегории
if (! empty($child["img"]))
{
echo '
';
}
//название и ссылка подкатегории
echo '
'.$child["name"].'';
//краткое описание подкатегории
if ($child["anons"])
{
echo '
'.$child["anons"].'
';
}
echo '
';
}
}
//вывод сортировки товаров
if (! empty($result["link_sort"]) && ! empty($result["rows"]))
{
echo ''.$this->_('ORDER_BY').': '.$this->_('PRICE').' ';
if ($result["link_sort"][1])
{
echo '
▲';
}
else
{
echo '
▲';
}
if ($result["link_sort"][2])
{
echo '
▼ ';
}
else
{
echo '
▼ ';
}
echo $this->_('NAME_GOOD');
if ($result["link_sort"][3])
{
echo '
▲';
}
else
{
echo '
▲';
}
if ($result["link_sort"][4])
{
echo '
▼';
}
else
{
echo '
▼';
}
echo '
';
}
//вывод списка товаров
if (! empty($result["rows"]))
{
//мои правки
echo "";
$nnn=1;
foreach ($result["rows"] as $row)
{
echo '';
//вывод названия и ссылки на товара
echo '';
echo ' '.$row["name"].'';
//рейтинг товара
if (! empty($row["show_rating"])) echo ' '.$row["show_rating"];
echo ' ';
//вывод артикула
if (! empty($row["article"])) {
echo '';
echo $this->_('ARTICLE').':'; //вывод слова "Артикул" из языковой переменной
echo ''.$row["article"].'';
echo ' ';
}
echo ' | ';
//вывод изображений товара
if (! empty($row["img"]))
{
echo '';
}
echo ' | ';
echo '';
//вывод параметров товара
if (! empty($row["param"]))
{
self::param($row["param"]);
}
//вывод скидки на товар
if (! empty($row["discount"]))
{
echo ' '.$this->_('DISCOUNT').': '.$row["discount"].' %'.($row["discount_finish"]?' (до '.$row["discount_finish"].')':'').' ';
}
//вывод краткого описания товара
if (! empty($row["anons"]))
{
echo ''.$row["anons"].' ';
}
//цена на товар
if (empty($row["depend"]) && ! empty($row["price"]))
{
echo ''.$this->_('PRICE').': '.$row["price"].' '.$result["currency"].' ';
if (! empty($row["old_price"]))
{
echo ''.$this->_('OLD_PRICE').': '.$row["old_price"].''
.' '.$result["currency"].' ';
}
}
//вывод кнопки "Купить"
self::form($row, $result);
echo ' | ';
//мои правки
if ($nnn%3==0) echo " |
"; else echo " | ";
$nnn++;
}
echo '';
//мои правки
echo " |
";
}
//вывод комментариев ко всей категории товаров (комментарии к конкретному товару в функции id())
if (! empty($result["comments"]))
{
echo $result["comments"];
}
//постраничная навигация
if (! empty($result["paginator"]))
{
echo $result["paginator"];
}
//ссылки на предыдущую и последующую категории
if (! empty($result["previous"]) || ! empty($result["next"]))
{
echo '';
if (! empty($result["previous"]))
{
echo '
';
}
if (! empty($result["next"]))
{
echo '
';
}
echo '
';
}
echo '';
return TRUE;
}
/**
* Функция вывода первой страницы магазина, где все категории и несколько товаров из каждой категории
*
* @param array $result сгенерированные в моделе данные
* @return boolean
*/
public function first_page($result)
{
if (empty($result["categories"]))
return FALSE;
//начало большого цикла, вывод категорий и товаров в них
foreach ($result["categories"] as $cat_id => $cat)
{
echo '';
//вывод названия категории
echo '
'.$cat["name"].'
';
//вывод изображений категории
if (! empty($cat["img"]))
{
echo '
';
}
//краткое описание категории
if (! empty($cat["anons"]))
{
echo '
'.$cat["anons"].'
';
}
//подкатегории
if (! empty($cat["children"]))
{
foreach ($cat["children"] as $child)
{
echo '
';
//изображения подкатегории
if (! empty($child["img"]))
{
echo '
';
}
//название и ссылка подкатегории
echo '
'.$child["name"].'';
//краткое описание подкатегории
if (! empty($child["anons"]))
{
echo '
'.$child["anons"].'
';
}
echo '
';
}
}
//вывод товаров в категории
if (! empty($cat["rows"]))
{
foreach ($cat["rows"] as $row)
{
echo '
';
//вывод названия и ссылки на товар
echo '';
echo ' '.$row["name"].'';
//рейтинг товара
if (! empty($row["show_rating"])) echo ' '.$row["show_rating"];
echo ' ';
//вывод артикула товара
if (! empty($row["article"])) {
echo '';
echo $this->_('ARTICLE').':'; //вывод слова "Артикул" из языковой переменной
echo ''.$row["article"].'';
echo ' ';
}
echo ' |
';
//вывод изображений товара
if (! empty($row["img"]))
{
echo '';
}
echo ' | ';
echo '';
//вывод параметров товара
if (! empty($row["param"]))
{
self::param($row["param"]);
}
//вывод скидки на товар
if (! empty($row["discount"]))
{
echo ' '.$this->_('DISCOUNT').': '.$row["discount"].' %'.($row["discount_finish"]?' (до '.$row["discount_finish"].')':'').' ';
}
//вывод краткого описания товара
if (! empty($row["anons"]))
{
echo ''.$row["anons"].' ';
}
//вывод цены на товар
if (empty($row["depend"]) && ! empty($row["price"]))
{
echo ''.$this->_('PRICE').': '.$row["price"].' '.$result["currency"].' ';
if (! empty($row["old_price"]))
{
echo ''.$this->_('OLD_PRICE').': '.$row["old_price"].''
.' '.$result["currency"].' ';
}
}
//вывод кнопки "Купить"
self::form($row, $result);
echo ' |
';
}
}
//ссылка на все товары в категории
if ($cat["link_all"])
{
echo '
';
}
echo '
';
}
return TRUE;
}
/**
* Функция оформления страницы отдельного товара
*
* @param array $row данные о товаре
* @return boolean true
*/
public function id($row)
{
echo '';
//вывод артикула
if (! empty($row["article"]))
{
echo ' '.$this->_('ARTICLE').': '.$row["article"].' ';
}
//вывод изображений товара
if (! empty($row["img"]))
{
echo '';
}
//вывод рейтинга товара
if (! empty($row["show_rating"]))
{
echo "Рейтинг: ";
echo $row["show_rating"];
echo '
';
}
//вывод формы оценки товара
if (! empty($row["add_rating"]))
{
echo $row["add_rating"];
}
echo ' | ';
//вывод цены товара
if (empty($row["depend"]) && ! empty($row["price"]))
{
echo ' '.$this->_('PRICE').': '.$row["price"].' '.$row["currency"].' ';
if (! empty($row["old_price"]))
{
echo ''.$this->_('OLD_PRICE').': '.$row["old_price"].''
.' '.$row["currency"].' ';
}
}
//скидка на товар
if (! empty($row["discount"]))
{
echo ''.$this->_('DISCOUNT').': '.$row["discount"].' %'.($row["discount_finish"]?' (до '.$row["discount_finish"].')':'').' ';
}
//кнопка "Купить"
self::form($row, $row);
//параметры товара
if (! empty($row["param"]))
{
self::param($row["param"]);
}
//краткое описание товара
if ($row['anons'])
{
echo ''.$row['anons'].' ';
}
//полное описание товара
echo ''.$row['text'].' ';
//теги товара
if (! empty($row["tags"]))
{
echo $row["tags"];
}
echo ' |
';
//комментарии к товару
if (! empty($row["comments"]))
{
echo $row["comments"];
}
//ссылки на предыдущий и последующий товар
if (! empty($row["previous"]) || ! empty($row["next"]))
{
echo '';
if (! empty($row["previous"]))
{
echo '
';
}
if (! empty($row["next"]))
{
echo '
';
}
echo '
';
}
//похожие товары
if (! empty($row["rel_goods"]))
{
echo ''.$this->_('REL_GOODS').'
';
foreach ($row["rel_goods"] as $rel_row)
{
echo '
';
//вывод названия и ссылки на товара
echo '';
echo ' '.$rel_row["name"].'';
//рейтинг товара
if (! empty($rel_row["show_rating"])) echo ' '.$rel_row["show_rating"];
echo ' ';
//вывод артикула
if (! empty($rel_row["article"])) {
echo '';
echo $this->_('ARTICLE').':'; //вывод слова "Артикул" из языковой переменной
echo ''.$rel_row["article"].'';
echo ' ';
}
echo ' |
';
//изображения товара
if (! empty($rel_row["img"]))
{
echo '';
}
echo ' | ';
echo '';
// параметры товара
if (! empty($rel_row["param"]))
{
self::param($rel_row["param"]);
}
//скидка на товар
if (! empty($rel_row["discount"]) && !empty($row['discount']))
{
echo ' '.$this->_('DISCOUNT').': '.$row["discount"].' %'.($row["discount_finish"]?' (до '.$row["discount_finish"].')':'').' ';
}
//краткое описание товара
if (! empty($rel_row["anons"]))
{
echo ''.$rel_row["anons"].' ';
}
//цена на товар
if (empty($rel_row["depend"]) && ! empty($rel_row["price"]))
{
echo ''.$this->_('PRICE').': '.$rel_row["price"].' '.$row["currency"].' ';
if (! empty($rel_row["old_price"]))
{
echo ''.$this->_('OLD_PRICE').': '.$rel_row["old_price"].''
.' '.$row["currency"].' ';
}
}
//кнопка "Купить"
self::form($rel_row, $row);
echo ' |
';
}
echo '
';
}
return TRUE;
}
/**
* Оформление блока товаров, выводимых тегом show_block module=shop
*
* @param array $result сгенерированные в моделе данные
* @return boolean
*/
public function show_block($result)
{
if (empty($result["rows"]))
{
return FALSE;
}
echo '';
//заголовок блока
if (! empty($result["name"]))
{
echo '
'.$result["name"].'
';
}
//товары в разделе
if (! empty($result["rows"]))
{
foreach ($result["rows"] as $row)
{
echo '
';
//название и ссылка товара
echo '
';
//изображения товара
if (! empty($row["img"]))
{
echo '
';
}
//артикул
if (! empty($row["article"]))
{
echo '
'.$this->_('ARTICLE').': '.$row["article"].'
';
}
// параметры товара
if (! empty($row["param"]))
{
self::param($row["param"]);
}
//краткое описание товара
if (! empty($row["anons"]))
{
echo '
'.$row["anons"].'
';
}
//цена на товар
if (empty($row["depend"]) && ! empty($row["price"]))
{
echo '
'.$this->_('PRICE').': '.$row["price"].' '.$result["currency"].'
';
if (! empty($row["old_price"]))
{
echo '
'.$this->_('OLD_PRICE').': '.$row["old_price"].''
.' '.$result["currency"].'
';
}
}
//скидка на товар
if (! empty($row["discount"]))
{
echo '
'.$this->_('DISCOUNT').': '.$row["discount"].' %'.($row["discount_finish"]?' (до '.$row["discount_finish"].')':'').'
';
}
//кнопка "Купить"
self::form($row, $result);
echo '
';
}
}
//ссылка на все товары
if (! empty($result["link_all"]))
{
echo '
';
}
echo '
';
return TRUE;
}
/**
* Шаблонная функция: форма поиска по товарам
*
* @param array $result сгенерированные в моделе данные
* @return boolean true
*/
public function show_search($result)
{
echo '';
echo '
';
echo '
'.$this->_('SEARCH_GOODS').'
';
echo '
';
echo '
';
return TRUE;
}
/**
* Шаблон вывода кнопки "Купить", в котором характеристики, влияющие на цену выводятся в виде выпадающего списка
*
* @param integer $row данные о товаре
* @param array $result сгенерированные в моделе данные
* @return boolean
*/
private function form($row, $result) {
if (!$result["buy"])
return FALSE;
if(empty($row['price']) && empty($row['depend']))
return FALSE;
if ($row["no_buy"] || !$row["count"] && !$row["depend"]) {
echo '' . $this->_('NO_BUY') . '
';
return FALSE;
}
echo '
';
return TRUE;
}
/**
* Шаблон вывода кнопки "Купить", в котором каждой характеристике, влияющей на цену выведена отдельная кнопка "Купить"
*
* @param integer $row данные о товаре
* @param array $result сгенерированные в моделе данные
* @return boolean
*/
private function form_($row, $result)
{
if (! $result["buy"])
return FALSE;
if ($row["no_buy"] || ! $row["count"] && ! $row["depend"])
{
echo ''.$this->_('NO_BUY').'
';
return FALSE;
}
//print_r($result);
//print_r($row);
if ($row["depend"])
{
$depends = $result["depends"][$row["depend"]["param_id"]];
foreach ($row["depend"]["rows"] as $r)
{
echo '';
}
}
else
{
echo '
';
}
return TRUE;
}
/**
* Шаблон вывода параметров товара
*
* @param array $params параметры
* @return boolean true
*/
private function param($params)
{
foreach ($params as $param)
{
echo ''.$param["name"];
if ($param["value"])
{
echo ':
';
if (! empty($param["link"]))
{
echo ''.$param["value"].'';
}
elseif (is_array($param["value"]))
{
foreach ($param["value"] as $p)
{
if ($param["value"][0] != $p)
{
echo ', ';
}
if (is_array($p))
{
if ($p["link"])
{
echo ''.$p["name"].'';
}
else
{
echo $p["name"];
}
}
else
{
echo $p;
}
}
}
else
{
echo $param["value"];
}
echo '';
}
echo '
';
}
return TRUE;
}
}