在drupal 6 admin中设置字段的默认值

时间:2013-10-26 12:06:38

标签: php drupal drupal-6

我有一个展示艺术家绘画的网站。在每个绘画页面上都有一个名为“相关绘画”的部分。这是一个相关领域,为管理员提供了勾选其他相关绘画的能力。

我想默认勾选同一位艺术家的画作,所以管理员不必这样做。我最初做了这个并且它有效,但显然只勾选了一幅画:

return array(
    0 => array('nid' => '278')
);

然后我尝试了这个,它在模板中工作,即它以正确的格式生成一个数组:

$artist_nid = $node->field_artist[0]["nid"];
$artist_paintings = node_load($artist_nid)->field_painting_nodes[0]              ["items"];
$a = array();
foreach ($artist_paintings as $painting)  {
   $a[] = array('nid' => $painting["nid"]);
}

但这在调用时不起作用,我收到错误:

warning: Invalid argument supplied for foreach() in /home/will/sites/modernprints/www/sites/all/modules/cck/content.module(2220) : eval()'d code on line 4.    

我猜测$ node不存在或在该上下文中有什么东西?哪些变量可用?

1 个答案:

答案 0 :(得分:0)

我刚刚意识到我正在尝试做的事情是完全有缺陷的 - 当添加新画作时节点还不存在,所以你无法得到艺术家和艺术家的画作。

如果用户先保存它,它可能会有效,但它不是很方便。

正确执行此操作的唯一方法是使用javascript,即在用户选择艺术家选择相关绘画复选框后触发事件。