Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
Здравствуйте!
Сайт стоял на VPS с php 5.2 - все было в порядке. Сейчас переехал на другой vps, на котором php 5.3
На сайте используется модуль, в котором формируется ссылка на страницу такого вида:
index.php?option=com_joomleague&view=resultsranking&p=81%3Abasketbol-superliga-2012-2013&Itemid=49

проблема в том, что  Itemid определяется неправильно. вместо того чтоб подцепить правильный Itemid из меню - модуль цепляет первый из возможных Itemid меню! все такие же модули которые сделаны до перехода на новый php работают хорошо, все которые создавались после переезда - работают неправильно.

Что я смог предположить: главное меню сайта использует функцию eregi
Я ее заменил на preg_mach - не помогло. может неверно заменил? теперь выглядит вот так:

Код
case 'url':
if ( preg_match( '/index.php\?/i', $row->link ) ) {
if ( !preg_match( '/Itemid=/i', $row->link ) ) {
$row->link .= '&Itemid='. $row->id;
}
}
break;
 

а было так:
Код
case 'url':
if ( eregi( 'index.php\?', $row->link ) ) {
if ( !eregi( 'Itemid=', $row->link ) ) {
$row->link .= '&Itemid='. $row->id;
}
}
break;

Может что-то еще посоветуете проверить?
« Последнее редактирование: 21.11.2012, 02:36:22 от eu4ria »
*

eu4ria

  • Захожу иногда
  • 138
  • 4 / 0
круг поиска сузился до функции function _findItem($query) в components/com_joomleague/helpers/router.php
она такая:
Код
function _findItem($query)
{
$component =& JComponentHelper::getComponent('com_joomleague');
//$menus = & JSite::getMenu();
$menus =& JFactory::getApplication()->getMenu() ;

$items = $menus->getItems('componentid', $component->id);
$user = & JFactory::getUser();
$access = (int)$user->get('aid');

когда пробую менять, по советам которые нахожу на форумах, строку
Код
$items	= $menus->getItems('componentid', $component->id);
на
Код
$items	= $menus->getItems('component_id', $component->id);
itemId вообще перестает определяться ((((
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает компонент контакты (отправка почты) 1.5.14

Автор AlexStra

Ответов: 21
Просмотров: 19908
Последний ответ 06.03.2020, 15:39:36
от voland
Проблема с редиректом

Автор cher68

Ответов: 2
Просмотров: 4380
Последний ответ 03.08.2019, 18:46:28
от cher68
Не работает обратная связь!

Автор Евгения987

Ответов: 1
Просмотров: 4699
Последний ответ 30.03.2018, 15:12:51
от rkron
Проблема с генерацией нового пароля взамен забытого старого в 1.5.16-1.5.17?

Автор ecolora

Ответов: 30
Просмотров: 31078
Последний ответ 08.12.2017, 12:25:27
от Masha2245
не работает обратная связь на Joomla 1.5

Автор Oxxxytip

Ответов: 0
Просмотров: 2365
Последний ответ 28.09.2017, 03:01:40
от Oxxxytip