Решено! Иконки в меню категорий модуля шаблона

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем Кошка, 27.09.2014.

  1. Offline

    Кошка Недавно здесь

    Регистрация:
    27.09.2014
    Сообщения:
    5
    Симпатии:
    0
    Ребята. всем привет! Помогите пожалуйста.

    Модуль dj-classifieds выводит меню категорий в левой колонке, но к сожалению не добавляет к каждому <li> уникальный id или class. Мне нужно к каждому пункту подставить иконку или картинку.

    Как это осуществить? Как заставить)) назначать свой класс каждому пункту меню?

    Очень нужна Ваша помощь! Заранее спасибо всем откликнувшемся!
     
  2.  
  3. shurikkan
    Offline

    shurikkan Russian Joomla! Team Команда форума

    Регистрация:
    01.09.2011
    Сообщения:
    1 856
    Симпатии:
    162
    Пол:
    Мужской
    С вашими знаниями самое лёгкое решение будет выставить фон для каждого пункта меню по счёту через CSS :)
    Код (css):
    1. ul li:nth-child(1) {
    2.     padding: 0 0 0 20px; /* отступ текста от картинки фона по левому краю */
    3.     background: url("...image-1...") no-repeat 0 0;
    4. }
    5. ul li:nth-child(2) {
    6.     padding: 0 0 0 20px;
    7.     background: url("...image-2...") no-repeat 0 0;
    8. }
    9. ul li:nth-child(3) {
    10.     padding: 0 0 0 20px;
    11.     background: url("...image-3...") no-repeat 0 0;
    12. }
    13. ...

    Это если кол-во элементов в списке всегда будет одинаковым и в одном порядке.
    Самое простое, хоть и не самое кроссбраузерное решение (IE поддерживает nth-child только с версии 9, например)
     
    Кошка нравится это.
  4. Offline

    Кошка Недавно здесь

    Регистрация:
    27.09.2014
    Сообщения:
    5
    Симпатии:
    0
    Спасибо! Об этом способе я знала))
    Хотелось бы узнать как через php с этим разобраться.

    Не нужно обижать маленьких(я про свои знания), они же выростут и сдачи дадут!;)
     
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Например, в шаблоне меню (модуля?) каждому LI прописать CSS-класс с добавлением приставки в виде ID категории.
     
  6. Offline

    Кошка Недавно здесь

    Регистрация:
    27.09.2014
    Сообщения:
    5
    Симпатии:
    0
    как?:hz:
     
  7. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Огорошила... :confused:
    Откуда мне знать? Я не видел dj-classifieds.
    Для начала надо найти в недрах модуля папку tmpl.
     
  8. Offline

    Кошка Недавно здесь

    Регистрация:
    27.09.2014
    Сообщения:
    5
    Симпатии:
    0
    Код (PHP):
    1. $new_ad_link = DJClassifiedsSEO::getNewAdLink();
    2.  
    3.  
    4.  
    5. $par = JComponentHelper::getParams( 'com_djclassifieds' );
    6.  
    7. $max_level = $params->get('max_level','0');
    8.  
    9.     ?>
    10.  
    11.         <div class="djcf_menu">
    12.  
    13.         <?php
    14.  
    15.         if($params->get('new_ad_link','0')==1){
    16.  
    17.             echo '<div class="newad_link_top"><a class="button" href="'.$new_ad_link.'">'.JText::_('MOD_DJCLASSIFIEDS_MENU_NEW_ADD').'</a></div>';
    18.  
    19.         }      
    20.  
    21.         if($cats){ ?>  
    22.  
    23.         <ul class="menu nav <?php echo $params->get('moduleclass_sfx',''); ?>">
    24.  
    25.             <?php
    26.  
    27.                 $c_count=0;
    28.  
    29.                 $prev_l = 0;
    30.  
    31.                 //echo '<li>';
    32.  
    33.                 foreach($cats as $c){
    34.  
    35.                     if($max_level>0 && $c->level>=$max_level){
    36.  
    37.                         continue;
    38.  
    39.                     }
    40.  
    41.                                            
    42.  
    43.                     if($prev_l>$c->level){
    44.  
    45.                         for($i=0;$i<$prev_l-$c->level;$i++){
    46.  
    47.                             echo '</ul>';  
    48.  
    49.                         }
    50.  
    51.                        
    52.  
    53.                     }else if($prev_l<$c->level){
    54.  
    55.                         echo '<ul>';
    56.  
    57.                     }else if($c_count>0){
    58.  
    59.                         echo '</li>';
    60.  
    61.                     }
    62.  
    63.                    
    64.  
    65.                     $prev_l = $c->level;
    66.  
    67.                     $cl='';
    68.  
    69.                     if(strstr($cat_path,','.$c->id.',')){
    70.  
    71.                         if($cid==$c->id){
    72.  
    73.                             $cl='active current';
    74.  
    75.                         }else{
    76.  
    77.                             $cl='active';                          
    78.  
    79.                         }
    80.  
    81.                         if($c->have_childs){ $cl .=' deeper'; }
    82.  
    83.                     }
    84.  
    85.                     if($c->have_childs){
    86.  
    87.                         if($cl){$cl .=' ';}
    88.  
    89.                         $cl .='parent';                      
    90.  
    91.                     }
    92.  
    93.                    
    94.  
    95.                     echo '<li class="'.$cl.'"><a href="'.JRoute::_(DJClassifiedsSEO::getCategoryRoute($c->id.':'.$c->alias)).'">'.$c->name.'</a>';  
    96.  
    97.                     $c_count++;
    98.  
    99.                 }      
    100.  
    101.                 if($prev_l>0){
    102.  
    103.                     for($i=0;$i<$prev_l;$i++){
    104.  
    105.                         echo '</li></ul>';  
    106.  
    107.                     }                  
    108.  
    109.                 }  
    110.  
    111.             ?>          
    112.  
    113.         </ul>
    114.  
    115.         <?php
    116.  
    117.         }
    118.  
    119.         if($params->get('new_ad_link','0')==2){
    120.  
    121.             echo '<div class="newad_link_bottom"><a class="button" href="'.$new_ad_link.'">'.JText::_('MOD_DJCLASSIFIEDS_MENU_NEW_ADD').'</a></div>';
    122.  
    123.         }?>
    124.  
    125.     </div>


    Вроде это он))
     
  9. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Код (PHP):
    1. <li class="'.$cl.'">

    заменить на
    Код (PHP):
    1. <li class="'.$cl.' myclass-'.$c->id.'">
     
    Кошка нравится это.
  10. Offline

    Кошка Недавно здесь

    Регистрация:
    27.09.2014
    Сообщения:
    5
    Симпатии:
    0
    Огромное Вам спасибо!!!
     

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

Загрузка...