代码之家  ›  专栏  ›  技术社区  ›  Lukasz

drupal-如何在节点编辑窗体中禁用“输入格式”字段集

  •  2
  • Lukasz  · 技术社区  · 16 年前

    当作者添加或编辑节点时,我使用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']);
      }
      } 
    

    但是-我找不到(甚至在调试器中)要取消设置的变量,以禁用输入格式选项以防止用户更改默认格式。 你还有别的办法吗?

    3 回复  |  直到 16 年前
        1
  •  1
  •   Lukasz    16 年前

    如果我们确保在filter_form_alter(或从任何其他模块更改窗体挂接)之后调用hook,那么hook_form_alter将起作用。 这是通过设置 模块权重 在Drupal系统中,表要比我们竞争的其他表大。通常在挂钩安装时进行:

    db_query("UPDATE {system} SET weight = [yournumber] WHERE name = 'yourmodulename'");
    

    Drupal使用权重字段来确定顺序或调用钩子。

    取自: http://drupal.org/node/110238

    希望它能帮助别人。

        2
  •  1
  •   chx    16 年前

    嗯,你为什么不设置你的过滤格式,让普通用户不拥有一个以上的过滤格式,然后简单地从每个人身上删除“管理过滤”权限,这不是所谓的“安全”的“残忍”。

        3
  •  0
  •   Lukasz    16 年前

    禁用“管理过滤器”权限有效,但感觉有点残忍。

    推荐文章