我使用的代码片段(简单版本的步骤1)由Joomla!的BreezingForms开发人员托管,修改后只有正确的表名和字段名,以及表单中的选择列表的名称:http://crosstec.de/media/kunena/attachments/59203/BreezingFormsscriptdev.txt
在BreezingForms中,我要做的就是填充一个选择列表,其中"address“字段作为名称,"buildingID”作为值。我不需要步骤2、3等中的脚本,因为我不需要填充其他表单字段。但是,在“高级”>“表单选项”>“表单片段”>“表单前”框中插入此代码后,选择列表甚至无法显示在带有表单的页面上,请参见此处:http://catondesigngroup.com/websites/joooid/select-test/view/form.html
表单字段标签"Select“在那里,但是选择列表框出现失败。我看不出有什么不管用的理由。这里怎么了?请帮帮我!
注意:我省略了这两行代码,因为我不需要用户名或用户ID,但是尝试实现这些代码行确实有帮助:
$user = & JFactory ::getUser();//通过JFactory $userid = $ user ->id;//用户可能需要使用不同的值
=========START CODE=============
this->execPieceByName('ff_InitLib');
$rows = ff_select("SELECT buildingID, address
FROM ty43k_building_inspection");
$listdata = "0;Please make a selection;0\n";
for ($i = 0; $i < count($rows); $i++) {
$listdata .= "0;{$rows[$i]->address};{$rows[$i]->buildingID}\n";
}
ff_setSelectList('select1', $listdata);
function ff_setSelectList($name, $value) {
global $ff_processor;
for ($r = 0; $r < $ff_processor->rowcount; $r++) {
$row =& $ff_processor->rows[$r];
if ($row->name==$name)
$row->data2 = $value;
unset($row);
} // for
} // ff_setSelectList========END CODE=========
发布于 2013-02-13 05:57:12
在代码开始之前尝试添加一个$:
this->execPieceByName('ff_InitLib');因此,结果是:
$this->execPieceByName('ff_InitLib');发布于 2018-07-03 10:53:05
这可能是因为您使用了函数
ff_setSelectList('select1', $listdata);在定义之前?
尝试在定义后移动用法:
function ff_setSelectList($name, $value) {
global $ff_processor;
for ($r = 0; $r < $ff_processor->rowcount; $r++) {
$row =& $ff_processor->rows[$r];
if ($row->name==$name)
$row->data2 = $value;
unset($row);
} // for
} // ff_setSelectList
ff_setSelectList('select1', $listdata);https://stackoverflow.com/questions/13923476
复制相似问题