我想更改默认的MediaWiki ContactPage联系人表单,以便我的表单将不包括标题和文本区域,而只是一个简单的选择列表(与电子邮件字段一起)。选择列表应采用以下模式:
<select name="fruits">
<option value ="none">Nothing</option>
<option value ="guava">Guava</option>
<option value ="lychee">Lychee</option>
<option value ="papaya">Papaya</option>
</select>
因为在MediaWiki中,可以通过任何HTMLForm(模板引擎?)模板来自定义ContactPage联系人表单的PHP,我尝试阅读HTMLForm手册,以了解用于选择列表的模板,并发现以下模板最合适:
'omgaselectbox' => [
'class' => 'HTMLSelectField',
'label' => 'Select an oooption',
'options' => [
'Pirates' => 'pirate',
'Ninjas' => 'ninja',
'Back to the NINJAR!' => 'ninjars',
],
],
我从ContactForm和HTMLForm手册中都看不懂,omgaselectbox
是什么-如果只是名称或命令,而且我也不理解这些手册是否应将最终的联系表代码更改为包括以下内容:
'AdditionalFields' => array(
'Text' => array(
'label-message' => 'emailmessage',
'type' => 'textarea',
'rows' => 20,
'required' => true, // Either "true" or "false" as required
),
'omgaselectbox' => [
'class' => 'HTMLSelectField',
'label' => 'Select an oooption',
'options' => [
'Pirates' => 'pirate',
'Ninjas' => 'ninja',
'Back to the NINJAR!' => 'ninjars',
],
],
),
仅包括此内容:
'AdditionalFields' => array(
'omgaselectbox' => [
'class' => 'HTMLSelectField',
'label' => 'Select an oooption',
'options' => [
'Pirates' => 'pirate',
'Ninjas' => 'ninja',
'Back to the NINJAR!' => 'ninjars',
],
],
),
omgaselectbox
的含义是什么,我对最终联系表代码的正确理解是什么?
[数组键是字段名称(即,结果name
或<input>
的<select>
属性;也是在处理并验证了表单提交后,HTMLForm返回的值的数组中的数组键)。大概代表“ OMG一个选择框!”
您可以删除Text
字段,但是用户没有办法写消息,这可能不是您想要的。