Как быстро скопировать новости DLE и провести их редактирование - модуль importNews

Скрипты и советы | 12 марта 2021 2 592

importNews, советы, инструкции, импорт новостей

В данном уроке мы расскажем о том, каким образом модуль DLE importNews помогает производить рутинные задачи с публикациями на сайте в основе которого находиться DLE CMS.

Недавно была поставлена задача:
Перенести часть новостей из одной категории в другую (продублировать с рядом изменений).
Публикаций было 100 штук. Руками делать копи-паст не наш метод. Тем более, что мы можем импортировать в CSV нужные новости, произвести над ними массовые действия и загрузить на сайт в новую категории.

На все уйдет 10 минут, а при ручном копировании, в среднем 3 минуты на публикацию - это будет около 3 часов.

Рассказываем детали и описываем подводные камни работы с CSV и импортом из MySQL новостей DLE


В первую очередь нужно понимать, что в базе данных DLE хранит контент ваших статей в виде html кода.
Даже, если вы используете BBCodes редактор на сайте.

Таким образом экспорт новостей из таблицы с Краткое описание будет в виде HTML.

И тут первый сюрприз:

Экспорт в CSV предполагает, что данные в разных ячейках будут разделены между собой определенными символами.

Как быстро скопировать новости DLE и провести их редактирование - модуль importNews


И если с разделителем полей (в нашем случае - отельных ячеек внутри таблицы из база данных) все понятно, две других сущности, Ограничитель полей и Экранирующий символ создают некоторые трудности именно при экспорте html данных.

Ограничитель полей
Ограничивает поле, в ограниченном поле могут содержаться практически любые символы.

Экранирующий символ
Экранирует служебные и спец. символы которые встречаются в тексте полей.

Полученный из БД CSV даже с базовым набором настроек обычно можно корректно прочитать.
А вот дальше, после внесения правок и сохранения начитается морока с процессом импорта на сайт измененных данных.

Обычно это происходит в тех случаях, когда в качестве кавычек для названий используют двойные кавычки ("текст") а не кирилические аналоги («текст»).



\Первый канал\" выбирает IVECO!"


вот так выглядит название при использовании Экранирующий символ: - обратный слеш

а вот так

"\""Первый канал\"" выбирает IVECO!" 


при использовании Экранирующий символ: - вертикальная черта

И именно такой вариант позволяет без проблем импортировать новости обратно на сайт.




Видео со всем процессом экспорта и импорта



по этому, если у вас при работе с CSV происходят сдвиги внутри ячеек рекомендуем поменять параметры экранирующих символов.

Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
Модуль DLE importNews - работа с новостями сайта через CSV

ЭКСПОРТ / ИМПОРТ НОВОСТЕЙ DLE Плагин для DLE, позволяющий выгружать новости в CSV и загружать их на сайте. Модуль для...

Подробнее
Исправление html кода для bb редактора

Если вдруг ваш сайт на DLE случайно поломал отображение верстки в админке, то данная заметка для вас. Как это обычно...

Подробнее
Модуль DLE-convert.xfields

Скрипт конвертации формата дополнительного поля новостей для DataLife Engine тип поля: text в новый тип поля: yesorno...

Подробнее
Модуль автоматической публикации анонсов сайта - Crosspost Mod 2.6 для ДЛЕ

Crosspost Mod 2.6 для DataLife Engine 8.2 и выше. Модуль позволяет автоматически размещать добавленные в систему...

Подробнее
Описание движка TCSE

TCSE это движок для Интернет-магазинов, обладающий большими функциональными возможностями. Движок предназначен в первую...

Подробнее
Мысли о клиентской программе для постинга новостей на ДЛЕ-сайты

Все чаще мне в голову приходит мысль о необходимости разработки отдельной клиентской программы для компьютера, через...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms/

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями