Спасибо большое за обновление, теперь есть возможность обновлять страницы в dle с сохранением url!
На тестовом проекте потестил, всё перезаливалось как нужно, но одна фишка из описания выше не учитывается.
Перезаписывать — при совпадении материалов из одной категории
Пример:
1. Создаю
первый проект с категорией
Фильмы, материал с названием
Терминатор и текстом
описание фильма
2. Создаю
.xml и импортирую его на сайт
3. Создаю
второй новый проект с категорией
Мультфильмы, материал с названием
Терминатор и текстом
описание мультфильма
4. Создаю
.xml и импортирую его на сайт с параметром
Перезаписать
В итоге zebroid создает новую категорию
Мультфильмы, перезаписывает материал
Терминатор из категории
Фильмы и он становиться категорией
Мультфильмы.
Что нужно:
Сравнение делать по title и category, по alt_name — не проверять.
Возможно ли добавить сравнение категорий в момент импорта .xml?
Если это тяжело сделать, т.к. в dle категория в таблице это
id с номером, то меня бы устроил такой вариант:
При создании
xml файла, добавить одну строчку к описанию категории
<dle:cat_id>0</dle:cat_id>
Целиком так:
<dle:category>
<dle:category_nicename>film</dle:category_nicename>
<dle:cat_id>0</dle:cat_id>
<dle:category_parent/>
<dle:cat_name>Фильмы</dle:cat_name>
</dle:category>
Вместо «0», я сам впишу нужный id категории.
В
zimport_class.php, останется добавить
Если совпали
title, сверяем категории
Если
<dle:cat_id>0</dle:cat_id> — сравнение для текущей категории не делать (т.к. как и сейчас работает)
При совпадении значений
<dle:cat_id>4</dle:cat_id> (например указал я значение «4»), с id в базе данных, то перезаписываем этот материал, если значения не совпали, то создаётся новый материал. (Т.е. названия title у нас совпали, а категория не та, ищем дальше, если не нашли, то создаём новый материал)
Надеюсь, не сложно добавить эту проверку и понятно расписал.
Комментарий отредактирован 2 раз(а).
Последний раз редактировал
bork75
04 марта 2015, 07:44.