Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

timofe

  • Захожу иногда
  • 149
  • 0 / 0
  • alex tim.
Всем привет!


Есть задача - создать в материале дополнительное поле (например - dop_text), и вывести его в модуле "Последние новости".


Может кто сталкивался и есть решение?
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
получить массив полей и вытащить по ID нужное. по аналогии с компонентом
*

timofe

  • Захожу иногда
  • 149
  • 0 / 0
  • alex tim.
Нашел решение...

Код
<?php
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$item->jcfields = FieldsHelper::getFields('com_content.article', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield) {
    $fields[$jcfield->name] = $jcfield;
}
echo $fields['Название_дополнительного_поля']->rawvalue;
?>
*

onniby

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Очень странный пост, как будто решил чем то похвастаться! Сам спросил, сам ответил, а что по чем не понятно. Вы бы хоть другим объяснили, куда вставлять этот код. Я тоже столкнулся с подобной проблемой, допполя не выводятся в модуль новостей. Может кто более доходчиво объяснить куда что вставить нужно? PHP не знаю, разбираюсь чисто интуитивно, куда что вставлять и что нужно удалить или переместить. Буду благодарен за конкретную помощь.
*

onniby

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Нашел решение...

Код
<?php
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$item->jcfields = FieldsHelper::getFields('com_content.article', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield) {
    $fields[$jcfield->name] = $jcfield;
}
echo $fields['Название_дополнительного_поля']->rawvalue;
?>

Нашел вывод новостей, вставил код, ничего не работает, эксперементировал, все равно ничего, так что могу предположить, что решение фуфло полное.
*

sivers

  • Живу я здесь
  • 2578
  • 357 / 0
Как раз понадобилось сейчас. Способ выше действительно устарел немного. Для Joomla 4 надо так:
Код
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
...
$fields = FieldsHelper::getFields('com_content.article', $article, true);

Описание параметров:
Код
* @param   string      $context              The context of the content passed to the helper
* @param   null        $item                 The item being edited in the form
* @param   int|bool    $prepareValue         (if int is display event): 1 - AfterTitle, 2 - BeforeDisplay, 3 - AfterDisplay, 0 - OFF
* @param   array|null  $valuesToOverride     The values to override
* @param   bool        $includeSubformFields Should I include fields marked as Only Use In Subform?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

onniby

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Как раз понадобилось сейчас. Способ выше действительно устарел немного. Для Joomla 4 надо так:
Код
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
...
$fields = FieldsHelper::getFields('com_content.article', $article, true);

Описание параметров:
Код
* @param   string      $context              The context of the content passed to the helper
* @param   null        $item                 The item being edited in the form
* @param   int|bool    $prepareValue         (if int is display event): 1 - AfterTitle, 2 - BeforeDisplay, 3 - AfterDisplay, 0 - OFF
* @param   array|null  $valuesToOverride     The values to override
* @param   bool        $includeSubformFields Should I include fields marked as Only Use In Subform?

Вот это интересно.
А не подскажите, куда все это пихать? В _item.php ?
И что на выходе? В первом, видимо, одно название поля - одно поле выводит, а в вашем варианте?
И это только для четверки актуально?
*

sivers

  • Живу я здесь
  • 2578
  • 357 / 0
И это только для четверки актуально?
Проверено на 4-ке. На других версиях не тестил (да и не буду видимо). Использовал это в макете вывода контакта. Скорее всего в других макетах тоже будет работать. Но только там, где доступен объект материала (второй параметр), а точнее - объект контекста, переданного в первом параметре.
А не подскажите, куда все это пихать? В _item.php ?
Да, думаю, что здесь сработает. use надо писать в самом верху, а вторую строку в любом удобном месте макета.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код
$fields = FieldsHelper::getFields('com_content.article', $article, true);
Это если $article это объект с кучей параметров, которые тянут за собой кучу запросов.
А в модуле максимум что может быть это $article->id, который нужно методами цеплять к следующему классу вывода полей, опять же запросы.
Неужели не проще наглядней делать:
Код
$db = JFactory::getDbo();
$query = 'select * from #__fields_values where item_id = "'.$article_id.'"';
$db->setQuery($query);
$fields = $db->loadObjectList();

foreach ($fields as $field) {
if ($field->field_id == 1) {
$p_price = $field->value;
}
if ($field->field_id == 2) {
$p_someone = $field->value;
}
}

В результате имея только ID материала в любом месте мы вытаскиваем строго те доп. поля (по их ID) которые нам тут нужны, а не все скопом и из них выбирая нужные
Для вывода в модулях\разных переразмеченных блогах и прочих элементах самое простое и наглядное решение. Если одно поле - то конечно loadObjectList можно заменить на другой массив без цикла

P.S. конкретный пример. Модуль последних материалов, в шаблон приходят строго определенный массив (id\title\image\link\catid и тд). Нам нужно к 5 выводимым объектам добавить пару доп полей каждого материала - лезть в ядро хелпера для добавления в приходящий объект? Плохо и может убится при обновлении. А так мы шаблон модуля вытащили в шаблон сайта, добавили (согласен, вложенный цикл плохо, но и движок так и делает) нужные поля в нужные места и забыли про это безобразие
« Последнее редактирование: 04.05.2022, 01:23:36 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
пару лет назад всплывал вопрос.
в цикле вызывать родной метод, если записей под 30 - такое себе.
так что да - 1 или 2 запроса (первый - на сбор данных по статьям, второй - по таблице связанных полей).
*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
Код
$fields = FieldsHelper::getFields('com_content.article', $article, true);
Это если $article это объект с кучей параметров, которые тянут за собой кучу запросов.
А в модуле максимум что может быть это $article->id, который нужно методами цеплять к следующему классу вывода полей, опять же запросы.
Неужели не проще наглядней делать:
Код
$db = JFactory::getDbo();
$query = 'select * from #__fields_values where item_id = "'.$article_id.'"';
$db->setQuery($query);
$fields = $db->loadObjectList();

foreach ($fields as $field) {
if ($field->field_id == 1) {
$p_price = $field->value;
}
if ($field->field_id == 2) {
$p_someone = $field->value;
}
}

В результате имея только ID материала в любом месте мы вытаскиваем строго те доп. поля (по их ID) которые нам тут нужны, а не все скопом и из них выбирая нужные
Для вывода в модулях\разных переразмеченных блогах и прочих элементах самое простое и наглядное решение. Если одно поле - то конечно loadObjectList можно заменить на другой массив без цикла

P.S. конкретный пример. Модуль последних материалов, в шаблон приходят строго определенный массив (id\title\image\link\catid и тд). Нам нужно к 5 выводимым объектам добавить пару доп полей каждого материала - лезть в ядро хелпера для добавления в приходящий объект? Плохо и может убится при обновлении. А так мы шаблон модуля вытащили в шаблон сайта, добавили (согласен, вложенный цикл плохо, но и движок так и делает) нужные поля в нужные места и забыли про это безобразие
А можно как то отсортировать материалы по доп полю?
Например, есть поле - Рейтинг, там просто цифры от 0 до 5
Так вот в настройках модуля указать - показывать первыми материалы с рейтингом 5
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1690
Последний ответ 28.04.2025, 10:25:44
от sivers
Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 583
Последний ответ 18.04.2025, 15:39:36
от fbr
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 948
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 607
Последний ответ 22.11.2024, 07:14:15
от stepan39
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 982
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav