Как добавить контент на страницу профиля пользователя в Drupal 7? - PullRequest
1 голос
/ 16 декабря 2011

Я пытаюсь добавить пару разделов в профиль пользователя в Drupal 7 под:

<div class="profile" typeof="sioc:UserAccount" about="/drupal/user/1">

Я добавляю три новых раздела, но проблема в том, чтоХотя я использую один и тот же способ для добавления трех разделов, только один из них отображается как дочерний элемент для div выше, а два других отображаются как братья и сестры.Что я делаю не так?

Вот как я создаю контент:

function plan_user_user_view($account) {    
//Create the markup for the events region
$account->content['events'] = array(
  '#type' => 'user_profile_item',
  '#theme' => 'events',
  '#events' => $events);

 //Create the region for the venues
  $account->content['venues'] = array(
   '#type' => 'user_profile_item',
   '#theme' =>'venues',
   '#userid' => $user->uid,
   '#venues' => $venues);

  //Create the region for creating an event
  $account->content['creator'] = array(
    '#prefix' => '<div class="user-event-item" id="quick-event-creator">',
    '#suffix' => '</div>',
    '#type' => 'user_profile_item',
    '#title' => t('QUICK EVENT CREATOR'),
    '#markup' => drupal_render(drupal_get_form('event_creation')));
 }

Кроме того, есть ли лучший способ создать этот последний фрагмент контента там?Два других кажутся хорошими в файле шаблона, но последний, так как это форма, мне было интересно, есть ли лучшие способы сделать это.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 17 июня 2013

Как насчет этого:

// Create the category.
$account->content['mymodule'] = array(
    '#type' => 'user_profile_category',
    '#title' => t('My module content'),
);

// Create first item (child).
$account->content['mymodule']['events'] = array(
    '#type' => 'user_profile_item',
    '#title' => t('Events'),
    '#markup' => t('Whatever'),
);

// Create second item (child).
$account->content['mymodule']['venues'] = array(
    '#type' => 'user_profile_item',
    '#title' => t('Venues'),
    '#markup' => t('Whatever'),
);

и так далее. Суть в том, что элементы user_profile_item должны быть потомками элемента user_profile_category.

0 голосов
/ 16 декабря 2011

Может быть, вам стоит взглянуть на этот проект profil2 , который является преемником content_profil для Drupal 6. С его помощью вы сможете добавлять информацию в профили пользователей и, если вы хотите, кодировать свои настраиваемые поляСамо собой это должно быть хорошей отправной точкой для чтения.

Лучшее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...