Вывод заголовка в зависимости от типа материала

Главные вкладки

Аватар пользователя kovalevm kovalevm 20 апреля 2019 в 23:30

Добрый день!
Помогите, пожалуйста, с выводом заголовка в зависимости от типа материала.

Нужно сделать условие, чтобы если тип материала "group" показывался заголовок <h1>' . $group->title . '</h1>.
Если тип материала "post", отображался заголовок <h2>' . $group->title . '</h2>.

Код, отвечающий за вывод блока сообщества:

function vintauge_community_header_group($group)
{
    global $user;
    $group_image = field_get_items('node', $group, 'field_picture');
    $group_image_output = field_view_value('node', $group, 'field_picture', $group_image[0], array('type' => 'image', 'settings' => array('image_style' => '162x162', 'image_link' => 'none',),));

    $b = '
<div class="col-md-12 community-header">
    <div class="row">
        <div class="col-md-3"></div>
        <div class="col-md-9">
            <h2>'
. $group->title . '</h2>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12 blog-header">'
;

    $b .= render($group_image_output);

    $b .= $group->body['ru'][0]['value'];
    $m1 = '<div class="community_block">';
    if ($user->uid > 0) {
        if (!is_user_og($user, $group->nid)) {
            $m1 .= l('Подключиться к сообществу', 'group/node/' . $group->nid . '/subscribe/og_user_node', array('attributes' => array('class' => 'link_dashed communty_join')));
        } else {
            $m1 .= l('Выйти из сообщества', 'group/node/' . $group->nid . '/unsubscribe', array('attributes' => array('class' => 'off_com communty_join')));
        }
    } else {
        $m1 .= '<i class="fa fa-lock"></i>' . l('Войти', 'user', array('attributes' => array('class' => 'link_dashed')));
        $m1 .= ' ';
        $m1 .= '' . l('Регистрация', 'user/register', array('attributes' => array('class' => 'link_dashed')));
    }

    $b .= $m1 . '</div></div></div></div>';
    return $b;
}

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 22 апреля 2019 в 8:50

Надо посмотреть что в есть для этого в $group например через devel -> dsm , если ничего не найдете то можно получить например через menu_get_object('node') см. https://api.drupal.org/api/drupal/includes%21menu.inc/function/menu_get_...
Еще можно разделить шаблоны на этапе _preprocess + suggestion

Аватар пользователя voviko voviko 23 апреля 2019 в 9:02
<?phpfunction vintauge_community_header_group($group)
{
    global $user;
    if($group->type == 'group') {
        $htag = 'h1';
    } else {
        $htag = 'h2';
    }
    $group_image = field_get_items('node', $group, 'field_picture');
    $group_image_output = field_view_value('node', $group, 'field_picture', $group_image[0], array('type' => 'image', 'settings' => array('image_style' => '162x162', 'image_link' => 'none',),));
    $b = '
<div class="col-md-12 community-header">
    <div class="row">
        <div class="col-md-3"></div>
        <div class="col-md-9">
            <'.$htag.'>' . $group->title . '</'.$htag.'>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12 blog-header">';

    $b .= render($group_image_output);

    $b .= $group->body['ru'][0]['value'];
    $m1 = '<div class="community_block">';
    if ($user->uid > 0) {
        if (!is_user_og($user, $group->nid)) {
            $m1 .= l('Подключиться к сообществу', 'group/node/' . $group->nid . '/subscribe/og_user_node', array('attributes' => array('class' => 'link_dashed communty_join')));
        } else {
            $m1 .= l('Выйти из сообщества', 'group/node/' . $group->nid . '/unsubscribe', array('attributes' => array('class' => 'off_com communty_join')));
        }
    } else {
        $m1 .= '<i class="fa fa-lock"></i>' . l('Войти', 'user', array('attributes' => array('class' => 'link_dashed')));
        $m1 .= ' ';
        $m1 .= '' . l('Регистрация', 'user/register', array('attributes' => array('class' => 'link_dashed')));
    }

    $b .= $m1 . '</div></div></div></div>';
    return $b;
}?>