Joomla 1.5 Шаблон списка категорий. Заголовки и ссылки.

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

  1. Offline

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

    Регистрация:
    22.11.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте! Не получается самостоятельно справиться со следующей задачкой:

    Шаблон списка категорий выводит список ссылок-заголовков^
    1.Материал1
    2. Материал2
    3. Материал3

    Нужно, чтобы список выводился так же, НО ссылками были бы заголовки только определенных статей.
    1.Материал1
    2. Материал2
    3. Материал3

    Т.е., параметр материалов "Заголовок как ссылка:" у Материала1 был активным, у Материалов 2 и 3 -- нет, и шаблон списка категорий отобразил бы их указанным выше образом.

    Пробовал редактировать код в файле
    шаблон\components\com_content\views\category\tmpl\default_items.php
    Так было:
    Код (PHP):
    1. <a href="<?php echo $item->link; ?>"> <?php echo $item->title; ?> </a>
    2.             <?php $this->item = $item; echo JHTML::_('icon.edit', $item, $this->params, $this->access) ?>


    Так стало:
    Код (PHP):
    1. <?php if ($item->link_titles) : ?>
    2.             <a href="<?php echo $item->link; ?>"> <?php echo $item->title; ?> </a>     
    3.         <?php else: ?>
    4.             <?php echo $item->title; ?>        
    5.         <?php endif; ?>
    6.             <?php $this->item = $item; echo JHTML::_('icon.edit', $item, $this->params, $this->access) ?>


    Но $item->link_titles всегда воспринимается пустым.
    Как осуществить проверку параметра Заголовок как ссылка материалов категории в этом контексте? Буду признателен любой помощи.
     
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума => Cпециалист <=

    Регистрация:
    31.05.2009
    Сообщения:
    3 206
    Симпатии:
    334
    Пол:
    Мужской
    посмотри содержимое переменной $item print_r($item);
    и посмотри содержимое переменной $this print_r($this);
    может внутренности наведут на мысль
     
    headcrab нравится это.
  4. Offline

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

    Регистрация:
    22.11.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо, оказалось, что в $item хранится структура статьи, например, в $this->items[1] содержится такой кусок:
    Код (CODE):
    1. ...
    2. [attribs] => show_title=1 link_titles=1 show_intro=0 show_section= link_section= show_category= link_category= show_vote= show_author= show_create_date= show_modify_date= show_pdf_icon= show_print_icon= show_email_icon= language= keyref= readmore= [hits] => 17
    3. ...

    т.е. в структуре $this->items[1]->attribs хранится нужный мне параметр, но из-за своих скудных познаний, вытащить его не получается:
    Код (CODE):
    1. echo $this->items[1]->attribs->show_title;
    2. echo $this->items[1]->attribs['show_title'];

    выдает пустой символ и символ "s" соответственно.
    Без результатно использовал parse_str($this->items[1]->attribs), предварительно пытаясь выпилить разделители, но уж больно они хитрые, не удаляются.

    Как можно вытащить нужный параметр из структуры attribs?
     
  5. Offline

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

    Регистрация:
    22.11.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Получил нужный параметр. Заменил разделители на символ '&' и использовал parse_str, но, наверняка, вынуть его можно гораздо проще.

    Вот код, может кому-н. пригодится:
    Код (PHP):
    1. <?php
    2. $attr_str=$item->attribs;
    3. $attr_str=str_replace(chr(10), '&', $attr_str);
    4. parse_str($attr_str, $attr_arr);
    5.        
    6. if ($attr_arr['link_titles']) :
    7. ?>
    8.  
    9. <a href="<?php echo $item->link; ?>"> <?php echo $item->title; ?> </a>     
    10.        
    11. <?php else:
    12. echo $item->title; ?>          
    13. <?php endif; ?>
     
    Последнее редактирование: 23.11.2010

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

Загрузка...