Drupal - 每种有机组内容类型的单独菜单
Posted
技术标签:
【中文标题】Drupal - 每种有机组内容类型的单独菜单【英文标题】:Drupal - Individual menus for each type of Organic Group content type 【发布时间】:2010-11-08 14:04:11 【问题描述】:在我的网站上,我将两个内容类型设置为有机组节点。
-
体育组
教育集团
网站上还有各种其他内容类型,设置为标准组帖子。允许用户将内容发布到组中,然后引用该组。
然后我启用了组详细信息块以显示在每个组上,然后显示创建内容链接到每个内容类型 = 标准组帖子。
我想做的,无论是用那个块完成还是我自己创建,都是将某些内容类型的创建链接限制到某些组。 i.o.w 我不想允许在 Sports Group 中创建某些内容类型。我认为这可以通过自定义菜单或块来完成,但不确定所需的 php。
【问题讨论】:
【参考方案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>
而且它有效!
现在您需要将其显示在群组页面上,并且仅当用户是该群组的成员时。所以在“显示块”部分你可以把它放进去,它似乎工作:
<?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;
?>
【讨论】:
以上是关于Drupal - 每种有机组内容类型的单独菜单的主要内容,如果未能解决你的问题,请参考以下文章