Компоненты

Как создать отдельный title для статьи в компоненте К2

(1 Vote)
Tuesday, 16 February 2016 00:00

На каждой странице должен быть свой уникальный title

Так сложилось, что я очень давно использую компонент K2 на своих и клиентских сайтах. Он достаточно понятен, удобен и прост в использовании. Но при всех его преимуществах, у него есть один весомый недостаток - для статьи компонента нет возможности присвоить персональный Title, что очень сильно усложняет продвижение сайта. Чтобы решить эту проблему, нужно выполнить следующие действия:

Пошаговая инструкция по добавлению title в статью K2

  1. В базу данных k2_items добавляем поле title_head char(255)
  2. Используя FileZilla или аналоги, заходим в файловую систему вашего сайта, находим administrator\components\com_k2\views\item\tmpl\default.php, после  аналогичного кода для вывода строки таблицы с <?php echo JText::_('K2_TITLE'); ?>  вставляем код:
<tr>
<td class="adminK2LeftCol">
<label for="title_head"><?php echo JText::_('K2_TITLE'); ?> для раздела HEAD</label>
</td>
<td class="adminK2RightCol">
<input class="text_area k2TitleBox" type="text" name="title_head" id="title_head" maxlength="250" value="<?php echo $this->row->title_head; ?>" />
</td>
</tr>

Далее ищем файл administrator\components\com_k2\tables\k2item.php и добавляем в него код:

var $title_head = null;

После этого в шаблоне статьи к2 добавляем следующий код:

if ($this->item->title_head) JFactory::getDocument()->setTitle($this->item->title_head);

Все готово, теперь войдя в режим редактирования статьи, вы увидите поле для ввода title.

Чтобы все эти настройки после обновления компонента не слетели, настоятельно рекомендую сделать переопределение вышеуказаных файлов, а шаблон вывода статьи использовать не стандартный а персональный.

 

Read 1106 times
K2_SHARE_THIS_ITEM
Written by

Работа над проэктами