Добавляю отдельный Title в К2

  • 8 Ответов
  • 289 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Всем здрасте. В К2, title страницы, берется из заголовка статьи. В некоторых случаях это очень неудобно, поэтому решил сделать отдельный title.

Уже сделал следующее:

1. Добавил в базу данных новое поле, для записи Заголовка статьи



2. Добавил новое поле для ввода Заголовка статьи в админке К2. Для этого подправил default.php по адресу administrator/com_k2/views/item/tmpl/default.php



Код
<table class="adminFormK2 table">
<tr>
<td class="adminK2LeftCol">
<label for="title"><?php echo JText::_('K2_TITLE'); ?></label>
</td>
<td class="adminK2RightCol">
<input class="text_area k2TitleBox" type="text" name="title" id="title" maxlength="250" value="<?php echo $this->row->title; ?>" />
</td>
</tr>
<tr>
<td class="adminK2LeftCol">
<label for="itemtitle"><?php echo JText::_('K2_ITEMTITLE'); ?></label>
</td>
<td class="adminK2RightCol">
<input class="text_area k2TitleBox" type="text" name="itemtitle" id="itemtitle" maxlength="250" value="<?php echo $this->row->itemtitle; ?>" />
</td>
</tr>
,

осталось вывести в самой статье, но здесь возникает вопрос.

Нужно сделать следующий вывод: если в поле "Заголовок в статье" записи нет, значит надо выводить "Заголовок в title".

Сильно не пинайте, php не знаю, но попробовал сделать вот так:

В файле item.php, который у меня лежит в html/com_k2/templates/default, вместо <?php echo $this->item->title; ?>, добавил:

Код
<?php if($this->item->itemtitle == 0) echo $this->item->title;
      else echo $this->item->itemtitle;
?>

не получилось.

Подскажите, как правильно реализовать мою задумку?

*

Septdir

  • Практически профи
  • *******
  • 2155
  • 108
  • JoomlaZen
Re: Добавляю отдельный Title в К2
« Ответ #1 : 01.08.2016, 16:17:59 »
с тем же успехом, можно просто сделать доп поле. Ну или плагин. а то первое обновление и опять правь в админке.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Re: Добавляю отдельный Title в К2
« Ответ #2 : 01.08.2016, 16:18:27 »
со статьями, тегами и категориями разобрался. правильный код выглядит вот так:
Код
<?php 
                        if(empty($this->item->itemtitle))
                           echo $this->item->title;
                        else echo $this->item->itemtitle;
?>

теперь модуль К2 не дается.

как я понимаю, название статьи берется отсюда

Код
$item->title = JFilterOutput::ampReplace($item->title);

как мне в этом случае задать, если одно поле пустое, значит значение надо брать из другого?

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Re: Добавляю отдельный Title в К2
« Ответ #3 : 01.08.2016, 16:20:25 »
с тем же успехом, можно просто сделать доп поле. Ну или плагин. а то первое обновление и опять правь в админке.

про доп поле читал вот http://www.serbga.ru/web/web-coding/kak-sdelat-proizvolnye-title-v-komponente-k2-joomla-v-materialakh. Как я понял, этот способ тоже при первом же обновлении слетит. А с плагинами не хочу связываться.

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Re: Добавляю отдельный Title в К2
« Ответ #4 : 01.08.2016, 16:23:22 »
Хотя, по поводу плагинов может ошибаюсь. Может просто нормальных не видел. Если есть возможность, покажите какой нить адекватный.

*

Septdir

  • Практически профи
  • *******
  • 2155
  • 108
  • JoomlaZen
Re: Добавляю отдельный Title в К2
« Ответ #5 : 01.08.2016, 16:48:58 »
про доп поле читал вот http://www.serbga.ru/web/web-coding/kak-sdelat-proizvolnye-title-v-komponente-k2-joomla-v-materialakh. Как я понял, этот способ тоже при первом же обновлении слетит. А с плагинами не хочу связываться.
Я имею ввиду вывод обычных доп полей. Просто создаешь доп поле прямо в админке. И делаешь ему отдельный вовывод. Про вывод каждого доп поля отдельно я уже отвечал, можешь порыться в разделе это есть. Так ты будешь править только шаблон вывода. Чаще всего их переопределяют приямков в шаблон сайта, так что даже при обновлнии это не слетит.

Что же касается плагинов, то у k2 есть master плагин и хорошее руководство, плагины пишутся за 10-15 минут, если не сложные. Впринципе могу один из своих скинуть, правда наиболее подходящий тебе весьма тяжёлый с изменнием запроса в базу, но зато там есть создание дополнительного столбца.  Но мое мнение нет смысла в плагине если тебе тупо надо вывести текстовое поле. Да  и отдельный столбец в базе делать, если по нему не нужна выборка, делать тоже смыла нет. Кстати о выборке. В моделе и поисковых плагинах. Поиск идет по определённым полям, так что если ты туда свое не добавишь, то искать по нему не будет.

С другой стороны если тебе не заботит распространение и использование твоего "изобретения" другими. И у тебя 1 сайт с такой функцией, то можешь ничего не делать. k2 не так часто обновляется и даже если обновить то восстановить не такая уж большая сложность.

Твой же код вывод можно написать проще.
где нибудь вверху вставь
Код: php
	if(!empty($this->item->itemtitle)) {
$this->item->title =  $this->item->itemtitle;
}
Что касается модулей и прочего. Посмотри что приходит в $item к примеру через print_r не надо играть в угодайку
Код
<pre>
<? print_r($item); ?>
</pre>
« Последнее редактирование: 01.08.2016, 16:55:10 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Re: Добавляю отдельный Title в К2
« Ответ #6 : 01.08.2016, 17:00:42 »
спасибо. буду искать.

*

kilnart

  • Осваиваюсь на форуме
  • ***
  • 175
  • 0
Re: Добавляю отдельный Title в К2
« Ответ #7 : 01.08.2016, 17:09:29 »
Я имею ввиду вывод обычных доп полей.


не понимаю что это такое и где искать. может дашь ссылочку?

*

Septdir

  • Практически профи
  • *******
  • 2155
  • 108
  • JoomlaZen
Re: Добавляю отдельный Title в К2
« Ответ #8 : 01.08.2016, 17:23:52 »

не понимаю что это такое и где искать. может дашь ссылочку?
Да про обычные доп поля k2 а вывод по одному обсуждали тут http://joomlaforum.ru/index.php/topic,328443.msg1650944.html#msg1650944
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen