Fields文件夹实际上包含任何特定自定义字段的代码,这些字段在管理端需要。当我们在管理端制作表单时,可能会有一些表单中的字段显示一些期望的结果。
让我们说 - 的形式,你需要一个字段,将显示所有的下一个选择列表中的Joomla用户。在这种情况下,你可以让TYPE =“anyUniqueName”的XML领域,obviuosly这个XML是“形式”的“模型”
<field name="j_users" type="anyUniqueName" label="JOOMLA_USERS" />
现在,名anyUniqueName.php文件将在构建目录下'models'的'fields'目录。它的类将是 -
class JFormFieldAnyUniqueName extends JFormFieldList{
protected function getInput() {
$this->multiple=true;
return parent::getInput();
}
protected function getOptions() {
$options = array();
$this->multiple=true;
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->SELECT('id, user_name')
->FROM($db->quoteName('#__virtuemart_users'))
->ORDER('id');
$db->setQuery($query);
$values = $db->loadObjectList();
foreach ($values as $v) {
$options[] = JHtml::_('select.option', $v->id, vmText::_($v->user_name));
}
// Merge any additional options in the XML definition.
$options = array_merge(parent::getOptions(), $options);
return $options;
}
}
创建表文件夹以获取对JTable的读取,创建或操作内容。所有的它的描述可以在这里检查:
https://docs.joomla.org/J1.5:Using_the_JTable_class
这里:
https://docs.joomla.org/Using_the_JTable_class
好了 - 所以我做了一些更多的挖......这似乎表多用一个使用从表中记录?含义 - 当你知道身份证?另外 - 你有没有在你的表文件夹中有多个文件?可能如果你的组件中有多个表? – dingerkingh 2012-02-17 12:08:37
这不是一个解决方案,但是在学习如何修改joomla方面帮了我很大忙(鉴于他们在这个领域的文档并不真正有帮助,v.1.5的Component教程只是一个没有db交互的“hello world”页面)是看看其他的扩展;下载一些(可能最接近你想要做的),看看它们是如何工作的;最终,您将通过这种方式了解更多信息,而不是阅读一个理论上的,苗条的和静态的页面 – 2012-02-17 12:28:59
好主意。感谢您的建议。 – dingerkingh 2012-02-17 12:56:00