joomla 2.5 保存多个选择列表?

标签 joomla selectlist multiple-select

我正在尝试将多选列表添加到我的后端组件,但我似乎无法让它工作。我尝试搜索 joomla 论坛并尝试了他们的建议,但仍然不起作用。

这是我所做的:

/models/fields/categories.php

foreach ($result as $item) {
    $options[] = JHtml::_('select.option', $item->id, $item->title);
};
$drawField  = '';
$drawField .= '<select name="'.$this->name.'" id="'.$this->name.'" class="inputbox" size="10" multiple="multiple">';
$drawField .= JHtml::_('select.options', $options, 'value', 'text', $strVal, true);
$drawField .= '</select>';
return $drawField;

/models/forms/edit.xml

<field name="catid" type="categories" multiple="true" size="40" class="inputbox" label="COM_PRODUCTS_FORM_LBL_EDIT_CATID" description="COM_PRODUCTS_FORM_DESC_EDIT_CATID" required="true" filter="safehtml" />

/models/edit.php

protected function loadFormData()
{
    $data = JFactory::getApplication()->getUserState('com_products.edit.edit.data', array());
    if (empty($data)) {
        $data = $this->getItem();
        $data->catid = explode(',',$data->catid);
    }
return $data;
}

/tables/edit.php

public function check() {
    if (property_exists($this, 'ordering') && $this->id == 0) {
        $this->ordering = self::getNextOrder();
    }
    $this->catid = implode(',',$this->catid);   
return parent::check();
}

它在后端将字段catid保存为“Array”。然而,当我手动输入 143,148 作为字段值时,它不会突出显示这些字段,因此显然我的内爆/爆炸不起作用..任何帮助将不胜感激!!

谢谢:)

最佳答案

好的,弄清楚了..问题是这样的:xml文件中的filter =“safehtml”,如果其他人也遇到同样的问题...现在一切都很好:)

关于joomla 2.5 保存多个选择列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10747235/

相关文章:

php - fatal error : Class 'JDatabaseDriver' not found

jquery - 白线故障(25% 大小的 div)

joomla - Google 新闻站点地图语法

c# - 从 C# 中的 SelectList 中删除项目

c# - 在 C# 中获取 ListBox 中多个选定项的索引

apache - 如何启用对 Joomla 站点根目录中我的自定义目录的直接访问?

asp.net-mvc - Html.DropDownList 和模型绑定(bind)

javascript - 等待所有选择列表加载 jQuery

php - 有没有更好的方法来编写报价单?

javascript - 如何在多选插件中选择限制数量的选项?