Drupal - 每种有机组内容类型的单独菜单

时间:2010-11-08 14:04:11

标签: drupal organic-groups

在我的网站上,我将两种内容类型设置为有机组节点。

  1. 体育集团
  2. 教育集团
  3. 网站上还有其他各种内容类型,设置为标准组帖子。允许用户将内容发布到组中,然后组引用该组。

    然后我启用了“组详细信息”块以在每个组上显示,然后显示创建内容链接到每个内容类型=标准组帖子。

    我想做什么,无论是使用该块还是我创建自己的块,都是将某些内容类型创建链接限制为某些组。 i.o.w我不想允许在体育组中创建某些内容类型。我认为这可以通过自定义菜单或块来完成,但不确定所需的PHP。

1 个答案:

答案 0 :(得分:1)

找到一种使用块创建手动菜单的方法。

按照下面的链接解释一切 - http://drupal.org/node/169126

以下是链接中的文字:


以下是我从这一切中汇总的内容....要从组页面创建链接以创建自动分配给该组的内容...... 下面的代码被放入一个格式设置为php

的块中
<?php $group_title = og_get_group_context()->title; ?>
<h2>You are a member of the <?php print $group_title; ?> group </h2>
<?php $group_nid = og_get_group_context()->nid; ?>
<div class="user-input-link"><a href="http://your-site/node/add/your-content-type?gids[]=<?php print $group_nid; ?>">Post your own content-type into this group.</a>
</div>

它有效!

现在,您需要将其显示在组页面上,并且仅在用户是该组的成员时才显示。因此,在“show block”部分中,您可以将其放入并且似乎可以正常工作:

<?php
  $in_og = FALSE;
if (module_exists('og')){
  $in_og = FALSE;
  $group_node = og_get_group_context();
  $gid02 = $group_node->nid;
  $gid = (int)$gid02;
  if ($gid02 == null) $gid = 0; 
  if (og_is_group_member($group_node)) $in_og = TRUE;
  if ($gid == 0) $in_og = FALSE;
}
return $in_og;

?&gt;