Как отключить доп. функционал при создании контента?

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

Аватар пользователя BassEast BassEast 15 сентября 2009 в 14:56

Добрый день всем.
Уверен, что сталкивался каждый с такой задачей.
При создании какого-либо типа контента, есть стандартные поля и блоки с функционалом, так вот я на картинке отметил те, которые мне нужно отключить.
Каким образом это можно сделать? Может Есть какие-нибудь функции, чтобы прописать в templates.php?
Не очень хочется использовать свойство CSS display:none;

Буду весьма благодарен за советы.

ВложениеРазмер
Иконка изображения drupal.jpg99.7 КБ

Комментарии

Аватар пользователя BassEast BassEast 15 сентября 2009 в 15:12

хватит игнорировать друзья...
Какую бы тему не создал, ни одного ответа..
Нафига блоги тогда существуют?

Аватар пользователя nvip nvip 15 сентября 2009 в 15:51

Все поля видит только администратор сайта. Остальные пользователи только те на которые выставлены разрешения. Через template.php убирать служебные поля нужно очень осторожно так-как могут потом быть косяки типа материал добавил, а он на виден на сайте, потому что не опубликовался автоматически, pathauto не генерирует автоматически адреса и т. д. Чтобы редактировать форма в фале template.php создай функцию

function тема_theme()
{
return array('value' => array( 'arguments' => array ( 'form' => NULL )));
}

Где тема - название текущей темы;
value - свойство value последнего hidden елемента формы (смотри в html коде типа story_node_form, page_node_form и т д).

Далее создай функцию

function тема_value($form)
{
return drupal_render($form);
}

тема и value аналогично первой функции.

Первая функция подключает темизацию для формы, вторая - функция темизации. У меня например она так выглядит:

function martos_nodevote_rate_form($form)
{  
        unset($form['rate']['#type']);
    unset($form['rate']['#title']);
        unset($form['rate']['vote']['#title']);
        unset($form['rate']['#value']);
    unset($form['rate']['#prefix']);
    unset($form['rate']['#suffix']);

        $form['rate']['button']['#type']='image_button';
        $form['rate']['button']['#src']='themes/martos/img/txt-add1.gif';
        $form['rate']['button']['#attributes']['onmouseover']="this.src='/themes/martos/img/txt-add2.gif'";
        $form['rate']['button']['#attributes']['onmouseout']="this.src='/themes/martos/img/txt-add1.gif'";

        $form['rate']['vote']['#prefix']='<table id="form-vote-radios"><tr><td>';
        $form['rate']['vote']['#suffix']='</td>';

        $form['rate']['button']['#prefix']='<td>';
        $form['rate']['button']['#suffix']='</td></tr></table>';

        $form['rate']['vote']['#type']='radios';
        $form['rate']['vote'][1]=array('#prefix' =>'<table><tr><td>', '#suffix' => '</td>', '#type' => 'radio', '#title' => 'Хорошо', '#return_value' => 1, '#default_value' => 2, '#name' => 'vote');
        $form['rate']['vote'][2]=array('#prefix' =>'<td>', '#suffix' => '</td>', '#type' => 'radio', '#title' => 'Неплохо', '#return_value' => 2, '#default_value' => 2, '#name' => 'vote');
        $form['rate']['vote'][3]=array('#prefix' =>'<td>', '#suffix' => '</td></tr></table>', '#type' => 'radio', '#title' => 'Отлично', '#return_value' => 3, '#default_value' => 2, '#name' => 'vote');

        //print '<pre>'. check_plain(print_r($form, 1)) .'</pre>';
        return drupal_render($form);
}

Аватар пользователя andrbelt andrbelt 15 сентября 2009 в 16:29

эти поля видны только админу, а рядовым пользователям нет.
если вы уж сами так не хотите их видеть, то создайте себе просто нового пользователя (типа "редактор сайта"). пропишите ему права на публикацию материалов. и публикуйте ваши посты под этим вторым логином.