Форум русской поддержки Joomla!® CMS
11.12.2016, 12:06:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 165 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kilnart
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 183


« : 01.08.2016, 14:20:07 »

Всем здрасте. В К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
Живу я здесь
******

Репутация: +36/-3
Offline Offline

Пол: Мужской
Сообщений: 841


Skype: septdir


« Ответ #1 : 01.08.2016, 15:17:59 »

с тем же успехом, можно просто сделать доп поле. Ну или плагин. а то первое обновление и опять правь в админке.
Записан
kilnart
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 183


« Ответ #2 : 01.08.2016, 15: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
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 183


« Ответ #3 : 01.08.2016, 15:20:25 »

с тем же успехом, можно просто сделать доп поле. Ну или плагин. а то первое обновление и опять правь в админке.

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

Репутация: +0/-0
Offline Offline

Сообщений: 183


« Ответ #4 : 01.08.2016, 15:23:22 »

Хотя, по поводу плагинов может ошибаюсь. Может просто нормальных не видел. Если есть возможность, покажите какой нить адекватный.
Записан
Septdir
Живу я здесь
******

Репутация: +36/-3
Offline Offline

Пол: Мужской
Сообщений: 841


Skype: septdir


« Ответ #5 : 01.08.2016, 15: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 не так часто обновляется и даже если обновить то восстановить не такая уж большая сложность.

Твой же код вывод можно написать проще.
где нибудь вверху вставь
Код
	if(!empty($this->item->itemtitle)) {
$this->item->title =  $this->item->itemtitle;
}
 
Что касается модулей и прочего. Посмотри что приходит в $item к примеру через print_r не надо играть в угодайку
Код:
<pre>
<? print_r($item); ?>
</pre>
« Последнее редактирование: 01.08.2016, 15:55:10 от Septdir » Записан
kilnart
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 183


« Ответ #6 : 01.08.2016, 16:00:42 »

спасибо. буду искать.
Записан
kilnart
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 183


« Ответ #7 : 01.08.2016, 16:09:29 »

Я имею ввиду вывод обычных доп полей.


не понимаю что это такое и где искать. может дашь ссылочку?
Записан
Septdir
Живу я здесь
******

Репутация: +36/-3
Offline Offline

Пол: Мужской
Сообщений: 841


Skype: septdir


« Ответ #8 : 01.08.2016, 16:23:52 »


не понимаю что это такое и где искать. может дашь ссылочку?
Да про обычные доп поля k2 а вывод по одному обсуждали тут http://joomlaforum.ru/index.php/topic,328443.msg1650944.html#msg1650944
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet