Skip to content

Latest commit

 

History

History
85 lines (48 loc) · 7.72 KB

README.ru.md

File metadata and controls

85 lines (48 loc) · 7.72 KB

Форк сделан, так как плагин работал местами некорректно

Список правок

При экспорте в столбце fulltext была строка fulltext FIXED

При выборе категории экспорт шёл без учета вложенности FIXED

при экспорте всё равно зачем-то конвертился в CP1251, даже если не стояла галочка FIXED - и добавлена опция как ставить галочку по умолчанию

при экспорте добавлена строка categoryname с путем категории

при иморте категория опознавалась только по id FIXED - если пропущена id категории то она опознается по path, правда пока не создается

BOM не обрабатывался FIXED

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