0

Add Block フォームのカスタマイズについて誰かアドバイスしてもらえますか? (/管理者/ビルド/ブロック/追加)

「ユーザー固有の表示設定」と「ロール固有の表示設定」をユーザーから隠したい。これは私がこれまでに得たものですが、明らかに正しくなく、配列が何であるかわかりません。誰でもこれについて経験がありますか?

function theme_add_block_form($form) {
    $form['roles']['#prefix'] = '<div class="hidden">';
    $form['roles']['#suffix'] = '</div>';
    return drupal_render($form);
}

ありがとう、H

編集-おそらく私は明確ではありませんでした-APIからのさまざまなフォームフックを使用して快適ですが、この場合の問題は、関数で使用する配列要素を識別できないことです。devel モジュールはブロック ページで動作していないようで、themer ポップアップ ブロックのことはあまり明確ではありません。

4

3 に答える 3

3

modules/block/block.admin.inc、関数block_admin_configure

$form['user_vis_settings'] = array(
    '#type' => 'fieldset',
    '#title' => t('User specific visibility settings'),
    '#collapsible' => TRUE,
  );

(...)

$form['role_vis_settings'] = array(
    '#type' => 'fieldset',
    '#title' => t('Role specific visibility settings'),
    '#collapsible' => TRUE,
  );

隠し$form['user_vis_settings']てみてください$form['role_vis_settings']

編集:

触れないでくださいmodules/block/block.admin.inc!! (私はフォームフィールドの名前を見つけた場所を指しているだけでした)。のフィールドを非表示にしますtheme_add_block_form。div内でフィールドをラップする代わりに、次のように記述できます。 $form['user_vis_settings']['#access'] = false;

于 2010-05-06T16:27:36.087 に答える
0

http://api.drupal.org/api/function/hook_form_alter/6

于 2010-05-06T13:32:23.693 に答える
0

これが進むべき道です。他の回答で言うように、 http://api.drupal.org/api/function/hook_form_alter/6を使用します。このコードは、costumモジュールで記述する必要があります。

<?php   
 function module_name_form_alter(&$form, $form_state, $form_id) {
      if ($form_id == 'block_admin_configure') {
       $form['user_vis_settings'] = array(
        '#type' => 'fieldset',
        '#title' => t('User specific visibility settings'),
        '#collapsible' => TRUE,
        '#access' = FALSE,
       );
       $form['role_vis_settings'] = array(
        '#type' => 'fieldset',
        '#title' => t('Role specific visibility settings'),
        '#collapsible' => TRUE,
        '#access' = FALSE,
       );
      }
    }
于 2010-08-24T19:02:23.497 に答える