1 (2016-09-20 08:21:58 отредактировано poshat)

Тема: Переход на Monstra (импорт старых данных)

Не нашел информации как лучше переносить данные со старого сайта на монстру, пришлось самому разбираться. Из-за сотни страниц затевать нечто глобальное не стал, но покопаться в файлах пришлось. В итоге выгрузил старые данные из нескольких таблиц базы MySQL и поработал над ними предварительно в электронной таблице.

За шаблон взял файл storage/database/pages.table.xml:

<pages><id>5</id><uid>d95926db3a</uid><content/><slug>adress-url</slug><template>index</template><parent/><status>published</status><access>public</access><expand>0</expand><robots_index>index</robots_index><robots_follow>follow</robots_follow><title>Название</title><meta_title>Заголовок</meta_title><description>Описание</description><keywords>Ключевые слова</keywords><tags/><date>1474182340</date><author>admin</author></pages>

id - идентификатор и название файла. ID 1 у страницы 404 ошибки (!)
uid - уникальный идентификатор. Сам сделал из букв и цифр.
slug - адрес страницы
template - тема
status - статус (опубликована/черновик)
access - доступ
expand - 0 (принадлежность другой родительской странице)
title -  название страницы в админке
meta_title, description, keywords - тайтл, описание и ключевые слова
date - дата в unix формате
author - автор

Создал таблицу по шаблону, сохранил с текстовый файл (csv, txt как удобнее), почистил заменой от мусора и файл pages.table.xml готов. Затем создал таблицу с содержимым страниц в каждой ячейке и командой:

echo "содержимое страницы" > "id страницы".page.txt

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

Затем залил файлы в директорию storage/database/pages и получил предварительный вариант сайта для дальнейшего редактирования (правка страниц, создание меню и прочее).

Может кому-то понадобится осуществить подобный import, а другого способа для этой мини CMS для мини сайтов не нашел. Если и писать скрипт импорта, то для переноса данных через промежуточный формат, иначе никак.

Всем удачи!

Поделиться