Модуль для удаления поля "сообщение в системный журнал"

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

Аватар пользователя edhel edhel 27 сентября 2007 в 5:13

Периодически всплывает сабж. Собрал модуль. Код модуля:

<?php

function remover_form_alter($form_id, &$form) {
if ($form['#id'] == 'node-form') {
unset($form['log']);
}
}
?>

Кроме этого, в модуле есть еще 3 закомментированных функции:

remover_link_alter - удаляет все ссылки у ноды типа news и все ссылки на термины (можно использовать как отправную точку для настройки ссылок на свой вкус).

remover_comment - совсем удаляет заголовок темы при отображении комментариев, если в настройках заголовок у комментариев отключен

remover_nodeapi - удаляет имя юзера, который запостил ноду, из rss-ленты

ВложениеРазмер
Иконка пакета remover.zip825 байт

Комментарии

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 27 сентября 2007 в 11:08

Отлично, а то вопросы об этом уже стали повторяться с неприличной частотой. Smile

Совсем круто было бы, если б он превратился в библиотечку хуков и у него была бы админка, в которой можно было бы размечать галочками, какие элементы (например у формы редактирования материала) нужно показывать, а какие - нет.

Аватар пользователя edhel edhel 27 сентября 2007 в 12:14

уже думал об этом, пока руки не дошли

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

Аватар пользователя romandor romandor 28 сентября 2007 в 0:26

Спасибо!
remover_link_alter, remover_comment - этот функционал можна реализовать модификацией *.tpl.php.
(Заодно отмечусь в топике - закладки тут непредсказуемо себя ведут).

Аватар пользователя edhel edhel 28 сентября 2007 в 5:38

remover_link_alter, remover_comment - этот функционал можна реализовать модификацией *.tpl.php

Зато хуки работают сразу для всех тем.

Аватар пользователя jason32 jason32 28 сентября 2007 в 10:12

vadbars@drupal.org
можно было бы размечать галочками, какие элементы (например у формы редактирования материала) нужно показывать, а какие - нет.
Есть модуль FormFilter, чтобы прятать. А так да, так это обычно и скрывается - пишется модуль со своим названием , а там через функцию module_alter() удаляется или модифицируется произвольно....

Аватар пользователя petrovnn petrovnn 15 ноября 2010 в 16:39

Для шестерки я сделал так.
Это для корпоративной вики, чтобы не нагружать юзеров многочисленными полями и настройками формы. Заголовок - контент страницы. Этот код нужно ставить в свой модуль.

<?php
 
/**
 * Реализация hook_form_alter()
 */
function myModuleName_form_alter(&$form, &$form_state$form_id) {

    

// убиваем ненужные поля формы
    
unset($form[revision_information]);
    unset(
$form[author]);
    unset(
$form[options]);
    unset(
$form[comment_settings]);
    unset(
$form[book]);
    unset(
$form[menu]);
    unset(
$form[body_field][format]);
    unset(
$form[body_field][teaser_js]);
    unset(
$form[body_field][teaser_include]);
    
    
// распечатываем массив 
    // и изучаем его на предмет "чего-бы там еще покоцать"
    
?><pre><?php echo print_r(&$form?></pre><?php
}
?>

Пишу для тех кто будет искать и найдет этот пост

Наверное еще можно зацепиться за юзера, и например админу показывать все поля, а простым юзерам скрывать выше перечисленные.