Drupal 7.x:如何使用PHP输入格式创建一个新节点


Drupal 7.x: how to create a new node with PHP input format?

我想执行自定义PHP脚本,该脚本将删除特定类型的所有节点(源项)。如何创建一个具有PHP输入格式的新节点,以便我可以将代码粘贴到节点主体中?请具体说明详细步骤。

$node_type = 'Feed items';
  //fetch the nodes we want to delete
  $result = db_query("SELECT nid FROM {node} WHERE type='%s'",$node_type);
  while ($row = db_fetch_object($result)){
    node_delete($row->nid);
    $deleted_count+=1;
  }
  //simple debug message so we can see what had been deleted.
  drupal_set_message("$deleted_count nodes have been deleted");

目前还不完全清楚你想要实现什么。你只是想执行一次PHP代码吗?或者每当创建某种类型的节点时?

如果你只想执行一次 PHP 代码,你可以安装 devel 模块 (http://drupal.org/project/devel) 并将你的代码粘贴到<your_site_url>/devel/php

--编辑

另一种选择是创建一个 php 页面来引导 Drupal 并运行您的代码:http://www.avenuewebmedia.com/drupalbootstrap-connect-drupal-external-php-script

好的,我自己设法做到这一点:我必须首先启用"PHP filter"模块(在 Drupal 核心中,默认情况下禁用)。在"管理员>配置">"内容创作">"文本格式">"添加文本格式"中,在"启用的过滤器"中标记"PHP 评估器",在"角色"中选择"管理员",保存配置。然后我创建了一个新节点(文章),将输入格式设置为 PHP,将代码粘贴到节点主体中,添加标题并单击提交。代码已执行。当然,我们需要在完成后删除节点。