Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (33 sloc) 6.67 KB

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.

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

You can’t perform that action at this time.