【问题标题】:Joomla 2.5 component formsJoomla 2.5 组件表单
【发布时间】:2012-11-24 01:02:47
【问题描述】:

我正在为 Joomla 2.5 制作一个组件,根据docs 有一个表单文件夹,其中有一个 xml 文件:

<field
    name="id"
    type="hidden"
/>

<field
    name="greeting"
    type="text"
    label="COM_HELLOWORLD_HELLOWORLD_GREETING_LABEL"
    description="COM_HELLOWORLD_HELLOWORLD_GREETING_DESC"
    size="40"
    class="inputbox"
    default=""
/>

我需要一个字段作为复选框,所以我将 type="text" 更改为 "checkbox",这对于添加新条目来说很好。但是通过编辑我需要检查数据库中的值以查看复选框是否被选中。例如,我会有这样的事情:

<field
    name="published"
    type="checkbox"
    label="COM_HELLOWORLD_HELLOWORLD_GREETING_LABEL"
    description="COM_HELLOWORLD_HELLOWORLD_GREETING_DESC"
    size="40"
    class="checkbox"
    default=""
/>

如果数据库中的“已发布”为 1,我希望选中默认复选框。有没有办法做到这一点?谢谢!

【问题讨论】:

  • 如果复选框是 XML 文件的一部分,则需要覆盖该字段。
  • 希望这个链接对你有用docs.joomla.org/Checkbox_form_field_type
  • 感谢您的提示。我创建了一个自定义 JFormField 类,但是如何将数据库数据放入自定义字段类中?
  • 或者换句话说,我如何将一个值从数据库传递到我的自定义 JFormField 类?
  • @Moo33 您能否也发布您如何在表单中显示字段的表单代码?

标签: php html joomla checkbox joomla2.5


【解决方案1】:

您可以使用edit.php 中的默认输入字段来完成此操作。这对我有帮助,也可能对您有所帮助。

例如:

<?php
if($this->form->getValue('published')==1)
{
    $value=1;
}
else{
    $value=0;
}?>

<li><?php echo $this->form->getLabel('published'); ?>
<input type="text" name="jform[published]" value="<?php echo $value; ?>"  /></li>

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 2013-03-10
    • 2013-04-12
    • 2013-04-20
    • 2016-03-08
    • 2012-10-12
    • 2013-05-01
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多