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

Discussion in 'Изменение шаблона (кастомизация)' started by Кошка, Sep 27, 2014.

  1. Offline

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

    Joined:
    Sep 27, 2014
    Messages:
    5
    Likes Received:
    0
    Ребята. всем привет! Помогите пожалуйста.

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

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

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

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    С вашими знаниями самое лёгкое решение будет выставить фон для каждого пункта меню по счёту через 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, например)
     
    Кошка likes this.
  4. Offline

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

    Joined:
    Sep 27, 2014
    Messages:
    5
    Likes Received:
    0
    Спасибо! Об этом способе я знала))
    Хотелось бы узнать как через php с этим разобраться.

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

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Например, в шаблоне меню (модуля?) каждому LI прописать CSS-класс с добавлением приставки в виде ID категории.
     
  6. Offline

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

    Joined:
    Sep 27, 2014
    Messages:
    5
    Likes Received:
    0
    как?:hz:
     
  7. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Огорошила... :confused:
    Откуда мне знать? Я не видел dj-classifieds.
    Для начала надо найти в недрах модуля папку tmpl.
     
  8. Offline

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

    Joined:
    Sep 27, 2014
    Messages:
    5
    Likes Received:
    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 Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Код (PHP):
    1. <li class="'.$cl.'">

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

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

    Joined:
    Sep 27, 2014
    Messages:
    5
    Likes Received:
    0
    Огромное Вам спасибо!!!
     

Share This Page

Loading...