Новости Joomla

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

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

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

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

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

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 2 Ответов
  • 4738 Просмотров
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Заморочился обновлением Joomla 1.5 до Joomla 2.5, чтобы потом перейти на 3.Х
Удалил все лишнее с J1.5 , поудалял все левые плагины, модули и т.п. В итоге получилось обновиться с помощью JUPGRADE без ошибок. Но JUPGRADE не переносит вложения.
Нашел такую инструкцию по миграции вложений: http://jmcameron.net/attachments/migration/migrate-1.5-to-2.5.html
Сделал все  по инструкции.. Ниже опишу...

Проблема старая:
"Кодировка имен файлов вложений (UTF-8 как я понимаю) "
имена имеют такой вид: 񢑹񢑲񮱢񮕇ݰ�񢱠񢑲񢱥񟫫񟮁񢱠񢑦񟮁 񟭦񢋦񢑰⑦񢱠񢑦񮱢񮕇ݰ񟭦񮕇ⱡѦ񢑦 񢑸 񟮀񟭦񢑶񮱩񟮁񢑹񟫫񟮁񢱠񢑦񢑦 񮕇ݰ�񮱩񮱩񢑦񮕇ݰ⑲񮱩񢑦񢑦 񟮀񟭦 񢑜񢑆񢑸񢱪 񢑸񢑸񢱼 𧕇ؔȴ4.pdf

И теперь в Joomla 2.5 компонент Attachments не видит эти файлы. При этом если добавить новое вложение к существующему материалу с вложением, то имя нового файла отображается корректно, например в тотал коммандере:

о внутреннем распорядке учащихся.docx   - это новый залитый файл
ݰ⑲񮱩񢑦񢑦 񟮀񟭦 񢑜񢑆񢑸񢱪 񢑸񢑸񢱼 𧕇ؔȴ4.pdf                 - это старый от Attachments v2.2

ВОПРОС: Как теперь перекодировать старые файлы в видимо другую кодировку, чтобы Attachmets увидел их?

Это читал: http://joomlaforum.ru/index.php/topic,77184.0.html Но тут проблема в уже существующих именах файлов.
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Вот кстати пошагово инструкция по переносу вложений с Joomla 1.5 на Joomla 2.5 (перевел, как смог):
Необходимые условия для успешной миграции:
  • Joomla 1.5 Компонент Attachmets должен быть обновлен до версии 2.2
  • Joomla  2.5+ должен быть 2.5.7 или более поздней версии
  • Касаемо Joomla  2.5+. Если вы используете Инструменты какие либо для переноса вашего сайта из Joomla 1.5 на Joomla 2.5+, они могут попытаться перенести вложения к материалам, но Attachments не будет работать должным образом. Перед установкой Attachments, вам нужно будет удалить любую старую версию и удалить все файлы, относящиеся к вложениям .
  • В статье идентификаторы и названия должны быть идентичны в системе Joomla 1.5 и системы Joomla 2.5+. Если нет, то править вручную
  • Идентификатор пользователя и имена пользователей, которые создали вложения в системе Joomla 1.5 должны быть такими же, как на системе Joomla 2.5+.Если нет, то править вручную
  • Файлы вложений должны существовать для всех вложений, иначе будут ошибки


1. Экспорт  вложений из вашего сайта Joomla 1.5

Версию Attachments  обновить до версии 2.2 или более поздней версии.
По ссылке скачать код php : http://jmcameron.net/attachments/migration/_downloads/special.php.txt
Создать файл в "special.php" на локальном компьютере (без BOM естественно) и загрузить его на сайт Joomla 1.5, чтобы заменить файл:
   administrator/components/com_attachments/controllers/special.php
Этот файл  добавляет функцию экспорта вложений в файл CSV .
Зайти в админку и выполнить такой код URL:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&controller=special&task=export_attachments_to_csv_file
Это попросит вас сохранить файл CSV миграции с именем 'migrate_attachments.csv' на локальном компьютере.
Скопируйте все вложения файлов на вашем сайте Joomla 1.5, создав архив ZIP из этого каталога: 
HTTP: // <YourSite> /attachments


2.Импорт старых Вложений на Joomla 2.5+
Удалите все  новые вложения с сайта Joomla 2.5+

Перейти на страницу Вложения в админке,
Нажмите на кнопку "Настройки" на панели инструментов,
Выберите вкладку "Basic" и
Установите значение "По умолчанию уровень доступа" до нужного уровня доступа.

Скопируйте архив  вложений, файлов на ваш сайт Joomla 2.5+.
Загрузите или скопируйте файл миграции ( 'migrate_attachments.csv') например в папку tmp сайта.

Заходим в админку и в URL пишем такой код:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&task=utils.installAttachmentsFromCsvFile&filename=/path/to/migrate_attachments.csv&dry_run=1

ГДЕ  ‘/path/to/migrate_attachments.csv' - полный путь. Т.е к примеру для ISP панели:
/var/www/........./data/www/<YourSite>/tmp/migrate_attachments.csv&dry_run=1
Т.е если файл миграции закачали в папку tmp то будет такой полный путь. Смотрите полный путь к папке tmp в файле configuration.php вашей Joomla
Обратите внимание, что путь не может является URL (начиная с https: или FTP:)!

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

Предупреждение: При редактировании файла миграции CSV, проверьте, что вы используете редактор, который не вставляет Byte Order Marker (BOM).
Предупреждение:НЕ ИСПОЛЬЗОВАТЬ программу работы с электронными таблицами, как "Excel" , так как есть хороший шанс, что это добавит дополнительные символы и привести к ошибкам

(Я тупо удалил из CSV файла  Notepad-ом все сточки на которые выходила ошибка (из 120 вложений -7 были косячными))


3. Если все ОК!

Если вы правильно отредактировали SCV файл. И он обработался корректно вы увидите такое сообщение:
"Data for attachments is okay.
Rerun without 'dry_run' option to add attachments."
по русски было так:
"Данные для 113 вложений корректны. Для добавления вложений необходимо обновить страницу без ее полной перезагрузки [ERR 162]"

После этого нужно еще раз выполнить URL запрос но без "dry_run" флага!
А именно: в запросе убираем тект "&dry_run=1"
Т.е запрос будет выглядеть так:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&task=utils.installAttachmentsFromCsvFile&filename=/path/to/migrate_attachments.csv

Все: видим сообщение: Добавлены данные для 113 вложений!

4. Заходим в компоненты\вложения  и в Utils компонента исправляем имена файлов
   Regenerate system filenames
   Востановить системные имена файлов


У меня все перенеслось. ВСЕ ПРОШЛО УДАЧНО СО ВТОРОГО РАЗА

МОЖЕТ КОМУ ПРИГОДИТЬСЯ ДАННАЯ ИНСТРУКЦИЯ, буду рад.
« Последнее редактирование: 22.03.2017, 14:53:36 от CrazyPr0ger »
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Не все так гладко пошло в начале, поэтому опишу свои ошибки, чтоб никто на грабли не наступал более:
- Не делайте это все через Google Chrome - получите кучу глюков И КОСЯКИ В КОДИРОВКЕ О КОТОРЫХ И ПИСАЛ ВЫШЕ. У меня прошло все удачно только в Мазиле
-Экспорт  вложений из вашего сайта Joomla 1.5 - делайте прямо на старом сайте , на старом хостинге ОНЛАЙН , т.е там где 1.5 стабильно работала и только из под мазилы, она не портит кодировку имен файлов вложений. Хром корявит кодировку!
- Файл миграции migrate_attachments.csv редактируйте прогой Notepad++ в кодировке UTF-8 , благо он сам определяет кодировку
-Желательно делайте все на англицкой версии Juumla 2.5

И еще, у меня получилось так, что часть вложений была привязана к уже удаленным материалам, и при миграции  выходила ошибка с ID материала и адресом строки в файле migrate_attachments.csv, я просто удалял нотепадом строку целиком и загружал обновленный файл миграции обратно и снова запускал команду HTTP: // <YourSite> /administrator/index.php?option=com_attachments&controller=special&task=export_attachments_to_csv_file пока не появилось сообщение что все ОК. Пришлось править файлик раз 20.
« Последнее редактирование: 22.03.2017, 14:54:59 от CrazyPr0ger »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Attachments Joomla похоже все. Альтернативы есть?

Автор wishlight

Ответов: 19
Просмотров: 5604
Последний ответ 29.03.2019, 21:12:04
от effrit
Joomla 3.8 и Attachments - не отображаются вложенные файлы

Автор dimetrius

Ответов: 4
Просмотров: 4873
Последний ответ 02.01.2018, 12:36:00
от wishlight
Баги при работе с Joomla 3.7 и Attachments

Автор Alexis001

Ответов: 1
Просмотров: 4366
Последний ответ 12.05.2017, 14:45:24
от Alexis001
[Решено] Добавление справа от списка файлов ссылки для просмотра онлайн через Google

Автор falconpvt

Ответов: 9
Просмотров: 5404
Последний ответ 22.09.2016, 22:33:38
от falconpvt
Перенос сайта на другой хостинг и проблема!

Автор WorkVladimir

Ответов: 1
Просмотров: 4897
Последний ответ 09.04.2015, 00:17:21
от WorkVladimir