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

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

Вывести определённое допполе в модуле K2 Content

 (Прочитано 305 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dorfman
Живу я здесь
******

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

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


Почти влез...


« : 07.02.2016, 14:35:22 »

Всем привет!
Никогда не сталкивался с этим модулем, т.к. не было необходимости.
Но вот понадобилось вывести (через пункт меню) список избранных материалов из одной категории. Я почему-то был уверен, что в типах меню К2 такое можно сделать... Однако при попытке вывести в тип пункта меню определённую категорию вылез глюкодром: при назначении конкретной категории все остальные настройки данного типа пункта меню перестали сохраняться: хотя выставить желаемые параметры можно, но после сохранения пункта меню снова остаются старые параметры.

Разбираться особо не стал, благо на аналогичном проекте попытался повторить данные действия - глюки также повторились.

В процессе нашёл кривой, но выход - опубликовать модуль k2_content, благо в нём есть возможность вывести только избранные материалы из определённой категории. И как бы всё работает, кроме...
Т.к. я пилю проект более для смартфона, нежели для компа (каталог клиентов), есть задача - вывести одно из допполей в виде ссылки с номером телефона в виде:
Код
<a href="tel:12345678">12345678</a>

И если в переопределённых шаблонах компонента K2 (item.php, category_item.php) следующая конструкция работает:
Код
$extrafields = array();
foreach($this->item->extra_fields as $item)
{
$extrafields[$item->id] = $item->value;
}
 
echo $extrafields[2];
// or echo $extrafields[alias];

то в модуле работать отказывается.
То есть на выходе мне нужно получить что-то типа
Код
<a href="tel:<?php echo $extrafields[alias]; ?>"><?php echo $extrafields[alias]; ?></a>
Куда копать?

ПыСы: вариант "добавить ссылку в допполе при заполнении материала" не предлагать: заполняется блондинками!
« Последнее редактирование: 07.02.2016, 14:59:49 от Dorfman » Записан
Duff89
Захожу иногда
**

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

Сообщений: 21


« Ответ #1 : 08.02.2016, 01:42:11 »

Как вариант можно попробовать такой код:
Код:
$extra_fields = json_decode($row->extra_fields );
$pole1 = $extra_fields[1]->value;//значение доп поля под номером 2
минус в том, что выводиться допполе не по id, а по порядковому номеру, причем отсчет идет с 0. Т.е если допполя часто не добавлять, изменять то такой вариант вполне ничего
Записан
Dorfman
Живу я здесь
******

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

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


Почти влез...


« Ответ #2 : 08.02.2016, 10:41:08 »

Не-а, не пашет. Я подозреваю, что дело тут:
Код
$extrafields = array();
foreach($this->item->extra_fields as $item)
{
$extrafields[$item->id] = $item->value;
}

$this тут явно не в тему...
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #3 : 08.02.2016, 11:03:35 »

Код:
$item->extraFields->alias->value
Записан
Dorfman
Живу я здесь
******

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

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


Почти влез...


« Ответ #4 : 08.02.2016, 23:09:55 »

Код:
$item->extraFields->alias->value
Ай спасыб! Ай маладэс!
Нет, без преувеличения - огромное спасибо! Натыкался-намыкался, с этим модулем дурацким! Чуток разберусь со своими косяками - выложу в паблик полное решение проблемы!
Записан
ihos
Осваиваюсь на форуме
***

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

Сообщений: 71


« Ответ #5 : 01.06.2016, 20:11:27 »


$item->extraFields->alias->value куда его вставлять. Вы не делали инструкци по полному решению...
Записан
Страниц: [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