Как грамотно менять картинку в шапке для разного контента?

Статус
В этой теме нельзя размещать новые ответы.

malavka

Создатель
Регистрация
25 Фев 2008
Сообщения
29
Реакции
4
Вопрос к специалистам: Как грамотно менять картинку в шапке для разного контента?

Подробнее на примере:

Есть 3 меню: Серфинг, Скейтбординг, Кайтинг. Задача: Если кликаем по Серфинг - в шапке шаблона картинга с серфером, если кликаем по Скейтбординг - в шапке шаблона картинга со скейтером, Кайтинг- аналогично. Т.е. шаблон один, а картинки в шапке разные.

Что я сделал:

Смастерил три одинаковых темплейта с разными картинками в шапке, сделал для них единый файл css и привязал их к пунктам меню.

Вопрос: может есть более элегантный способ ( на яве или пхп) который позволит не 3 теплейта держать, а один и менять картинку в шапке в зависимости от контента? Типа: кликнул юзер Кайтинг- подгрузить такую шапку, кликнул Серфинг- такую.

Заранее спасибо!
 
Если имелись ввиду пункты меню и они ведут на материалы, то может подойдет так:
1. В шабе (после <body>) используя метод $id = JRequest::getVar( 'id', null); достаем id-материала.
2. Дальше в шабе любым условным оператором подставляем нужную картинку в шапке под материал:
Код:
<?php switch ($id)
{
    case '1' :
        $img = '1.jpg';
        break;
    case '2' :
        $img = '2.jpg';
        break;
    case '3' :
        $img = '3.jpg';
        break;
    default:
        $img = 'default.jpg';
        break;
}
?>
<шапка><img src="/images/<?php echo $img; ?>"/></шапка>
Метод не универсальный, так как минимальный. Вы думали в сторону выводить шапку модулем (сделать три с вашими картинками и назначить вашим пунктам)?
 
Вы думали в сторону выводить шапку модулем (сделать три с вашими картинками и назначить вашим пунктам)?

Спасибо Вам, буду пробовать.

Выводить шапку модулем не пробовал. Расскажите, пожалуйста, поподробнее про этот способ :ay:.
 
Значитсо) вот что могу подсказать по этому поводу)
вместо кода картинки в шапке пихаешь модуль
для версии 1.5 джумлы это выглядит вот так
Код:
<jdoc:include type="modules" name="shapka" style="xhtml" />
в xml файле есть тэги position
добавь по аналогии позицию shapka
существуют модули вывода изображения
типа вот этих

берешь любой ( я просто брал модуль mod_rokslideshow и когда нужно было чтоб просто было не слайдшоу а картинка, создавал папку с 1 изображением и ее указывал ) врубаешь его в позиции shapka и выбираешь по какому пункту меню какой модуль выводить)
один раз поставишь,потом хоть к любому пункту свою картинку прикручивай) лучше чем в коде ставить всякие условия)


п.с. не забудь если будет криво отображаться прпоисать для модуля стиль ( отступы там и тд )
 
Благодарю Вас за мудрые советы. Буду пробовать.
 
блин, пардон,сидиотничал ,забыл совсем
про добавление позиции в xml файле. Естественно не в абы каком. в папке с шаблоном ( /templates/[шаблон]/templateDetails.xml ) есть вот такое

<positions>
<position>left</position>
<position>right</position>
и тд....
</positions>

сделай это дело обязательно ибо иначе позиция не появится в списке позиций,когда будешь модуль прикручивать на сайт
 
Все потестил с mod_rokslideshow. На локале он отработал отлично, а на серваке не стал - блок выводится с фоном, а сама фота нет. Подозреваю на конфликт с другими джаваскриптами. Кста, интересная фишка- два модуля mod_rokslideshow не работают на одной странице одновременно. В шапке и в сайдбаре, к примеру.

Может стандартным модулем Джумлы -случайное фото- реализовать это? Я его потестил- работает на серваке, все ок. Два и три модуля работают на одной странице без проблем.

Добавлено через 2 минуты
Еще минус mod_rokslideshow нарыл- если вырубить яваскрипт в браузере, то он не пашет, а стандартный модуль Джумлы- пашет. Это приятно. Поддерживаете развитие идеи?
 
более чем) поэтому сразу оговорился, что у меня была задача в некоторых местах выводить слайдшоу и джаваскрипт библиотеки не юзались на этом сайте) поэтому не стал париться с разными модулями и всё в нём сделал, но конечно же если слайдшоу не требуется а просто статичная шапка , то само собой можно вообще выводить любым из этих модулей тупо код изображения и не париться еще со всякими настройками модулей)
 
Спасибо! Вы мне очень помогли.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху