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

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Пытаюсь модифицировать процесс заказа.
Для этого нужен доступ к информации о пользователе, добавленных им товарах, и самое главное - о выбранных способах доставки и оплаты.
Подскажите, куда записывается эта информация в процессе того, как посетитель добавляет товары в корзину и оформляет заказ? И как ее можно изменить?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вся информация о заказе хранится в сессии, после подтверждения она записывается в БД, а  в сессии - стирается.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Вся информация о заказе хранится в сессии.
очень поверхностно представляю, что сессия представляет из себя и как изменить эту информацию. Не могли бы описать поподробней, или кинуть ссылку?
*

flyingspook

  • Moderator
  • 3590
  • 247 / 9
Цитировать
Сессия на сайте - серия запросов к серверу, сделанных одним пользователем в заданный промежуток времени. В течение сессии пользователь обращается к тем либо иным страницам сайта, и каждый его запрос отражается в логах сервера. Сессия считается завершенной, если в течение 30 минут от пользователя не поступило к серверу ни одного нового запроса.
Сессия на сайте - время от подсоединения пользователя к серверу до обрыва связи или отсоединения.
Цитировать
Сессии (сеансы) в PHP

Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу отсылаются броузером серверу.

Использование сессий и cookies очень удобно и оправдано в таких приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении нескольких станиц, а, во-вторых, своевременно предоставлять пользователю новую информацию.

Протокол HTTP является протоколом "без сохранения состояния". Это означает, что данный протокол не имеет встроенного способа сохранения состояния между двумя транзакциями. Т. е., когда пользователь открывает сначала одну страницу сайта, а затем переходит на другую страницу этого же сайта, то основываясь только на средствах, предоставляемых протоколом HTTP невозможно установить, что оба запроса относятся к одному пользователю. Т. о. необходим метод, при помощи которого было бы отслеживать информацию о пользователе в течение одного сеанса связи с Web-сайтов. Одним из таких методов является управление сеансами при помощи предназначенных для этого функций. Для нас важно то, что сеанс по сути, представляет собой группу переменных, которые, в отличие от обычных переменных, сохраняются и после завершения выполнения PHP-сценария.

При работе с сессиями различают следующие этапы:

    открытие сессии
    регистрация переменных сессии и их использование
    закрытие сессии
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
очень поверхностно представляю, что сессия представляет из себя и как изменить эту информацию. Не могли бы описать поподробней, или кинуть ссылку?
В дополнение к посту от flyingspook:
В PHP сессия сохраняется в суперглобальном массиве $_SESSION. Мы можем сохранить какую-нибудь информацию таким образом
Код: php-brief
$_SESSION['имя']=значение;
У Joomla есть свои методы работы с сессиями, здесь можно читать об этом.

Не будь паразитом, сделай что-нибудь самостоятельно!
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Вся информация о заказе хранится в сессии, после подтверждения она записывается в БД, а  в сессии - стирается.
Товарищ, может вы знаете почему какие то значения в сессии получается изменить, а какие то нет.
Например у меня контактная форма при заказе своя, т.к. стандартная не подходит. И хочу туда скинуть данные, но они не записываются. Суть проблемы изложил здесь http://joomlaforum.ru/index.php/topic,319306.msg1591007.html#msg1591007
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление значения поля, заполняемого покупателем в тему письма о заказе

Автор aleks_yug

Ответов: 9
Просмотров: 1402
Последний ответ 29.02.2020, 13:46:19
от rsn
Отправка уведомления о заказе на несколько адресов

Автор sept

Ответов: 5
Просмотров: 7273
Последний ответ 17.08.2018, 16:48:42
от Akeksandr
E-mail администратору о заказе отстутствующего товара

Автор SolopoV

Ответов: 2
Просмотров: 1122
Последний ответ 08.01.2017, 16:13:52
от SolopoV
Данные дочерних товаров в категории товаров

Автор SolopoV

Ответов: 5
Просмотров: 1548
Последний ответ 27.12.2016, 12:00:47
от kunev
Звуковое оповещение менеджера о заказе

Автор chiperok

Ответов: 3
Просмотров: 1265
Последний ответ 27.03.2016, 20:54:29
от gartes