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

Аватар пользователя kovalevm kovalevm 20 апреля в 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;
}

0 Thanks

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 22 апреля в 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 апреля в 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;
}
?>