0

このコンテンツ タイプに関連する内容を理解していないユーザーに対して、「リビジョン情報」を隠そうとしています。テンプレートの変更から style="display: none" の設定まで、あらゆることを提案する多数の投稿をオンラインで読みました。インジェクション手法がまだ実行できないように、実際にフィールドをアクセスから削除したいと思います。hook_form_alterを設定する を作成してこれを行いました $form['revision_information']['#access'] = false;。メソッドが実際に呼び出されていることを Firebug で確認しましたが、フォーム要素が優先されます。何かご意見は?前もって感謝します!Drupal すごい!

function recipe_form_recipe_node_form_alter(&$form, $form_state){
    if (isset($form['revision_information'])) {
        $form['revision_information']['#access'] = FALSE;
        firep(print_r($form['revision_information'],true));
        $form_state['rebuild'] = true;
    }
}
4

2 に答える 2

3

marcvangendの引用

正しい設定でリビジョン情報を非表示にすることもできることに注意してください。[新しいリビジョンを作成]オプションがオンになっている場合、または現在のユーザーが[ノードの管理]権限を持っている場合にのみ表示されます

これはおそらく最も簡単なオプションです。

注:ウィキの回答は私自身のものではないため

于 2010-01-25T09:26:25.930 に答える
0
/* Below code added by tejas tank , tta@openerp.com 
   to disable the revision block from everywhere    
*/
function phptemplate_node_form($form) {
    $form['revision_information']['#access'] = FALSE;
    return theme_node_form($form);
}
于 2010-08-06T11:40:40.083 に答える