Смена картинок и самих элементов(div) в шаблоне, в зависимости от страницы.

Тема в разделе "Внешний вид, шаблоны, графика", создана пользователем 2_k, 23.10.2009.

  1. Offline

    2_k Недавно здесь

    Регистрация:
    23.10.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте, нашёл в факе ответ на свой вопрос, но с пхп очень плохо, поэтому решил задать доп вопрос,

    Есть например див с фоновой картинкой, как ему дать понять что этот код касается именно его?
    Код (CODE):
    1. global $Itemid;
    2. if (in_array($Itemid,array(1,2,3,4,5))) $img = '1';
    3.     else $img = '2';
    4. echo "<img src='путь/{$img}.jpg' />";

    Не подскажите?
     
  2.  
  3. stranik
    Offline

    stranik специалист

    Регистрация:
    03.12.2008
    Сообщения:
    548
    Симпатии:
    36
    Пол:
    Мужской
    Если фоновое то не как.
    Данный код для вывода самого изображения в зависимости от .$Itemid
    Для изменения фонового изображения это не подойдёт.
     
  4. Offline

    2_k Недавно здесь

    Регистрация:
    23.10.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Ясно, тоесть выглядеть код будет так, чтобы это работало?:
    Код (CODE):
    1. <div>global $Itemid; if (in_array($Itemid,array(1))) $img = '1';  echo "<img src='путь/{$img}.jpg' />";
    2. global $Itemid; if (in_array($Itemid,array(2))) $img = '2;  echo "<img src='путь/{$img}.jpg' />";
    3. global $Itemid; if (in_array($Itemid,array(3))) $img = '3;  echo "<img src='путь/{$img}.jpg' />";
    4. </div>
     
  5. stranik
    Offline

    stranik специалист

    Регистрация:
    03.12.2008
    Сообщения:
    548
    Симпатии:
    36
    Пол:
    Мужской
    Можно на страдать и поставить этот модуль
    https://support.pillwax.com/open-source/doku.php?id=joomla:header_image
    Он выводит изображения считывая название файла: например если фаил называется img_s4.jpg. то он будет выводиться при просмотре секции с ID 4 (более детально https://support.pillwax.com/open-source/doku.php?id=joomla:header_image:general)
    Таким образом можно сделать не только шапки но и слайд шоу по разным ID
     
  6. Offline

    2_k Недавно здесь

    Регистрация:
    23.10.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    stranik, спасибо за ссылки, но кажется что прописать это правельно через код может быть удобнее чем доп модуль. Тут нашёл вот такой очень полезный пост. Всё очень доступно расписано. Правда не совсем то что надо, а именно, если использовать не 'com_frontpage'(com_content и т д), а всё же id меню в пхп коде, то какой он будет этот код(пхп)?

     
  7. stranik
    Offline

    stranik специалист

    Регистрация:
    03.12.2008
    Сообщения:
    548
    Симпатии:
    36
    Пол:
    Мужской
    Я не совсем специалист в ПХП, но помойму можно так
    <?php
    global $id;
    if ($option ='com_content' && ($task=='view'))
    switch ($id){
    case 1:
    $classvariable = 'logo_area1';
    case 2:
    $classvariable = 'logo_area2';
    case 3:
    $classvariable = 'logo_area3';}
    и так далее ?>
     
  8. Offline

    2_k Недавно здесь

    Регистрация:
    23.10.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Эх, ксажелению, не работает, думаю из за не совсем верного пхп кода, т. к. пред идущий пример попробывал - работает отлично.
     
  9. Offline

    Rombik Недавно здесь

    Регистрация:
    21.10.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Очень давно ищу как сделать данную вещь (менять фоновое изображение у DIV в зависимости от страницы) Вот это решение мне очень понравилось. Но не понимаю а можно ли сделать вот так?

    Код (CODE):
    1. if ($option == 'com_content') { $classvariable = 'logo_area2'; }
    2. if ($option == 'com_content') { $classvariable = 'logo_area3'; }
    3. if ($option == 'com_content') { $classvariable = 'logo_area4'; }

    Тоесть мне нужно изменить фон на странице контактов, на главной и ещё где то...получается везде присвоено $option == 'com_content' . так вообще можно делать? Может быть есть какой то другой вариант? Может всетаки к ID приявзать?

    Или вот так if ($_SERVER['REQUEST_URI'] == '/contact.html') { $classvariable = 'logo_area2'; }

    UPD:
    Попробовал сделать вот так
    Код (CODE):
    1. if ($_SERVER['REQUEST_URI'] == '/contact.html') { $classvariable = 'wm-box wm-sheet2'; }
    2.  if ($_SERVER['REQUEST_URI'] == '/foto.html') { $classvariable = 'wm-box wm-sheet'; }

    Всё работает. Осталась проблема. Как прописать условие вот с такой формулировкой " ЕСЛИ ОСТАЛЬНЫЕ СТРАНИЦЫ, то использовать { $classvariable = 'wm-box wm-sheet2'; } . Просто кроме меню, там же куча второстепенных страниц. Им то какой урл присваивать?
     
    Последнее редактирование: 25.07.2013

Поделиться этой страницей

Загрузка...