【问题标题】:Creating drupal pages (nodes) automatically from other (xml) content从其他(xml)内容自动创建drupal页面(节点)
【发布时间】:2009-07-10 20:48:16
【问题描述】:

我目前有一个来自客户端的 XML 格式的数据源,这个 XML 包含我们正在制作的网站将包含的所有页面的内容。现在在解析和准备所有这些内容之后,有谁知道我们如何(使用)PHP 自动创建一个 drupal 节点(包括该节点的所有相关字段,即 CCK 字段、路径)。

理想情况下,我们可以将所有内容发送到该函数并创建节点。现在我不介意将它直接放入数据库,但我不太确定更新了哪些数据库表(因为 drupal 设置有大量表)。

我已经通过 google 和 drupal 文档进行了搜索,但我真的找不到任何东西(我认为这是一个简单且经常被网络开发人员在 drupal 上使用的功能......)

我们将非常感谢您的意见!

提前致谢,

沙迪

【问题讨论】:

    标签: php xml drupal


    【解决方案1】:

    您可以像这样使用 Drupal 的 node_save 函数:

    require 'includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    
    $node = new stdClass();
    
    $node->title = "My imported node";
    $node->body = "The body of my imported node.";
    $node->type = 'story'; 
    $node->created = time();
    $node->changed = $node->created;
    $node->status = 1;
    $node->promote = 1;
    $node->sticky = 0;
    $node->format = 1;
    $node->uid = 1;
    
    node_save($node);
    

    有关更多信息,请参阅 Acquia 网站上的这篇文章(包括 CCK 字段,如果您正在使用应该在 node_save 上创建路径的 pathauto):http://acquia.com/blog/migrating-drupal-way-part-i-creating-node

    【讨论】:

      【解决方案2】:

      您应该能够为此目的使用node_save()。我没有尝试使用 cck 字段,但是如果您添加字段,它们应该通过钩子运行保存。但是,如果您不通过代码创建带有字段的节点类型,则该功能将取决于您在管理界面中所做的设置。

      【讨论】:

        【解决方案3】:

        node_save 适用于 cck 如果您在数组结构中设置正确的类型和格式字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-27
          相关资源
          最近更新 更多