Вход • Регистрация

Импортэкспорт xml из своего модуля

  • 24 октября 2022 г. , редакция: 24 октября 2022 г.
  • День добрый. Крайне давно не работал с Diafan, волею судьбы таки довелось. Версия 6.0
    Итак.
    Имею свой модуль, делает "что-то", имеет в списке объектов "какой-то" листинг.
    Все работает как надо, но наполнение данного модуля хорошо бы осуществлять посредством импорта из CSV.

    2 дня я уже сижу и не могу понять, ЧТО ДОЛЖНО быть для осуществления данного функционала?
    Чисто путем изучения соседних дефолтных модулей довелось понять, что требуются как минимум два файла.
    /somemodule/admin/somemodule.admin.express.fields.element.php - как я понял, описание полей для импорта, дабы настроить соответствие в схеме в админке
    /somemodule/somemodule.express.import.php - походу отвечает за сам импорт...и как я понял, хоть и имея внутри кучу магическо рабочих элементов во всем подходе к написанию своего модуля,, импорт нужно писать самому, хотя +- функционал должен быть стандартен. Может так оно и есть, но у меня пока идей нет

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

    Пошел сначала:

    По итогу, создал 2 файла в корне модуля -
    somemodule.express.export.php
    somemodule.express.import.php
    Файлы только с соответсвующим классом внутри наследуемое от Service_express_export и Service_express_import соответственно, тела у классов пустые

    В файле install, как и в БД, поля import и import_id присутствуют.
    У объектов site_id и cat_id поля присутствуют, но другое дело, что привязка модуля к странице не планируется и вьюх не будет.

    Эскпорт полей из модуля невозможен, пишет (Записи, подлежащие экспорту, отсутствуют.), хотя пару объектов в модуле присутствует, правда при смене site_id у любого из этих объектов с 0 на что-то, хотя бы какой то экспорт запускает, правда он пустой внутри всегда, разве что в первой строке наименование поля, но без объектов.

    Про импорт я в принципе молчу, если нет файла somemodule.admin.express.fields.element.php, то соотношение полей в импорте невозможно, т.к. полей из этого модуля просто нет, какие-то левые (идентификатор, название, категория, пропустить, родитель, опубликовать), т.е. таким полей в моем модуле нет, за исключением стандартных вроде пропустить и опубликовать), т.е. как будто дефолтную опись оно берет откуда то еще

    Я не понимаю задумки, весь мозг сломал...

Новости

  • Сегодня, 09:05
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.