→ Перенос блога с WordPress в Drupal. Часть II. Работа напильником

напильникиПосле переноса данных, потребуется некоторая правка. Например, поправить ссылки на картинки и вложения, не говоря уже об отдельных элементах, наподобие кодов для вставки флэш плеера для видео и/или аудио.

Перенос путей файлов

В wp загруженные файлы, как правило, находятся в папке:

/wp-content/uploads/…

Дабы свести работы и длину пути к фалам до минимума, я просто скопировала содержимое папки “uploads” в папку друпал “files”:

/sites/default/files/uploads/…

Таким образом, нам теперь нужно заменить старый путь на новый. Есть несколько способов:

  1. Правкой htaccess файла (если вы НЕ меняете домен).
  2. Правкой путей в дампе (если вы меняете домен).

1 Способ – без смены домена

Итак, в (корневой) htaccess файл добавим элементарную переадресацию путей. Для этого вставьте строку:

RewriteRule ^wp-content/(.*) sites/default/files/$1 [L]

ДО (выше) строк:

# PHP 4, Apache 1.
<IfModule mod_php4.c>

2 Способ – со сменой домена

Установите модуль Backup Migrate. Перейдите на страницу «Продвинутое копирование» (admin/content/backup_migrate/export/advanced) и сделайте экспорт таблиц “node” (, “revisions”) и “comments” с сохранением в “Manual Backups Directory”. По возможности не закрывайте страницу после экспорта, мы к ней еще вернемся. (!) Если у вас много материала, то лучше делать частичный экспорт таблиц. Затем в текстовом редакторе откройте полученный файл (как правило, он находится в):

/sites/default/files/backup_migrate/manual/ваш-файл.sql

И выполните массовую замену пути с:

http://example.com/wp-content/

на:

/sites/default/files/

…и тогда даже повторная смена домена вам не страшна. Подмигивание

Сохраняем файл. Повторяем при необходимости. Возвращаемся к странице модуля «Backup Migrate» и нажимаем ссылку «Восстановить» (Restore). А если вы закрыли эту страницу, то идете на вкладку «Назначение» (“Destinations”) и нажимаете «просмотр файлов» напротив “Manual Backups Directory” и восстанавливаете ваш последний дамп. Всё, ваши изменения «на месте». Если вы забыли что-то изменить, просто откройте файл повторно и произведите замену, а затем вернитесь к интерфейсу модуля “Backup Migrate” и нажмите «Восстановить еще раз» (“Restore Again…”).

Перенос путей RSS лент

В WP основная лента обычно идет по пути http://example.com/feed. В Drupal она же идет по пути http://example.com/rss.xml. Модуль Path у вас уже должен быть включен, так что просто добавляем новый синоним адреса. Для этого на странице «Добавить синоним» в первое поле пишем rss.xml, а во второе feed, сохраняем.

Ленты комментариев в drupal по умолчанию нет, но ее можно добавить с помощью модуля Comment RSS. Тогда ваша RSS лента комментариев будет иметь адрес crss.xml, поэтому, так же как и для основной ленты, добавляем для нее синоим адреса comments/feed.

Перенос путей таксономии

Для "переноса" путей меток и категорий воспользуемся модулем Pathauto и настроим автоматическую генерацию путей. Для словаря категорий выставим, например (или то, что было у вас): category/[catpath-raw], для меток, например: tags/[catpath-raw] и поставьте галочку «Массовое создание синонимов для терминов, которые не имеют ссылок».

Однако, если вы в WP использовали не только автоматические пути для меток и категорий, но и свои, и вы хотите сохранить эти пути, то перенос путей таксономии будет одним из самых сложных моментов в переносе, так как для этого нет модуля и предстоит много ручной работы. Конечно, если у вас ооочень много меток, то можете об этом забыть. Категорий обычно не так много, так что тут можно и поработать. Как и в случае с RSS лентами в данном случае нужно просто править синонимы. Для этого в поиске введите, например: category и вы увидите список всех синонимов категорий. Нажимаете «изменить» напротив адреса и пишите то, что вам нужно.

Что еще можно решить массовой заменой

Стандартные теги плагина для вордпресса “flash-video-player”, так же можно изменить через массовую замену в дампе или уже потом "ручками".

Я и в wp и в drupal использую Geshi синтаксис для подсветки кода, но плагин для wp использует тег <pre>, а в модуле drupal используется <code>. И это быстро решается заменой.

RSS-материал

3 Комментария [Нет новых]

Аватар пользователя Camper

способ конвертации с переносом папки Upload в папку files возьму на заметку. благодарю.

Аватар пользователя newbie8

Спасибо! А вот как правильно вставлять в новый материал заранее закачанные по FTP изображения?
Чтобы в результате пользователи видели через браузер картинки с путями типа "mysite.com/images/pic.jpg", а не "mysite.com/sites/default/files/pic.jpg"?
Создаю из админки статью, вставляю туда изображения с помощью IMCE или любого другого модуля и есть доступ только к папке "sites/default/files".
Что делать? Как-то тюнинговать IMCE? Или наоборот, синонимами обрабатывать пути? Не получается ни то, ни другое.

Аватар пользователя EllECTRONC

Ответ дан в материале, нужно править htaccess файл, по примеру:
RewriteRule ^wp-content/(.*) sites/default/files/$1 [L]

Т.о. при переносе, например папки upload в sites/default/files/, можно оставить пути на картинки наподобие /upload/img.png и они будут открываться с /sites/default/files/img.png

Если чет не-то, значит я вас не совсем понимаю, что там у вас где, пишите подробнее Подмигивание

P.S.: сорри за поздний ответ, чинила комп

Что ты об этом думаешь?

МультиВход
ИЛИ

Комментарии