繁体   English   中英

如何为内容关系设置drupal?

[英]How to setup drupal for content relationship?

使用Drupal 6.x,我创建了两种内容类型:Person和Event。 事件具有一个称为“参加者”的自定义字段(类型:“节点引用”;人的数量不受限制)。 在查看特定人员时,如何显示其所有事件?

我创建了一个视图(个人事件)并添加了一个阻止显示。 我启用了显示内容类型为Person的块。 应该如何定义视图? 或者,还有更好的方法?

安装的模块:CCK; 节点关系; 观看次数

我认为这些模块之一可能对您有帮助:

我对自己的问题有一个答案。 但是,也许会有更好的答案……我只能希望。

创建的内容块(个人事件)

将此代码添加到块的主体中​​。 此代码将node id参数传递给视图

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $node = node_load(arg(1));
  $args = array($node->nid );
  $view = views_get_view('PersonalEvents');
  print $view->preview('default', $args);
}
?>

将此代码添加到块的页面中(通过选择:显示以下PHP代码是否返回TRUE(PHP模式,仅专家))...这将使块仅显示人的内容。

<?php
//Read URL
$path=$_GET['q'];
//If URL is node page
if ( strpos($path,'node')===0){
//Parse URL to get nid
$links=explode("/",$_GET['q']);
$nid=$links[1];
//Load node
$node=node_load($nid);
//Display block only if node is of certain content type
if($node->type=='person'){
return TRUE;
}
}
return FALSE;
?>

然后使用以下方法创建视图:

风格:桌子

关系内容:与会者(field_attendees); 需要这种关系(已检查); 并且Delta设置为ALL。

参数:节点:Nid; 关系:与会者; 隐藏视图/未找到页面(404)[已选择]

字段...只需选择节点标题和日期(目前)

筛选器:节点类型=事件

有人有更好的方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM