Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Latest commit

 

History

History
75 lines (43 loc) · 8.21 KB

README.ru.md

File metadata and controls

75 lines (43 loc) · 8.21 KB

CFI

Version Joomla! Php

ВАЖНО! Релиз 1.0.15 является финальным, дальнейшее сопровождение данного расширения не планируется.

Системный плагин для Joomla! 3.7+ для импорта и экспорта материалов с участием настраиваемых полей.

Адаптировано для Joomla! 4.

Плагин предназначен для импорта и экспорта стандартных материалов и кастомных настраиваемых полей для них.

Экспорт изначально адаптирован под открытие результирующего файла в MS Excel или его аналогах.

ВАЖНО:

  • Плагин не обрабатывает содержимое материалов и кастомных настраиваемых полей!
  • Плагин не обрабатывает изображения для вступительного и полного текста материала!
  • При выборе конкретной категории вложенные категории не обрабатываются! Это сделано специально: не всем и не всегда необходимо обрабатывать вложенные категории.
  • Плагин не обрабатывает категории материалов и категории вообще: только сами материалы! При импорте данных категории не создаются!

Причина вышеописанных ограничений и оговорок очень проста: изначальная цель работы плагина – обработка кастомных настраиваемых полей материала, и не более того.


Описание формата файла

Данные экспортируются в файл и импортируются из файла формата CSV с обязательным разделителем ;.

Кодировка файла по умолчанию, если не установлена опция «Преобразовывать кодировку…»: UTF-8 w/o BOM. Поддерживается автоматическое преобразование кодировки, указанной в единственной настройке плагина.

Первая строка файла всегда представляет собой заголовки полей файла.

Зарезервированные имена полей:

  • articleid – id обновляемого материала, содержит значение 0 для вновь добавляемого материала, игнорирует строки для материалов с несуществующим id (обязательное поле);
  • articletitle – заголовок материала (обязательное поле);
  • articlecat – id категории материала, для новых материалов при отстутсвии поля или указания id несуществующей категории будет применена категория «Uncategorised», для существующих материалов игнорируется;
  • articlelang – язык материала, для новых материалов при отстутствии поля материал будет доступен для всех языков, для существующих материалов игнорируется;
  • articleintrotext – вступительный текст материала;
  • articlefulltext – полный текст материала.

Поля articleid и articletitle являются обязательными, при их отстутствии импорт данных из файла не производится.

Любые иные основные поля материала игнорируются.

Любые иные имена полей принимаются за имена настраиваемых полей материала. В случаях отстутствия у материала указанных настраиваемых полей последние будут игнорироваться.

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

Даные об ошибках импорта хранятся в логе cfi.php в стандартной папке логов Joomla!.

При отсутсвии ошибок импорта данных импортируемый файл удаляется, в противном случае файл сохраняется в стандартной папке временных файлов Joomla!.


Формат данных

При экспорте данные записываются в файл как есть, в том формате, в котором они хранятся в БД вашего сайта: простой текст, текст с разметкой HTML, структуры json, иные сложные строковые структуры.

Для стандартных настраиваемых полей Joomla! списочного типа, возвращающих структуры хранимых данных в виде неассоциированных массивов, в результирующий файл возвращается json. Для нестандартных полей в файл перед json-значением записывается структура array::: это необходимо для того, чтобы при возможном последующем импорте этих данных плагин смог разобрать json-значение из файла и подставить соответствующему полю подготовленный массив. Если из вышеуказанной фразы вы ничего не поняли – не страшно, просто не трогайте значение array:: в вашем файле или удалите этот столбец полностью во избежание повреждения данных соответсвующего поля материала.


Защита данных при импорте

Данные настраиваемых полей записываются в БД прямыми запросами и не подвергаются какой-либо обработке. Ввиду того, что в этих данных могут присутствовать теги HTML-разметки, json-строки или иные строковые конструкции, содержащие специализированные символы, экранирование данных не производится! Пожалуйста, обеспечьте безопасность импортируемых данных на этапе генерации файла для импорта данных в Joomla!.

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


Более полная документация здесь: https://joomline.ru/docs/104-cfi.html