Как будет решаться вопрос о преобразовании пользовательской CMS, использующей базу данных на основе текстовых файлов, в Drupal? - PullRequest
2 голосов
/ 31 марта 2010

Только сегодня я начал использовать Drupal для сайта, который я проектирую / разрабатываю. Для моего собственного сайта http://jwm -art.net я написал недружественную для пользователя CMS на PHP. Мой краткий опыт работы с Drupal заставляет меня хотеть переходить с CMS, которую я написал. CMS, единственным методом (кроме комментариев) автоматической публикации контента является вход в систему через SSH и использование NANO для создания простого текстового файла в таком формате, как * *:

    head<<END_HEAD
title   = Audio
keywords= open,source,audio,sequencing,sampling,synthesis
descr   = Music, noise, and audio, created by James W. Morris.
parent  = home
    END_HEAD

    main<<END_MAIN
text<<END_TEXT
Digital music, noise, and audio made exclusively with
@=xlink=http://www.linux-sound.org@:Linux Audio Software@_=@.
  END_TEXT

image=gfb@--@;Accompanying image for penonpaper-c@right
ilink=audio_2008
br=
ilink=audio_2007
br=
ilink=audio_2006
    END_MAIN

info=text<<END_TEXT
I've been making PC based music since the early nineties - 
fortunately most of it only exists as tape recordings.
  END_TEXT

(http://jwm -art.net / dark.php? P = audio - там более 400 страниц.)

* Форма входа в суд, которая берет на себя часть работы, таинственным образом нарушена. И все еще требовался доступ по SSH для копирования файла в главный каталог данных и проверки того, что я действительно запомнил формат правильно, и код ничего не неправильно форматировал (что он всегда делает). *

Я не хочу отбрасывать весь старый контент (только некоторый), но сколько работы потребовалось бы для его преобразования, с учетом того, что я использовал Drupal в течение дня, не написал никакого PHP для пару лет, и иметь нулевое знание SQL?

Как бы я отобразил абстракцию в текстовом файле выше, чтобы пользователь мог выбрать эти элементы в механизме публикации страниц для создания страницы?

Как команда разработчиков может решить эту проблему? Насколько это возможно для одного парня в свободное время?

Ответы [ 2 ]

1 голос
/ 31 марта 2010

Вы должны проанализировать текст с помощью PHP и использовать Drupal API, чтобы сохранить его как объект узла.

http://api.drupal.org/api/function/node_save

Смотрите эту похожую проблему, программно создавая узлы Drupal:

рецепт добавления записей узлов Drupal

Drupal 5: поля CCK в пользовательском типе контента

По сути, вы создаете объект $ node и присваиваете значения. node_save ($ node) сделает всю остальную работу за вас, функция Drupal, которая создает запись контента и позволяет другим модулям добавлять данные, если это необходимо.

Вы также можете использовать службы XML RPC, если это возможно в вашей настройке.

0 голосов
/ 31 марта 2010

Поскольку вы долго не писали PHP и, вероятно, спешите, я предлагаю вам такой подход:

  • Загрузите и установите этот модуль Drupal: http://drupal.org/project/node_import
    Этот модуль импортирует данные - узлы, пользователей, записи таксономии и т. Д. - в Drupal из файлов CVS. прочитайте его документацию и потратьте некоторое время, чтобы научиться его использовать.
  • Конвертируйте ваш блог в файлы CVS. к сожалению, я не могу вам в этом сильно помочь, потому что ваши записи в блоге имеют сложную структуру. Я думаю, что написание кода, который преобразует его в файлы CVS, занимает столько же времени, сколько и создание файлов CVS вручную.
  • Используйте модуль Node Import для импорта данных на ваш новый веб-сайт.

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

...