2

就在今天,我开始将 Drupal 用于我正在设计/开发的网站。对于我自己的网站http://jwm-art.net,我用 PHP 编写了一个用户不友好的 CMS。我对 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 访问权限才能将文件复制到主 dat 目录并检查我实际上是否正确记住了格式并且代码没有错误格式化任何内容(它总是这样)。

我不想放弃所有旧内容(只是一些),但是考虑到我已经使用 Drupal 一天,几年没有写过任何 PHP ,并且对 SQL 的了解为零?

我将如何在上面的文本文件中映射抽象,以便用户可以在页面发布机制中选择这些元素来创建页面?

开发人员团队如何解决这个问题?一个人在业余时间能做什么?

4

2 回答 2

1

您将使用 PHP 解析文本并使用 Drupal API 将其保存为节点对象。

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

看到这个类似的问题,以编程方式创建 Drupal 节点:

添加 Drupal 节点记录的方法

Drupal 5:自定义内容类型中的 CCK 字段

本质上,您创建 $node 对象并分配值。node_save($node) 将为您完成剩下的工作,这是一个 Drupal 函数,它创建内容记录并让其他模块在需要时添加数据。

如果您的设置可能,您也可以使用 XML RPC 服务。

于 2010-03-31T02:51:42.790 回答
0

由于您已经很久没有写任何 PHP 了,而且您可能很着急,我建议您使用这种方法:

  • 下载并安装这个 Drupal 模块:http
    ://drupal.org/project/node_import 这个模块将数据——节点、用户、分类条目等——从 CVS 文件导入 Drupal。阅读它的文档并花一些时间来学习如何使用它。
  • 将您的博客转换为 CVS 文件。不幸的是,在这方面我帮不了你太多,因为你的博客条目结构复杂。我认为编写将其转换为 CVS 文件的代码与手动创建 CVS 文件所需的时间相同。
  • 使用 Node Import 模块将数据导入您的新网站。

当然,有些问题仍然存在,您必须手动完成;比如创建菜单等。

于 2010-03-31T10:13:50.230 回答