Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

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

  • 24 октября , редакция: 24 октября
  • День добрый. Крайне давно не работал с 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, то соотношение полей в импорте невозможно, т.к. полей из этого модуля просто нет, какие-то левые (идентификатор, название, категория, пропустить, родитель, опубликовать), т.е. таким полей в моем модуле нет, за исключением стандартных вроде пропустить и опубликовать), т.е. как будто дефолтную опись оно берет откуда то еще

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

Новости

  • 2 августа
  • Хорошая новость: Diafan стал официальным партнером Яндекс Бизнеса – сервиса для автоматического запуска рекламы в интернете. Теперь у вас есть возможность воспользоваться этим сервисом на выгодных условиях.
  • 7 апреля
  • Друзья, мы все в курсе происходящего. Санкции, стремительный рост инфляции, проблемы с поставками оборудования. Поставщики услуг и провайдеры, с которыми мы сотрудничаем, еще месяц назад подняли цены. Мы максимально оттягивали этот момент, но, к сожалению, у нас нет вариантов: с 1 мая 2022 года вынуждены увеличить стоимость тарифов Diafan.Cloud.

Блоги

  • 3.01.2022
  • Сдавая сайт заказчику, я, как правило, помогаю ему с его наполнением на первых порах. И на данном отрезке развития сайта хорошо видно, как большинство пользователей работают с контентом, т.к. заполняются разделы, пишутся статьи и новости. И наблюдая за типичными ошибками в работе с редактором, я разработал дополнение к визуальному редактору TinyMCE, которое бонусом устанавливал всем своим клиентам. А теперь вот решил описать эти ошибки в данной статье.

Блоги

  • 29.12.2021
  • 2021-ый год доживает свои последние часы, а значит самое время подвести итоги. Все подводят и мы подведем, раз уж есть такая традиция :)

    На самом деле, год выдался невероятно тяжелый и напряженный. Ограничения, связанные с пандемией, рост цен поставщиков цифровых услуг, растущая все сильнее и сильнее конкуренция. Но были и события, которыми мы гордимся. По мелочам таких много, но глобальных, масштабных и особенно значимых – всего три. О них и хочется рассказать, подводя итоги года.

Форум