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

Discussion in 'Внешний вид, шаблоны, графика' started by 2_k, Oct 23, 2009.

  1. Offline

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

    Joined:
    Oct 23, 2009
    Messages:
    4
    Likes Received:
    0
    Gender:
    Male
    Здравствуйте, нашёл в факе ответ на свой вопрос, но с пхп очень плохо, поэтому решил задать доп вопрос,

    Есть например див с фоновой картинкой, как ему дать понять что этот код касается именно его?
    Код (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 Недавно здесь => Cпециалист <=

    Joined:
    Dec 3, 2008
    Messages:
    548
    Likes Received:
    36
    Gender:
    Male
    Если фоновое то не как.
    Данный код для вывода самого изображения в зависимости от .$Itemid
    Для изменения фонового изображения это не подойдёт.
     
  4. Offline

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

    Joined:
    Oct 23, 2009
    Messages:
    4
    Likes Received:
    0
    Gender:
    Male
    Ясно, тоесть выглядеть код будет так, чтобы это работало?:
    Код (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 Недавно здесь => Cпециалист <=

    Joined:
    Dec 3, 2008
    Messages:
    548
    Likes Received:
    36
    Gender:
    Male
    Можно на страдать и поставить этот модуль
    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 Недавно здесь

    Joined:
    Oct 23, 2009
    Messages:
    4
    Likes Received:
    0
    Gender:
    Male
    stranik, спасибо за ссылки, но кажется что прописать это правельно через код может быть удобнее чем доп модуль. Тут нашёл вот такой очень полезный пост. Всё очень доступно расписано. Правда не совсем то что надо, а именно, если использовать не 'com_frontpage'(com_content и т д), а всё же id меню в пхп коде, то какой он будет этот код(пхп)?

     
  7. stranik
    Offline

    stranik Недавно здесь => Cпециалист <=

    Joined:
    Dec 3, 2008
    Messages:
    548
    Likes Received:
    36
    Gender:
    Male
    Я не совсем специалист в ПХП, но помойму можно так
    <?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 Недавно здесь

    Joined:
    Oct 23, 2009
    Messages:
    4
    Likes Received:
    0
    Gender:
    Male
    Эх, ксажелению, не работает, думаю из за не совсем верного пхп кода, т. к. пред идущий пример попробывал - работает отлично.
     
  9. Offline

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

    Joined:
    Oct 21, 2011
    Messages:
    2
    Likes Received:
    0
    Gender:
    Male
    Очень давно ищу как сделать данную вещь (менять фоновое изображение у 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'; } . Просто кроме меню, там же куча второстепенных страниц. Им то какой урл присваивать?
     
    Last edited: Jul 25, 2013

Share This Page

Loading...