【问题标题】:Static HTML to Drupal 7静态 HTML 到 Drupal 7
【发布时间】:2011-09-16 11:12:53
【问题描述】:

同行

我有一些 120000 个文件的静态 html 内容。我想导入所有文件并将单个文件内容存储为节点。通过将节点标题作为 html 文件名和节点主体作为 html 文件内容,如何做到这一点?

问候

【问题讨论】:

    标签: content-management-system drupal-7 static-html


    【解决方案1】:

    这里有两个您可能想要查找的解决方案。但是,两者都适用于 Drupal 6。如果找不到 D7 的解决方案,您可能想在 Drupal 6 中构建站点,然后升级到 Drupal 7。它可能比直接在 Drupal 7 中更容易和更快

    Node Import Module

    Import HTML Module

    后者似乎是为处理 HTML 页面而设计的。

    干杯

    附:刚刚找到了另一个解决方案Drupal Migrate

    【讨论】:

    • 谢谢你的回复,但是我可以写一个自定义模块来打开 html 文件并将内容读入 node->body 然后写一个视图来显示它,所以 html 将是执行了吗?
    • 如果我理解你愿意做什么,这就是导入 HTML 模块的作用
    • court,我有 120000 个为静态站点创建的 html 文件,现在我必须创建内容类型、节点标题和节点正文,并运行一个作业以将所有这些转换为 drupal ,所以节点标题将是文件名,节点正文将是 html 文件的内容。完成导入后,我必须设计一个视图来显示 html 内容的设计方式
    • Mmm.. 我可能会用 Java 或 C# 开发一个工具来将文件名和文件内容转换为 CSV,然后使用我提到的第一个模块来导入所有数据。该设计可以通过自定义您的节点类型模板文件来实现。我还没有为 Drupal 开发模块,所以我不能在那个部门给你建议。
    【解决方案2】:

    您可以轻松地制作这样的脚本:

      $node = new stdClass();
      $node->type = 'youtype';
      node_object_prepare($node);
      // Get Your title ...
      $node->title    = $title;
      $node->language = LANGUAGE_NONE;
      // Get Your body content
      $node->body[$node->language][0]['value'] = $body_content;
    

    为每个文件创建一个循环,脚本需要一些时间才能运行。

    【讨论】:

      【解决方案3】:

      在我看来,导入 HTML 模块也可以满足您的需求。

      或者,您可以考虑使用Feeds 模块并为Feeds 编写一个插件来处理您的文件。我们为 Feeds 编写了一个插件,用于将我们从 PDF 报告转换为 Drupal 的非常大的 HTML 文件导入 (here are some examples)。它工作得很好,可以将所有文件附加到导入的节点,构建导航菜单并自动重建链接。如果您有像我们这样复杂的要求,我建议您投资编写一个 Feed 插件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 2020-07-24
        • 1970-01-01
        相关资源
        最近更新 更多