我正在使用hook_form_alter来禁用作者添加或编辑节点时的某些发布选项:
/**
* hook_form_alter ()
*/
function mymodule_form_alter(&$form, $form_state, $form_id) {
global $user;
if ($form['#id'] == 'node-form') {
unset($form['comment_settings']);
unset($form['path']);
unset($form['revision_information']);
unset($form['author']);
}
}
但是 - 我找不到(甚至在调试器中)要取消设置的变量来禁用输入格式选项以防止用户更改默认格式。 你还有其他办法吗?
答案 0 :(得分:1)
HOOK_FORM_ALTER将起作用。 这是通过将drupal系统表中的模块权重设置为比我们竞争的其他人更大来完成的。它通常在hook_install中完成:
db_query("UPDATE {system} SET weight = [yournumber] WHERE name = 'yourmodulename'");
Drupal使用权重字段来确定顺序或调用挂钩。
取自: http://drupal.org/node/110238
希望它会对某人有所帮助。
答案 1 :(得分:1)
嗯,为什么不设置过滤器格式,以便普通用户不会有多个,只需删除所有人的管理过滤器权限,这不是“残忍的”,称为“安全”。
答案 2 :(得分:0)
禁用“管理过滤器”权限有效,但感觉有点残忍。