Дополнительные свойства для элементов
<?php
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1['shop_groups_id'];
if ($value1['shop_groups_id'] == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="' . SITE_CODING . '"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
{
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
//$having_count = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >=' . $price_from;
//$having_count .= ' AND item_price_absolute >=' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <=' . $price_to;
//$having_count .= ' AND item_price_absolute <=' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
//$element['sufix'] = $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
?>
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1['shop_groups_id'];
if ($value1['shop_groups_id'] == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="' . SITE_CODING . '"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
{
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
//$having_count = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >=' . $price_from;
//$having_count .= ' AND item_price_absolute >=' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <=' . $price_to;
//$having_count .= ' AND item_price_absolute <=' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
//$element['sufix'] = $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
?>
<?xml version="1.0" encoding="windows-1251"?>
<shop id="7" current_group_id="0">
<user_id>0</user_id>
<name>каталог площадок</name>
<description></description>
<path>/shop/</path>
<site_id>1</site_id>
<shop_image_small_max_width>300</shop_image_small_max_width>
<shop_image_big_max_width>800</shop_image_big_max_width>
<shop_image_small_max_height>300</shop_image_small_max_height>
<shop_image_big_max_height>800</shop_image_big_max_height>
<structure_id>42</structure_id>
<shop_country_id>175</shop_country_id>
<shop_currency id="0">
</shop_currency>
<all_currency>
<shop_currency id="1">
<shop_currency_name>руб.</shop_currency_name>
<shop_currency_international_name>RUR</shop_currency_international_name>
<shop_currency_value_in_basic_currency>1.000000</shop_currency_value_in_basic_currency>
<shop_currency_is_default>1</shop_currency_is_default>
<shop_currency_coefficient>1</shop_currency_coefficient>
</shop_currency>
<shop_currency id="2">
<shop_currency_name>&euro;</shop_currency_name>
<shop_currency_international_name>EUR</shop_currency_international_name>
<shop_currency_value_in_basic_currency>36.889479</shop_currency_value_in_basic_currency>
<shop_currency_is_default>0</shop_currency_is_default>
<shop_currency_coefficient>0.027108000088589</shop_currency_coefficient>
</shop_currency>
<shop_currency id="3">
<shop_currency_name>$</shop_currency_name>
<shop_currency_international_name>USD</shop_currency_international_name>
<shop_currency_value_in_basic_currency>23.639664</shop_currency_value_in_basic_currency>
<shop_currency_is_default>0</shop_currency_is_default>
<shop_currency_coefficient>0.042301785676818</shop_currency_coefficient>
</shop_currency>
</all_currency>
<shop_order_status id="1">
<shop_order_status_name>В обработке</shop_order_status_name>
<shop_order_status_description></shop_order_status_description>
</shop_order_status>
<shop_mesures id="18">
<shop_mesures_name>мест</shop_mesures_name>
<shop_mesures_description>мест</shop_mesures_description>
</shop_mesures>
<shop_shops_send_order_mail_admin>1</shop_shops_send_order_mail_admin>
<shop_shops_send_order_mail_user>1</shop_shops_send_order_mail_user>
<shop_shops_admin_mail>zakaz@spbbanket.com</shop_shops_admin_mail>
<sallers>
</sallers>
<item id="194" group="0">
<captcha_key>23614</captcha_key>
<name>Солнце</name>
<show_count>57</show_count>
<saller>0</saller>
<marking_of_goods></marking_of_goods>
<description></description>
<date>22.06.2009</date>
<datetime>22.06.2009 07:14:27</datetime>
<time>07:14:27</time>
<putoff_date>22.06.2009 07:14:27</putoff_date>
<putend_date>00.00.0000 00:00:00</putend_date>
<text><p>Ресторан итальянской кухни<span style="margin-right: 0.3em"> </span> <span style="margin-left: -0.3em">&laquo;Солнце</span>&raquo;, расположенный в&nbsp;самом сердце Петербурга, в&nbsp;нескольких шагах от&nbsp;набережной Фонтанки и&nbsp;Невского проспекта, встретит вас&nbsp;великолепной итальянской кухней, прекрасным обслуживанием и&nbsp;ненавязчивой атмосферой.</p>
<p>Комфортный, элегантный интерьер ресторана идеален и&nbsp;для&nbsp;свиданий, и&nbsp;для&nbsp;деловых встреч. Ненавязчивая атмосфера, внимательные официанты, негромкая музыка и&nbsp;очень мягкое освещение&nbsp;&mdash; любая, даже очень уставшая женщина выглядит здесь ухоженной красоткой. Бежево-золотистая гамма спокойного интерьера отвлечет от&nbsp;городской суеты и&nbsp;позволит расслабиться. Интерьер прекрасно дополняют зеркала в&nbsp;дорогих рамах, белый рояль в&nbsp;центре зала, уютные диваны lounge-зоны, огромные окна, выходящие на&nbsp;тихую улицу, и&nbsp;оригинальная люстра в&nbsp;центре зала, символизирующая собой солнце.</p>
<p>В ресторане есть два&nbsp;зала, которые подходят для&nbsp;проведения как&nbsp;небольших банкетов, так&nbsp;и&nbsp;для&nbsp;мероприятий с&nbsp;количеством гостей до&nbsp;100 человек.</p>
<p>Меню бизнес-ланча, представленное в&nbsp;нашем ресторане, обновляется каждый день.</p>
<p>Итальянская кухня ресторана сочетает в&nbsp;себе традиционные и&nbsp;оригинальные блюда. Широкий выбор настоящей домашней пасты, разнообразных салатов, около 10 видов пиццы из&nbsp;тончайшего теста с&nbsp;хрустящей корочкой, итальянские мясные и&nbsp;овощные деликатесы не&nbsp;оставят равнодушным ни&nbsp;одного гурмана. Винная карта, состоящая из&nbsp;тщательно подобранных вин&nbsp;Италии, прекрасно дополнит вкус блюд.</p>
<p>Приходите в&nbsp;наш&nbsp;ресторан и&nbsp;мы&nbsp;подарим вам&nbsp;кусочек теплого итальянского солнца даже в&nbsp;самый пасмурный день!</p></text>
<image width="800" height="532">/upload/shop_7/item_catalog_194/shop_items_catalog_image194.jpg</image>
<small_image width="300" height="199">/upload/shop_7/item_catalog_194/small_shop_items_catalog_image194.jpg</small_image>
<type>0</type>
<weight>0</weight>
<weight_mesure>мест</weight_mesure>
<rest>20</rest>
<mesure></mesure>
<shop_tax_id>0</shop_tax_id>
<price>1500.00</price>
<price_tax>1500.00</price_tax>
<price_discount>1500.00</price_discount>
<item_currency>руб.</item_currency>
<currency></currency>
<is_active>1</is_active>
<order>0</order>
<path>solntse</path>
<fullpath></fullpath>
<seo_title></seo_title>
<seo_description></seo_description>
<seo_keywords></seo_keywords>
<indexation>1</indexation>
<vendorCode></vendorCode>
<property id="140" dir_id="0" xml_name="type_place">
<name>Тип площадки</name>
<xml_name>type_place</xml_name>
<type>0</type>
<order>0</order>
<prefics></prefics>
<value>Ресторан</value>
</property>
<property id="134" dir_id="0" xml_name="rayon">
<name>Район города</name>
<xml_name>rayon</xml_name>
<type>0</type>
<order>1</order>
<prefics></prefics>
<value>Центральный</value>
</property>
<property id="133" dir_id="0" xml_name="metro">
<name>Ближайшая станция метро</name>
<xml_name>metro</xml_name>
<type>3</type>
<order>2</order>
<prefics></prefics>
<value>Садовая</value>
</property>
<property id="137" dir_id="0" xml_name="adres">
<name>Адрес</name>
<xml_name>adres</xml_name>
<type>0</type>
<order>3</order>
<prefics></prefics>
<value>улица Ломоносова д.14</value>
</property>
<property id="136" dir_id="0" xml_name="min_price">
<name>Минимальная стоимость банкетного меню на персону</name>
<xml_name>min_price</xml_name>
<type>0</type>
<order>4</order>
<prefics></prefics>
<value>1500</value>
</property>
<property id="135" dir_id="0" xml_name="zalov">
<name>Количество посадочных мест</name>
<xml_name>zalov</xml_name>
<type>0</type>
<order>5</order>
<prefics></prefics>
<value>50/20</value>
</property>
<property id="138" dir_id="0" xml_name="light_sound">
<name>Наличие звукового и светового оборудования</name>
<xml_name>light_sound</xml_name>
<type>0</type>
<order>6</order>
<prefics></prefics>
<value>есть</value>
</property>
<property id="139" dir_id="0" xml_name="parking">
<name>Парковка</name>
<xml_name>parking</xml_name>
<type>0</type>
<order>7</order>
<prefics></prefics>
<value>нет</value>
</property>
<property id="141" dir_id="0" xml_name="foto1">
<name>фото1</name>
<xml_name>foto1</xml_name>
<type>1</type>
<order>10</order>
<prefics></prefics>
<value>photo2.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_141.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_141.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="142" dir_id="0" xml_name="foto2">
<name>фото2</name>
<xml_name>foto2</xml_name>
<type>1</type>
<order>11</order>
<prefics></prefics>
<value>photo3.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_142.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_142.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="143" dir_id="0" xml_name="foto3">
<name>foto3</name>
<xml_name>foto3</xml_name>
<type>1</type>
<order>12</order>
<prefics></prefics>
<value>photo5.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_143.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_143.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="144" dir_id="0" xml_name="foto4">
<name>foto4</name>
<xml_name>foto4</xml_name>
<type>1</type>
<order>13</order>
<prefics></prefics>
<value>photo7.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_144.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_144.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="145" dir_id="0" xml_name="foto5">
<name>foto5</name>
<xml_name>foto5</xml_name>
<type>1</type>
<order>14</order>
<prefics></prefics>
<value>photo8.jpg</value>
<file_path width = "510" height = "768">/upload/shop_7/item_catalog_194/shop_property_file_194_145.jpg</file_path>
<small_image>
<file_path width = "199" height = "300">/upload/shop_7/item_catalog_194/small_shop_property_file_194_145.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="146" dir_id="0" xml_name="foto6">
<name>foto6</name>
<xml_name>foto6</xml_name>
<type>1</type>
<order>15</order>
<prefics></prefics>
<value>photo9.jpg</value>
<file_path width = "510" height = "768">/upload/shop_7/item_catalog_194/shop_property_file_194_146.jpg</file_path>
<small_image>
<file_path width = "199" height = "300">/upload/shop_7/item_catalog_194/small_shop_property_file_194_146.jpg</file_path>
<value></value>
</small_image>
</property>
<shop_special_prices>
</shop_special_prices>
</item>
</shop>
<shop id="7" current_group_id="0">
<user_id>0</user_id>
<name>каталог площадок</name>
<description></description>
<path>/shop/</path>
<site_id>1</site_id>
<shop_image_small_max_width>300</shop_image_small_max_width>
<shop_image_big_max_width>800</shop_image_big_max_width>
<shop_image_small_max_height>300</shop_image_small_max_height>
<shop_image_big_max_height>800</shop_image_big_max_height>
<structure_id>42</structure_id>
<shop_country_id>175</shop_country_id>
<shop_currency id="0">
</shop_currency>
<all_currency>
<shop_currency id="1">
<shop_currency_name>руб.</shop_currency_name>
<shop_currency_international_name>RUR</shop_currency_international_name>
<shop_currency_value_in_basic_currency>1.000000</shop_currency_value_in_basic_currency>
<shop_currency_is_default>1</shop_currency_is_default>
<shop_currency_coefficient>1</shop_currency_coefficient>
</shop_currency>
<shop_currency id="2">
<shop_currency_name>&euro;</shop_currency_name>
<shop_currency_international_name>EUR</shop_currency_international_name>
<shop_currency_value_in_basic_currency>36.889479</shop_currency_value_in_basic_currency>
<shop_currency_is_default>0</shop_currency_is_default>
<shop_currency_coefficient>0.027108000088589</shop_currency_coefficient>
</shop_currency>
<shop_currency id="3">
<shop_currency_name>$</shop_currency_name>
<shop_currency_international_name>USD</shop_currency_international_name>
<shop_currency_value_in_basic_currency>23.639664</shop_currency_value_in_basic_currency>
<shop_currency_is_default>0</shop_currency_is_default>
<shop_currency_coefficient>0.042301785676818</shop_currency_coefficient>
</shop_currency>
</all_currency>
<shop_order_status id="1">
<shop_order_status_name>В обработке</shop_order_status_name>
<shop_order_status_description></shop_order_status_description>
</shop_order_status>
<shop_mesures id="18">
<shop_mesures_name>мест</shop_mesures_name>
<shop_mesures_description>мест</shop_mesures_description>
</shop_mesures>
<shop_shops_send_order_mail_admin>1</shop_shops_send_order_mail_admin>
<shop_shops_send_order_mail_user>1</shop_shops_send_order_mail_user>
<shop_shops_admin_mail>zakaz@spbbanket.com</shop_shops_admin_mail>
<sallers>
</sallers>
<item id="194" group="0">
<captcha_key>23614</captcha_key>
<name>Солнце</name>
<show_count>57</show_count>
<saller>0</saller>
<marking_of_goods></marking_of_goods>
<description></description>
<date>22.06.2009</date>
<datetime>22.06.2009 07:14:27</datetime>
<time>07:14:27</time>
<putoff_date>22.06.2009 07:14:27</putoff_date>
<putend_date>00.00.0000 00:00:00</putend_date>
<text><p>Ресторан итальянской кухни<span style="margin-right: 0.3em"> </span> <span style="margin-left: -0.3em">&laquo;Солнце</span>&raquo;, расположенный в&nbsp;самом сердце Петербурга, в&nbsp;нескольких шагах от&nbsp;набережной Фонтанки и&nbsp;Невского проспекта, встретит вас&nbsp;великолепной итальянской кухней, прекрасным обслуживанием и&nbsp;ненавязчивой атмосферой.</p>
<p>Комфортный, элегантный интерьер ресторана идеален и&nbsp;для&nbsp;свиданий, и&nbsp;для&nbsp;деловых встреч. Ненавязчивая атмосфера, внимательные официанты, негромкая музыка и&nbsp;очень мягкое освещение&nbsp;&mdash; любая, даже очень уставшая женщина выглядит здесь ухоженной красоткой. Бежево-золотистая гамма спокойного интерьера отвлечет от&nbsp;городской суеты и&nbsp;позволит расслабиться. Интерьер прекрасно дополняют зеркала в&nbsp;дорогих рамах, белый рояль в&nbsp;центре зала, уютные диваны lounge-зоны, огромные окна, выходящие на&nbsp;тихую улицу, и&nbsp;оригинальная люстра в&nbsp;центре зала, символизирующая собой солнце.</p>
<p>В ресторане есть два&nbsp;зала, которые подходят для&nbsp;проведения как&nbsp;небольших банкетов, так&nbsp;и&nbsp;для&nbsp;мероприятий с&nbsp;количеством гостей до&nbsp;100 человек.</p>
<p>Меню бизнес-ланча, представленное в&nbsp;нашем ресторане, обновляется каждый день.</p>
<p>Итальянская кухня ресторана сочетает в&nbsp;себе традиционные и&nbsp;оригинальные блюда. Широкий выбор настоящей домашней пасты, разнообразных салатов, около 10 видов пиццы из&nbsp;тончайшего теста с&nbsp;хрустящей корочкой, итальянские мясные и&nbsp;овощные деликатесы не&nbsp;оставят равнодушным ни&nbsp;одного гурмана. Винная карта, состоящая из&nbsp;тщательно подобранных вин&nbsp;Италии, прекрасно дополнит вкус блюд.</p>
<p>Приходите в&nbsp;наш&nbsp;ресторан и&nbsp;мы&nbsp;подарим вам&nbsp;кусочек теплого итальянского солнца даже в&nbsp;самый пасмурный день!</p></text>
<image width="800" height="532">/upload/shop_7/item_catalog_194/shop_items_catalog_image194.jpg</image>
<small_image width="300" height="199">/upload/shop_7/item_catalog_194/small_shop_items_catalog_image194.jpg</small_image>
<type>0</type>
<weight>0</weight>
<weight_mesure>мест</weight_mesure>
<rest>20</rest>
<mesure></mesure>
<shop_tax_id>0</shop_tax_id>
<price>1500.00</price>
<price_tax>1500.00</price_tax>
<price_discount>1500.00</price_discount>
<item_currency>руб.</item_currency>
<currency></currency>
<is_active>1</is_active>
<order>0</order>
<path>solntse</path>
<fullpath></fullpath>
<seo_title></seo_title>
<seo_description></seo_description>
<seo_keywords></seo_keywords>
<indexation>1</indexation>
<vendorCode></vendorCode>
<property id="140" dir_id="0" xml_name="type_place">
<name>Тип площадки</name>
<xml_name>type_place</xml_name>
<type>0</type>
<order>0</order>
<prefics></prefics>
<value>Ресторан</value>
</property>
<property id="134" dir_id="0" xml_name="rayon">
<name>Район города</name>
<xml_name>rayon</xml_name>
<type>0</type>
<order>1</order>
<prefics></prefics>
<value>Центральный</value>
</property>
<property id="133" dir_id="0" xml_name="metro">
<name>Ближайшая станция метро</name>
<xml_name>metro</xml_name>
<type>3</type>
<order>2</order>
<prefics></prefics>
<value>Садовая</value>
</property>
<property id="137" dir_id="0" xml_name="adres">
<name>Адрес</name>
<xml_name>adres</xml_name>
<type>0</type>
<order>3</order>
<prefics></prefics>
<value>улица Ломоносова д.14</value>
</property>
<property id="136" dir_id="0" xml_name="min_price">
<name>Минимальная стоимость банкетного меню на персону</name>
<xml_name>min_price</xml_name>
<type>0</type>
<order>4</order>
<prefics></prefics>
<value>1500</value>
</property>
<property id="135" dir_id="0" xml_name="zalov">
<name>Количество посадочных мест</name>
<xml_name>zalov</xml_name>
<type>0</type>
<order>5</order>
<prefics></prefics>
<value>50/20</value>
</property>
<property id="138" dir_id="0" xml_name="light_sound">
<name>Наличие звукового и светового оборудования</name>
<xml_name>light_sound</xml_name>
<type>0</type>
<order>6</order>
<prefics></prefics>
<value>есть</value>
</property>
<property id="139" dir_id="0" xml_name="parking">
<name>Парковка</name>
<xml_name>parking</xml_name>
<type>0</type>
<order>7</order>
<prefics></prefics>
<value>нет</value>
</property>
<property id="141" dir_id="0" xml_name="foto1">
<name>фото1</name>
<xml_name>foto1</xml_name>
<type>1</type>
<order>10</order>
<prefics></prefics>
<value>photo2.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_141.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_141.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="142" dir_id="0" xml_name="foto2">
<name>фото2</name>
<xml_name>foto2</xml_name>
<type>1</type>
<order>11</order>
<prefics></prefics>
<value>photo3.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_142.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_142.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="143" dir_id="0" xml_name="foto3">
<name>foto3</name>
<xml_name>foto3</xml_name>
<type>1</type>
<order>12</order>
<prefics></prefics>
<value>photo5.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_143.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_143.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="144" dir_id="0" xml_name="foto4">
<name>foto4</name>
<xml_name>foto4</xml_name>
<type>1</type>
<order>13</order>
<prefics></prefics>
<value>photo7.jpg</value>
<file_path width = "800" height = "532">/upload/shop_7/item_catalog_194/shop_property_file_194_144.jpg</file_path>
<small_image>
<file_path width = "300" height = "199">/upload/shop_7/item_catalog_194/small_shop_property_file_194_144.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="145" dir_id="0" xml_name="foto5">
<name>foto5</name>
<xml_name>foto5</xml_name>
<type>1</type>
<order>14</order>
<prefics></prefics>
<value>photo8.jpg</value>
<file_path width = "510" height = "768">/upload/shop_7/item_catalog_194/shop_property_file_194_145.jpg</file_path>
<small_image>
<file_path width = "199" height = "300">/upload/shop_7/item_catalog_194/small_shop_property_file_194_145.jpg</file_path>
<value></value>
</small_image>
</property>
<property id="146" dir_id="0" xml_name="foto6">
<name>foto6</name>
<xml_name>foto6</xml_name>
<type>1</type>
<order>15</order>
<prefics></prefics>
<value>photo9.jpg</value>
<file_path width = "510" height = "768">/upload/shop_7/item_catalog_194/shop_property_file_194_146.jpg</file_path>
<small_image>
<file_path width = "199" height = "300">/upload/shop_7/item_catalog_194/small_shop_property_file_194_146.jpg</file_path>
<value></value>
</small_image>
</property>
<shop_special_prices>
</shop_special_prices>
</item>
</shop>
Что-то я затупил, не могу вывести дополнительное свойство товара на странице корзины:
Вывожу:
В хмл все присутствует:
<itemincart id="0">
<item id="183" group="609">
...
<property id="134" dir_id="0" xml_name="size">
<name>Size</name>
<xml_name>size</xml_name>
<type>0</type>
<order>0</order>
<prefics></prefics>
<value>21</value>
</property>
</item>
<flag_postpone>0</flag_postpone>
<quantity>1</quantity>
<price_all>5000.00</price_all>
</itemincart>
Что не так делаю?
Вывожу:
<xsl:value-of disable-output-escaping="yes" select="property[@xml_name = 'size']/value"/>
В хмл все присутствует:
<itemincart id="0">
<item id="183" group="609">
...
<property id="134" dir_id="0" xml_name="size">
<name>Size</name>
<xml_name>size</xml_name>
<type>0</type>
<order>0</order>
<prefics></prefics>
<value>21</value>
</property>
</item>
<flag_postpone>0</flag_postpone>
<quantity>1</quantity>
<price_all>5000.00</price_all>
</itemincart>
Что не так делаю?
Qualis,
<xsl:value-of disable-output-escaping="yes" select="itemincart/item[@id=ЗДЕСЬ_ПОДСТАВИТЬ_ID_ТОВАРА]/property[@xml_name = 'size']/value"/>
Помогите пожалуйста разобраться с выводом дополнительных фото? Не получается отобразить, пишет ошибки (пробовала уже по разному).
ICQ 318174168
Авторизация