【发布时间】:2013-08-30 09:51:41
【问题描述】:
我正在使用 Joomla 2.5,但在玩弄我的第一个组件时遇到了问题。
我在表单中使用以下字段集:
<fieldset>
<field
name="person_id"
type="hidden"
/>
<field
name="person_email"
type="text"
label="Email"
description="Email"
size="40"
class="inputbox"
default=""
/>
<field
name="person_notification"
type="text"
label="Notification"
description="Notification"
class="checkbox"
/>
</fieldset>
电子邮件字段按预期工作并更新数据库条目。通知字段让我很麻烦。该值未设置。
我已阅读有关此问题的 here 和 here。我试图从第二个链接调整方法 2,但它对我没有帮助。我试过的代码是:
<fieldset>
<field
name="person_id"
type="hidden"
/>
<field
name="person_email"
type="text"
label="Email"
description="Email"
size="40"
class="inputbox"
default=""
/>
<input type="hidden" name="jform[person_notification]" value="0" />
<input type="checkbox" name="person_notification" class="inputbox" />
</fieldset>
在这种情况下,复选框根本不可见,因为在我的 edit.php 中我使用了
<?php foreach($this->form->getFieldset() as $field):
if ($field->label!="") {
echo '<li>'.$field->label.$field->input.'<br/></li>';
} else {
echo '<li>'.$field->input.'</li>';
}?>
所以我认为我必须调整方法2以使用field标签,但我不知道该怎么做。谁能告诉我,我必须如何定义我的文件集才能使其正常工作?我已阅读this SO 问题,但我不确定这是否正是我遇到的问题。
我知道使用单选按钮的可能性,但我的要求不允许这种解决方法。在我的情况下,更改核心 joomla 代码中的任何内容或更新到版本 3 也是不可能的。
【问题讨论】:
-
我不确定它是否会有所作为,但您是否尝试过删除空格?所以试着把这个:
name = "person_notification"改成这个name="person_notification" -
@Lodder 不,不幸的是这并没有改变任何东西。
-
here 建议的解决方案怎么样?它在
XML中使用<field>并覆盖模型的bind()方法来处理未选中复选框的情况。
标签: php joomla checkbox joomla2.5