1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Joomla", создана пользователем malavka, 14 апр 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, NightHunter
  1. malavka

    malavka Создатель

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

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

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

    Что я сделал:

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

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

    Заранее спасибо!
     
  2. Phoenix168

    Phoenix168

    Регистр.:
    15 ноя 2007
    Сообщения:
    182
    Симпатии:
    44
    Если имелись ввиду пункты меню и они ведут на материалы, то может подойдет так:
    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; ?>"/></шапка>
    Метод не универсальный, так как минимальный. Вы думали в сторону выводить шапку модулем (сделать три с вашими картинками и назначить вашим пунктам)?
     
    malavka нравится это.
  3. malavka

    malavka Создатель

    Регистр.:
    25 фев 2008
    Сообщения:
    29
    Симпатии:
    4
    Спасибо Вам, буду пробовать.

    Выводить шапку модулем не пробовал. Расскажите, пожалуйста, поподробнее про этот способ :ay:.
     
  4. Firstlinehero

    Firstlinehero Постоялец

    Регистр.:
    14 дек 2009
    Сообщения:
    101
    Симпатии:
    25
    Значитсо) вот что могу подсказать по этому поводу)
    вместо кода картинки в шапке пихаешь модуль
    для версии 1.5 джумлы это выглядит вот так
    Код:
    <jdoc:include type="modules" name="shapka" style="xhtml" />
    в xml файле есть тэги position
    добавь по аналогии позицию shapka
    существуют модули вывода изображения
    типа вот этих
    http://extensions.joomla.org/extensions/photos-a-images/images
    берешь любой ( я просто брал модуль mod_rokslideshow и когда нужно было чтоб просто было не слайдшоу а картинка, создавал папку с 1 изображением и ее указывал ) врубаешь его в позиции shapka и выбираешь по какому пункту меню какой модуль выводить)
    один раз поставишь,потом хоть к любому пункту свою картинку прикручивай) лучше чем в коде ставить всякие условия)


    п.с. не забудь если будет криво отображаться прпоисать для модуля стиль ( отступы там и тд )
     
    malavka нравится это.
  5. malavka

    malavka Создатель

    Регистр.:
    25 фев 2008
    Сообщения:
    29
    Симпатии:
    4
    Благодарю Вас за мудрые советы. Буду пробовать.
     
  6. Firstlinehero

    Firstlinehero Постоялец

    Регистр.:
    14 дек 2009
    Сообщения:
    101
    Симпатии:
    25
    блин, пардон,сидиотничал ,забыл совсем
    про добавление позиции в xml файле. Естественно не в абы каком. в папке с шаблоном ( /templates/[шаблон]/templateDetails.xml ) есть вот такое

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

    сделай это дело обязательно ибо иначе позиция не появится в списке позиций,когда будешь модуль прикручивать на сайт
     
  7. malavka

    malavka Создатель

    Регистр.:
    25 фев 2008
    Сообщения:
    29
    Симпатии:
    4
    Все потестил с mod_rokslideshow. На локале он отработал отлично, а на серваке не стал - блок выводится с фоном, а сама фота нет. Подозреваю на конфликт с другими джаваскриптами. Кста, интересная фишка- два модуля mod_rokslideshow не работают на одной странице одновременно. В шапке и в сайдбаре, к примеру.

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

    Добавлено через 2 минуты
    Еще минус mod_rokslideshow нарыл- если вырубить яваскрипт в браузере, то он не пашет, а стандартный модуль Джумлы- пашет. Это приятно. Поддерживаете развитие идеи?
     
  8. Firstlinehero

    Firstlinehero Постоялец

    Регистр.:
    14 дек 2009
    Сообщения:
    101
    Симпатии:
    25
    более чем) поэтому сразу оговорился, что у меня была задача в некоторых местах выводить слайдшоу и джаваскрипт библиотеки не юзались на этом сайте) поэтому не стал париться с разными модулями и всё в нём сделал, но конечно же если слайдшоу не требуется а просто статичная шапка , то само собой можно вообще выводить любым из этих модулей http://extensions.joomla.org/extensions/edition/custom-code-in-modules тупо код изображения и не париться еще со всякими настройками модулей)
     
    ss777 и malavka нравится это.
  9. malavka

    malavka Создатель

    Регистр.:
    25 фев 2008
    Сообщения:
    29
    Симпатии:
    4
    Спасибо! Вы мне очень помогли.
     
Статус темы:
Закрыта.