Drupal - индивидуальные меню для каждого типа контента группы Organic - PullRequest
1 голос
/ 08 ноября 2010

На моем сайте я установил два типа контента как узлы органической группы.

  1. Спортивная группа
  2. Образовательная группа

На сайте также есть различные другие типы контента, установленные как стандартные групповые сообщения. Позволяет пользователямразмещать контент в группах, которые затем ссылаются на эту группу.

Затем я включил блок «Сведения о группе» для каждой группы, который затем показывает ссылки на создание контента для каждого типа контента, который = стандартная групповая публикация.

То, что я хотел бы сделать, независимо от того, сделано ли это с этим блоком или я создаю свой собственный, - это ограничить ссылки на создание определенных типов контента определенными группами.Я не хочу разрешать создание определенных типов контента в Спортивной группе.Я думаю, что это можно сделать с помощью пользовательского меню или блока, но не требуется PHP.

1 Ответ

1 голос
/ 09 ноября 2010

Найден способ создания ручных меню с использованием блоков.

Перейдите по следующей ссылке, которая объясняет все это - 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;

?>

...