Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Продление демо версии или перенос на новый демо хостинг

Автор rob1nРаздел Установка UMI.CMS

Ответов: 7
Просмотров: 3674
Последний ответ 01 Марта 2016, 11:00:30
от Rodogor
Новая новость или новый товар с пометкой "новинка"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 17
Просмотров: 7614
Последний ответ 17 Сентября 2014, 12:05:14
от tonal
Добавление события в новый метод?

Автор muldyРаздел Макросы UMI.CMS

Ответов: 4
Просмотров: 2201
Последний ответ 05 Августа 2016, 12:06:18
от muldy
JS+AJAX - формат цены без суффикса и префикса

Автор samРаздел JS и AJAX

Ответов: 3
Просмотров: 3509
Последний ответ 20 Октября 2014, 00:45:31
от sam
После импорта дампа базы не отображается структура

Автор EvgenyIvnРаздел Установка UMI.CMS

Ответов: 6
Просмотров: 6833
Последний ответ 10 Января 2013, 09:16:37
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Новый формат импорта CSV?
« Ответ #30 : 11 Октября 2013, 23:06:57 »
По поводу первого вопроса:
Здесь лучше использовать встроенный в umi функционал, который запоминает id старого объекта, id нового объекта и тип импорта.

То есть, если вы создаете новый импорт, то можно создавать связи между id из csv и id созданного объекта\страницы в umi. И не забывать проверять при импорте, нет ли уже такой связки... если есть, то система будет обновлять уже существующий объект\страницу.

Делается это таким функционалом.

1. создание нового импорта (запускается единожды, чтобы в базе данных, соответствующей таблице появился новый тип импорта)
umiImportRelations::getInstance()->addNewSource('csv_new');

2 получения id типа импорта, по его названию
$source_id = umiImportRelations::getInstance()->getSourceId('csv_new');

3. попытка найти связку по $id из csv
$page_id = umiImportRelations::getInstance()->getNewIdRelation($source_id, $id);

4. создаем новую связку, если связка не существовала и мы создали новый объект\страницы ($id - id из csv, $element_id - id в umi)
umiImportRelations::getInstance()->setIdRelation($source_id, $id, $element_id);

По поводу второго вопроса. Лучше всего развернутая статья с примером кода, начиная от создания нового типа csv импорта, отлаживания ошибак, т.п. и заканчивая примером (csv файл, код csv splitter).

Если есть желание, пишите статью. Затем, после проверки, её можно разместить на umihelp.ru с вашим авторством.

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Новый формат импорта CSV?
« Ответ #31 : 13 Октября 2013, 01:16:44 »
Странно почему то не импортируется все записи!
И постоянно выпадает ошибка:

Cannot add or update a child row: a foreign key constraint fails (`МОЙСАЙТ`.`cms3_hierarchy`, CONSTRAINT `FK_Domain from domain_id relation` FOREIGN KEY (`domain_id`) REFERENCES `cms3_domains` (`id`) ON UPDATE CASCADE) in query: INSERT INTO cms3_hierarchy (rel, type_id, domain_id, lang_id, tpl_id, obj_id) VALUES('179', '55', '4', '1', '4', '8873')

А также еще возник как можно сделать проверку на пустое поле?

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Новый формат импорта CSV?
« Ответ #32 : 13 Октября 2013, 23:42:32 »
Разобрался сам были ошибки в коде + поставил параметр handle больше!

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Новый формат импорта CSV?
« Ответ #33 : 16 Октября 2013, 14:08:08 »
Возникла еще одна необходимость, получить заданные параметры импорта!
Те есть Тип данных - Импорт. В нем добавляю поле и соотвественно, как мне получить его в файле?
Поле например: Дата?