Kotoff, картинки групп выводятся как надо, прописана также картинка которая выводитяс при нахождении вне магазина
но если находишься в самом корне магазина, то ничего не выводится
как сделать чтобы в корне магазина /shop/ тоже выводилась общая картинка
код таков:
<?php
/**
* Изображение в шапке сайта в зависимости от подраздела
* @author Kotoff
* @copyright 2010
*/
// ну, естественно, для начала получим экземпляр объекта класса shop
$shop = &singleton('shop');
// определим, является ли текущий узел структуры магазином.
// если является - получим id магазина, если нет - получим false
$current_shop_id = $shop->GetShopByStructureId(CURRENT_STRUCTURE_ID);
// если мы таки действительно находимся в магазине:
if ($current_shop_id) {
// подготовительная операция - позволяет корректно обрабатывать те ссылки на группы магазина,
// которые [ссылки] содержат параметры аффилиата для партнерской программы
if (preg_match("^user-(.*)^", end($GLOBALS['URL_ARRAY']), $regs))
$break_if_path_not_found = false;
else
$break_if_path_not_found = true;
// получим текущую группу магазина
$GLOBALS['shop_item_path'] = $shop->GetItemPath($current_shop_id, '', $break_if_path_not_found);
// если мы находимся не в корне магазина, а в какой-то его группе.
// (у корня магазина нет изображения для группы, поэтому нас интересует
// только тот случай, когда мы находимся в какой-нибудь группе магазина)
if ($GLOBALS['shop_item_path']['group']) {
// получим массив всех групп от текущей до корня магазина
$mas_groups_to_root = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);
// нас интересует последий элемент этого массива - корневая группа для текущей
$root_group_row = end($mas_groups_to_root);
// получим id группы
$root_group_id = $root_group_row['shop_groups_id'];
// получим имя группы
$root_group_name = $root_group_row['shop_groups_name'];
// получим имя файла большого изображения для группы
$root_group_image_filename = $root_group_row['shop_groups_image'];
// если вместо большого изображения надо малое, то закомментируйте предыдущую строку,
// и раскомментируйте следующую:
//$root_group_image_filename = $root_group_row['shop_groups_small_image'];
// получим путь к папке на сервере, в которой лежат изображения группы
$path_to_image = $shop->GetGroupDir($root_group_id);
// соберем полный путь к картинке
$image_src = '/' . $path_to_image . $root_group_image_filename;
// ну и выведем ее :-)
echo "<img src='$image_src' alt='$root_group_name'/>";
}}
else
{
// здесь на случай отсутствия группы
?><img src="/images/odezhda.gif" /><?php
}
?>