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

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

Дополнительные поля для тегов и страниц пользователя в разных местах шаблона К2

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

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

Сообщений: 37


« : 13.06.2016, 17:49:09 »

Всем доброго времени суток.
Нашел подобную статью на  о выводе дополнительных полей для страниц - категории и материалов К2.
Подскажите пожалуйста есть ли данное решение для - Тегов и Страниц пользователя (автора)?
Или у кого есть какие идеи как это организовать - буду очень признателен.
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #1 : 15.06.2016, 10:44:33 »

Всем доброго времени суток.
Нашел подобную статью на  о выводе дополнительных полей для страниц - категории и материалов К2.
Подскажите пожалуйста есть ли данное решение для - Тегов и Страниц пользователя (автора)?
Или у кого есть какие идеи как это организовать - буду очень признателен.

для страниц тегов решение на форуме было
Записан
wemon
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #2 : 15.06.2016, 12:42:27 »

для страниц тегов решение на форуме было
Подскажите пожалуйста ссылочку.... Не могу найти. Может тему удалили.
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #3 : 15.06.2016, 14:52:54 »

Подскажите пожалуйста ссылочку.... Не могу найти. Может тему удалили.
Лови код, правда это мой и он цепляется к alias/ Псевдоним Вставляешь вверх шаблона вывода или ну вобщем куда нужно. Ничего сложного, обычное формирование массива в цикле
Код:
if ($this->item->extra_fields) {
foreach($this->item->extra_fields as $this->item->extra_field) {$this->item->extra[$this->item->extra_field->alias] = $this->item->extra_field;}
}
Вывод так (price - это алиас)
Код:
имя поля - <?php echo $this->item->extra['price']->name; ?>
значение - <?php echo $this->item->extra['price']->value; ?>

P.S не забудь удалить старый вывод
Записан
wemon
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #4 : 15.06.2016, 17:06:15 »

Спасибо за подсказку Septdir.
Попробовал все равно не выводит нужные поля.  ! Просто материалы без доп.полей.
Сейчас выводит на странице тегов все поля которые присутствуют для материала К2.... Что не есть хорошо.
Для страниц автора - совсем печалька, тут вообще  ничего не выводится.
На данный момент все настроил только для категории и материалов - по инструкции с сайта (Джумфанс) все работает.
Но как прикрутить для тегов и страниц автора.... Пока загвоздка.
Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #5 : 15.06.2016, 19:46:14 »

Спасибо за подсказку Septdir.
Попробовал все равно не выводит нужные поля.  ! Просто материалы без доп.полей.
Сейчас выводит на странице тегов все поля которые присутствуют для материала К2.... Что не есть хорошо.
Для страниц автора - совсем печалька, тут вообще  ничего не выводится.
На данный момент все настроил только для категории и материалов - по инструкции с сайта (Джумфанс) все работает.
Но как прикрутить для тегов и страниц автора.... Пока загвоздка.
Все просто
$this->item->extra_fields - это массив с доп полями. на странице материала и на странице тэгов он разный. Так к примеру ну тэгах это будет выглядеть так
после
Код:
<?php foreach($this->items as $item): ?>
Добавить код
Код:
<?php
if ($item->extra_fields) {
foreach($item->extra_fields as $item->extra_field) {$item->extra[$item->extra_field->alias] = $item->extra_field;}
}
?>
А вывод будет уже
Код:
имя поля - <?php echo $item->extra['price']->name; ?>
значение - <?php echo $item->extra['price']->value; ?>
Прочитай код найди отличия
Записан
wemon
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #6 : 15.06.2016, 20:19:36 »

На странице тегов стало все получилось.... Спасибо.
Но все же осталась проблема с страничкой автора - Данного параметра здесь нет в помине
Код:
extra_fields
разработчики забыли что доп. поля здесь тоже нужны.
В настройках К2 также отсутствуют какие либо упоминания о доп. полях на странице автора.
Понимаю что морочу голову но как быть с этим ?
Методом тыка и перебора попробовал сделать.... Ничего.
« Последнее редактирование: 15.06.2016, 20:27:09 от wemon » Записан
Septdir
Живу я здесь
******

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

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


Skype: septdir


« Ответ #7 : 15.06.2016, 23:09:45 »

Но все же осталась проблема с страничкой автора - Данного параметра здесь нет в помине
Тут немножко сложнее (мне все равно скоро это надо было делать, так что заодно посомтрел) Значит так
Файл \components\com_k2\models\item.php примерно 181 строка так код
Код:
//Extra fields
if ((($view == 'item' || $view == 'relatedByTag') && $item->params->get('itemExtraFields')) || ($view == 'itemlist' && ($task == '' || $task == 'category') && $item->params->get('catItemExtraFields')) || ($view == 'itemlist' && $task == 'tag' && $item->params->get('tagItemExtraFields')) || ($view == 'itemlist' && ($task == 'search' || $task == 'date') && $item->params->get('genericItemExtraFields')))
{
$item->extra_fields = $this->getItemExtraFields($item->extra_fields, $item);
}
Меняем (Добавить обработку доп. полей в в user) Добавим  || $view == 'itemlist' && $task == 'user' в конец услови
Код:
//Extra fields
if ((($view == 'item' || $view == 'relatedByTag') && $item->params->get('itemExtraFields')) || ($view == 'itemlist' && ($task == '' || $task == 'category') && $item->params->get('catItemExtraFields')) || ($view == 'itemlist' && $task == 'tag' && $item->params->get('tagItemExtraFields')) || ($view == 'itemlist' && ($task == 'search' || $task == 'date') && $item->params->get('genericItemExtraFields')) || $view == 'itemlist' && $task == 'user')
ну а дальше все тоже самое как и тэгов

P.S не надо ничего делать методом тыка.
Сделал
Код:
<pre>
<?php print_r($твой_массив);?>
</pre>
Ну или var_dump и смотри что в массив прилетает
« Последнее редактирование: 15.06.2016, 23:15:48 от Septdir » Записан
wemon
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #8 : 15.06.2016, 23:46:13 »

Спасибо Septdir, все работает теперь.... Очень признателен за помощь.
Записан
Страниц: [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