Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 主题化Drupal通过forms API添加块形式_Php_Drupal_Drupal 6_Drupal Fapi - Fatal编程技术网

Php 主题化Drupal通过forms API添加块形式

Php 主题化Drupal通过forms API添加块形式,php,drupal,drupal-6,drupal-fapi,Php,Drupal,Drupal 6,Drupal Fapi,有谁能告诉我如何定制添加块表单吗?(/admin/build/block/add) 我想对用户隐藏“特定于用户的可见性设置”和“特定于角色的可见性设置”。到目前为止,这是我得到的,但显然这是不对的,我也不知道数组是什么。有人有这方面的经验吗 function theme_add_block_form($form) { $form['roles']['#prefix'] = '<div class="hidden">'; $form['roles']['#suffix'

有谁能告诉我如何定制添加块表单吗?(/admin/build/block/add)

我想对用户隐藏“特定于用户的可见性设置”和“特定于角色的可见性设置”。到目前为止,这是我得到的,但显然这是不对的,我也不知道数组是什么。有人有这方面的经验吗

function theme_add_block_form($form) {
    $form['roles']['#prefix'] = '<div class="hidden">';
    $form['roles']['#suffix'] = '</div>';
    return drupal_render($form);
}
函数主题添加块形式($form){
$form['roles']['#prefix']='';
$form['roles']['#后缀']='';
返回drupal_渲染($form);
}
谢谢, H


编辑-也许我不清楚-我可以使用API中的各种表单挂钩,但在本例中,我的问题是无法识别要在函数中使用的数组元素。devel模块似乎没有在blocks页面上起作用,并且更大的弹出块内容也不清楚。

模块/block/block.admin.inc
中,函数
block\u admin\u 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\u vis\u settings']
$form['role\u vis\u settings']

编辑:


不要触摸模块/block/block.admin.inc!!(我只是指着我找到表单字段名称的地方)。隐藏
主题\添加\块\表单中的字段
。您可以编写
$form['user\u vis\u settings']['#access']=false,而不是将字段包装在div中

模块/block/block.admin.inc
中,函数
块管理配置

$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\u vis\u settings']
$form['role\u vis\u settings']

编辑:


不要触摸模块/block/block.admin.inc
!!(我只是指着我找到表单字段名称的地方)。隐藏
主题\添加\块\表单中的字段
。您可以编写
$form['user\u vis\u settings']['#access']=false,而不是将字段包装在div中

这是要走的路。在另一个答案中使用as。您需要在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,
       );
      }
    }

这是一条路要走。在另一个答案中使用as。您需要在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,
       );
      }
    }

是的,这是执行主题化的一个选项,但我需要一些帮助来实际识别要放入函数中的数组元素。我无法使用Devel模块识别它们,因为它似乎不在该页面上运行。在hook\u form\u alter中的dpm($form)如果您有Devel(如果没有,则打印),您将看到表单的所有内部数据。在那里添加您自己的表单元素,并添加自己的验证和提交调用。了解这一点更有帮助:已经尝试过了-抱歉,应该在代码示例中留下这一点:)是的,这是执行主题化的一个选项,但我需要一些帮助来实际识别要放入函数中的数组元素。我无法使用Devel模块识别它们,因为它似乎不在该页面上运行。在hook\u form\u alter中的dpm($form)如果您有Devel(如果没有,则打印),您将看到表单的所有内部数据。在那里添加您自己的表单元素,并添加自己的验证和提交调用。了解这一点更有帮助:已经尝试过了-抱歉,应该在代码示例中留下这一点:)我不想这么说!我会澄清我的答案的。很好的一个,干杯,杜桑,没有想到看里面。是的,别担心,我不会在那里进行编辑,从我的帖子中应该可以清楚地看到,我正在创建一个theme template.php函数。没有必要投反对票!积分返回,从未显示新手破解drupal代码:)谢谢Nikit,我会更仔细地写我的答案。=)我不是故意这么说的!我会澄清我的答案的。很好的一个,干杯,杜桑,没有想到看里面。是的,别担心,我不会在那里进行编辑,从我的帖子中应该可以清楚地看到,我正在创建一个theme template.php函数。没有必要投反对票!积分返回,从未显示新手破解drupal代码:)谢谢Nikit,我会更仔细地写我的答案。=)