Новости 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 Гость просматривают эту тему.
  • 10 Ответов
  • 3439 Просмотров
*

z0dchij

  • Осваиваюсь на форуме
  • 45
  • 9 / 0
Здравствуйте! У меня вопрос следующий.
Необходимо лишить посетителей сайта возможности авторизоваться или зарегистрироваться на сайте в принципе. Ну и сбросить и восстановить(напомнить) логин либо пароль. У меня Joomla! 2.5.6

На сайте не планируется авторизация. В крайнем случае я смогу воспользоваться недостающими файлами и папками из архива Joomla!

Просто даже если модуль отключен, форма на сайт не выводиться, все вроде хорошо. Но что стоит добавить к адресу странички:
Код
/index.php?option=com_users&task=registration
или
/component/users/?view=reset
или
/component/users/?view=remind
или
/component/users/?view=registration
и вуаля. И это при отключенном модуле формы авторизации.

Просьба предлагать действенные способы, желательно опробованные на практике и применительно к версии 2.5.х

Одна из идей - делать редиректы в .htaccess на страницу ошибки 404. Преимущество ее - при обновлениях Joomla не нужно будет править все заново, и так достаточно хаков которые нужно каждый раз восстанавливать. Насколько эффективен по-вашему этот способ?

В Сети много рекомендаций, но на многое смотришь сквозь пальцы, по понятным причинам. Хочу услышать мнения профи. Спасибо.
« Последнее редактирование: 23.06.2012, 02:30:33 от z0dchij »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php if (JRequest::getVar('option', null) =='com_users') JError::raiseError(404, 'Страница не найдена'); ?>
Вставить в шаблон
*

zikkuratvk

  • Глобальный модератор
  • 4824
  • 346 / 2
  • Обслуживаем проекты - дорого.
Я сильно в этот вопрос не вникал.. но помоему все это настраивается через права Joomla.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Может я и туплю, но при чем тут модуль авторизации.
Отключение возможности авторизации находится в Общих настройках в админ. панели.
Но, конечно, модуль авторизации все-равно с публикации снимать надо.
*

z0dchij

  • Осваиваюсь на форуме
  • 45
  • 9 / 0
Всем спасибо.
Poznakomlus, я так понимаю, выдается стандартная страница 404 ошибки сервера? Просто у меня сделана своя страница ошибки путем правки файла /templates/system/error.php И я хотел бы чтобы страница ошибки выдавалась именно в том виде какой ее генерирует error.php. Ни стандартная белая страница ни страница с красной рамочкой Joomla! меня не устраивают.

Кроме того, если Вас не затруднит, поясните, что делает эта строка. Если я правильно понял, она обрабатывает обращения к com_users и выдает ошибку 404?
Если так, то не будет ли Ваш способ препятствием для захода в админку?

zikkuratvk, спасибо. SK, туплю я, действительно, через настройки менеджера пользователей регистрацию можно запретить и еще кое-какие ограничения поставить. А через Права доступа Общих настроек можно сконфигурировать все остальное. Но! Я хотел бы пресечь и саму возможность получения формы пользователем.
И поэтому способ с перенаправлением по-моему самый удачный. Но я не уверен, что перечисленные мной в первом посте пути доступа к различным функциям формы регистрации ограничиваются приведенными. И если я сделаю редиректы, например, через .htaccess, не будут ли найдены другие способы "увидеть" форму.

Исходя из вышесказанного, способ предложенный Poznakomlus считаю для себя пока самым удачным. Просьбу об уточнениях к нему я изложил выше.

Еще раз всем спасибо. Пишите, у кого еще есть какие идеи.
« Последнее редактирование: 23.06.2012, 19:22:55 от z0dchij »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Poznakomlus, я так понимаю, выдается стандартная страница 404 ошибки сервера? Просто у меня сделана своя страница ошибки путем правки файла /templates/system/error.php И я хотел бы чтобы страница ошибки выдавалась именно в том виде какой ее генерирует error.php. Ни стандартная белая страница ни страница с красной рамочкой Joomla! меня не устраивают.
Кроме того, если Вас не затруднит, поясните, что делает эта строка. Если я правильно понял, она обрабатывает обращения к com_users и выдает ошибку 404?
Если так, то не будет ли Ваш способ препятствием для захода в админку?
Пояснение к коду
<?php if (JRequest::getVar('option', null) =='com_users') JError::raiseError(404, 'Страница не найдена'); ?>
если компонент com_users отображаем страницу ошибку  404 с правильным заголовком.HTTP/1.1 404 Not Found
файл определяющий стандартный вывод ошибок в Joomla должен находится в папке вашего шаблона error.php
если его там нет, скопируйте его с папки /templates/system/
Этому файлу(error.php) вы можете задать оформление какое вам угодно, правкой самого файла
Данное решение, никоим образом не влияет на работу админки сайта
*

z0dchij

  • Осваиваюсь на форуме
  • 45
  • 9 / 0
Poznakomlus, спасибо.
Действительно, в папке с моим шаблоном файла error.php нет. Из папки /templates/system/ я его скопирую. Он уже оформлен так как мне надо.

Если я правильно понял, приведенную строку кода следует вставить в файл index.php в корне используемого шаблона?
А куда именно ее вставлять, в какую секцию, после или перед чем?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Вставлять, желательно, в самое начало шаблона.
Пример
Код: php-brief
<?php
defined('_JEXEC') or die;
if (JRequest::getVar('option', null) =='com_users') JError::raiseError(404, 'Страница не найдена'); return;
 ?>
*

z0dchij

  • Осваиваюсь на форуме
  • 45
  • 9 / 0
То есть если у меня:
Код
<?php
defined('_JEXEC') or die;JHTML::_('behavior.framework', true);
$app = JFactory::getApplication();
$tplparams = $app->getTemplate(true)->params;
?>

и я сделаю так:

Код
<?php
defined('_JEXEC') or die;
if (JRequest::getVar('option', null) =='com_users') JError::raiseError(404, 'Страница не найдена');
JHTML::_('behavior.framework', true);
$app = JFactory::getApplication();
$tplparams = $app->getTemplate(true)->params;
?>

Так будет правильно?
« Последнее редактирование: 24.06.2012, 13:45:05 от z0dchij »
*

z0dchij

  • Осваиваюсь на форуме
  • 45
  • 9 / 0
Re: Исключить возможность авторизации
« Ответ #10 : 24.06.2012, 21:00:53 »
Poznakomlus, я Вам благодарен конечно, как и всем, что не остались равнодушны, но Ваш способ у меня не работает. Никакого редиректа на страницу ошибок не происходит, абсолютно ничего не поменялось.
Будем думать дальше.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Взломали сайт, что делает код?

Автор Леон

Ответов: 11
Просмотров: 2151
Последний ответ 01.12.2016, 11:58:25
от wishlight
Вирус js.redirector.304

Автор tegos134

Ответов: 1
Просмотров: 1566
Последний ответ 24.08.2016, 22:18:17
от beliyadm
В Head появляется скрипт

Автор Zegeberg

Ответов: 3
Просмотров: 1563
Последний ответ 23.06.2016, 16:07:19
от Zegeberg
Проблемы с правами после смены хостинга

Автор Леон

Ответов: 2
Просмотров: 1508
Последний ответ 10.05.2016, 11:39:36
от Леон
Появляются новые пользователи "Super User" с логи

Автор crcp_kz

Ответов: 9
Просмотров: 3019
Последний ответ 25.04.2016, 11:54:06
от FitMe