Изображение в шапке сайта в зависимости от подраздела

#
Re: Изображение в шапке сайта в зависимости от подраздела
спасибо , буду ждать
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Изображение в шапке сайта в зависимости от подраздела
Puma, ловите!
Код вставяеся в нужное вам место в макете сайта или в шаблоне страницы - как вам удобнее.

<?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'/>";

    }
}

?>
Как-то так
Тестируйте.
Заказов не беру. Консультирую редко.
#
Re: Изображение в шапке сайта в зависимости от подраздела
спасибо
с большим изображением вроде работеает
а если с малым (одну закомментировала, др рскомментировала), то выводит ошибку:

Parse error: syntax error, unexpected ';', expecting T_PAAMAYIM_NEKUDOTAYIM in /home/www/doginthecity/htdocs/templates/template12/template.htm on line 191
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Изображение в шапке сайта в зависимости от подраздела
Эта ошибка говорит о том, что где-то пропущена точка с запятой - ;
Но поскольку в приведенном мною коде я ошибок не вижу, то вероятнее всего вы просто неправильно закомментировали/раскомментировали строки.
Для малого изображения должно быть вот так:
        // получим имя файла большого изображения для группы
        //$root_group_image_filename = $root_group_row['shop_groups_image'];

        // если вместо большого изображения надо малое, то закомментируйте предыдущую строку,
        // и раскомментируйте следующую:
        $root_group_image_filename =  $root_group_row['shop_groups_small_image'];
Заказов не беру. Консультирую редко.
#
Re: Изображение в шапке сайта в зависимости от подраздела
ДА НЕТ, Я ВСЕ ПРАВИЛЬНО ЗАКОММЕНТИРОВАЛА

ошибку нашла
просто при копирование с данного форумвва в хтмл код макета (в визуальный редактор)   копируются лишние пробелы ($nbsp, которые в самом редакторе не видны
сто раз такое было у меня
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Изображение в шапке сайта в зависимости от подраздела
Puma писал(а):
ДА НЕТ, Я ВСЕ ПРАВИЛЬНО ЗАКОММЕНТИРОВАЛА
Извините
Заказов не беру. Консультирую редко.
#
Re: Изображение в шапке сайта в зависимости от подраздела
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


}

?>
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Изображение в шапке сайта в зависимости от подраздела
Puma, тогда вот так:
<?
/**
* Изображение в шапке сайта в зависимости от подраздела
* @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;
        
        // соберем alt для картинки
        $image_alt = $root_group_name;
    } else {
        // если мы находимся в корне магазина
        
        // укажем изображение которое должно выводиться в этом случае
        $image_src = '/images/odezhda.gif';
        // укажем alt для этого изображения
        $image_alt = 'мы в корне магазине';
    }
} else {
    // если мы находимся не в магазине
    
    // укажем изображение которое должно выводиться в этом случае
    $image_src = '/images/odezhda.gif';
    // укажем alt для этого изображения
    $image_alt = 'мы вообще не в магазине';
}
// и выведем вычисленное выше изображение с соответствующим ему alt'ом
echo "<img src='$image_src' alt='$image_alt'/>";
?>
Заказов не беру. Консультирую редко.
#
Re: Изображение в шапке сайта в зависимости от подраздела
спасибки
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Изображение в шапке сайта в зависимости от подраздела
да пожалуйста!
Заказов не беру. Консультирую редко.
Авторизация