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

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
Joomla 1.5.14

Требуется создать 200 новых пользователей по списку из файла excel (c логинами и паролями, что важно, пароль сгенерён экселем и потом используется из этого файла для распечаток купонов).

Делаю через импорт в PHPmyAdmin SQL-файла такой структуры:

INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( 'Уважаемый участник форума', 'nick', md5('nick_password'), 'ivanov@mail.ru', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

Всё отлично, пользователь создаётся, видится в админке...
Но его не пускает авторизация ("логин-пароль не совпадают"), а ещё через пару минут ОН ПРОСТО ПРОПАДАЕТ В БАЗЕ!

Успел заметить, что хеш пароля вроде бы короче, чем у созданных вручную юзеров.
Что не так? Как лечить? Как мне 200 юзеров создать?
Есть ещё какие способы облегчить этот процесс?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а ещё через пару минут ОН ПРОСТО ПРОПАДАЕТ В БАЗЕ!
что значит "пропадает", сама по себе удаляется? мистика прямо :)
Успел заметить, что хеш пароля вроде бы короче, чем у созданных вручную юзеров.
там соль добавляется еще.
*

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
что значит "пропадает", сама по себе удаляется? мистика прямо :)там соль добавляется еще.
Да, именно так - автоматически удаляются записи в таблицах!
(Я вроде на блондинку не похож;)
*

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
Всем спасибо за оперативные и исчерпывающие советы по существу :laugh: :D

Вскрытие показало, что виной всему был компонент Open Source Joomla Membership Control, который убивал в зародыше всех вновь создаваемых без его ведома пользователей! :laugh: crazy!

Убил, пока не разобравшись 8)

А задачу решил так:

Групповое добавление пользователей

Создаём таблицу в Calc (или Excel) с полями:
nick - префикс имени серийного пользователя
num - нумератор, автозаполняем поле инкрементом
nick_password - пароль, например, случайное число умножить на миллион и округлить до 6 знаков. Сохранить значение.
name - серийное обращение, например: "Уважаемый участник форума"
mail - серийная липовая почта (ибо нужна только для регистрации, активация происходит при загрузке), например forum@mail.ru

Далее нужно создать SQL-конструкцию следующего вида необходимое количество раз:

INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( 'name', 'nick+num', md5('nick_password'), 'mail', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

Где nick+num - это полное имя пользователя, полученное слиянием соответствующих полей.

Делается так. На новом листе файла Calc создать ячейку с формулой (жирным отмечены ссылки на описанные выше поля):

=CONCATENATE("INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( '";name;"', '";nick;num;"', md5('";nick_password;"'), '";mail;"', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() ); ")

Протягиваем формулу на нужное количество строк, соответствующее необходимому числу новых пользователей. Далее выделяем весь лист (Ctrl+A), копируем и вставляем выделенный текст в любой текстовый редактор, сохраняем с расширением sql. Если редактор позволяет, предварительно (в пустом файле) выставляем кодировку utf8.
Далее открываем в phpMyAdmin нужную базу данных и на закладке "Импорт" загружаем наш sql-файл. Если заранее не удалось выставить правильную кодировку, указываем здесь cp1251.
Всё, после нажатия кнопки ОК имеем нужное количество новых активированных пользователей в базе.
*

slavajan3

  • Новичок
  • 4
  • 0 / 0
Не могу добавить несколько пользователей сразу, подскажите подробнее КАК?
INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid` )
VALUES( 'Иванов Иван', 'ivanov', md5('12345'), 'ivanov@mail.ru', 'Registered', 18 );
 
INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );
 
INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

так добавляестя один, а как 10, 20, 1000?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Авторизация пользователей

Автор Вик2811

Ответов: 0
Просмотров: 1423
Последний ответ 27.08.2019, 13:55:52
от Вик2811
Не запускается сайт через localhost

Автор renault

Ответов: 45
Просмотров: 33029
Последний ответ 03.03.2016, 19:00:44
от SeBun
НЕ получается сделать импорт свойств и особенностей через CSV improved

Автор Пономарев Дмитрий

Ответов: 0
Просмотров: 1853
Последний ответ 13.11.2015, 11:25:37
от Пономарев Дмитрий
Перестали грузиться картинки через CSV import

Автор Пономарев Дмитрий

Ответов: 0
Просмотров: 1532
Последний ответ 09.11.2015, 13:35:38
от Пономарев Дмитрий
Joomla 1.5 Нужна помощь с phpMyAdmin

Автор azim

Ответов: 0
Просмотров: 1659
Последний ответ 08.09.2015, 12:28:44
от azim