Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

CFI

Version Joomla Php

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

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

Экспорт изначально адаптирован под открытие результирующего файла в 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