在Joomla中创建Published下拉列表

时间:2013-03-10 23:59:08

标签: joomla joomla2.5

<field
    name="published"
    type="list"
    label="JSTATUS"
    description="JFIELD_PUBLISHED_DESC"
    class="inputbox"
    filter="intval"
    size="1"
    default="1"
>
    <option value="1">
        JPUBLISHED</option>
    <option value="0">
        JUNPUBLISHED</option>
    <option value="-2">
        JTRASHED</option>
</field>

我在自定义组件的form.xml文件中创建了一个Joomla下拉列表,用于选择项目的已发布状态。我从Joomla com_content组件中毫不羞愧地使用了这段代码(并将其复制并粘贴到我自己的form.xml文件中。但是当它在edit.php文件中呈现时(如下所示)可以看到该项目被设置为未发布。尽管上面的代码清楚地将默认值设置为1应该对应于已发布。有关为什么/如何解决此问题的任何好主意。我可以轻松地将下拉列表从未发布更改为发布 - 并且它可以正常工作。但它只是烦人和我想修复的错误。任何想法?

This shows the module being unpublished by default

2 个答案:

答案 0 :(得分:0)

尝试查看代码是否有任何覆盖,因为这是由com_content组件执行的,在设置所有必填字段之前它不会设置为默认值,请仔细检查是否有任何JS脚本或PHP函数中断你的领域的正常行为。

我的另一个想法是,翻译可能存在问题,因此请仔细查看翻译文件。

答案 1 :(得分:0)

您是否正在使用com_content这样的表/模型方法?如果是这样,当记录不存在时,其字段将被设置为默认值(从数据库中读取,因此int字段将默认为0)。

你可以

  • 在数据库中设置正确的默认值
  • 检查模型中的值,
  • 将JPUBLISHED更改为0,将JUNPUBLISHED更改为517

虽然后者看起来很丑陋。