我为k2项目创建了自定义数组表单。
<div id="dynamicInput">
Datum 1<br><input type="text" name="dates[]">
</div>
<input type="button" value="dodaj" onClick="addInput('dynamicInput');">
*这是:/administrator/components/com_k2/views/item/tmpl/default.php *
在K2.js中,我动态添加字段。
我现在如何将数据发送到数据库?
我对joomla并不擅长,我写过这个,但是没有用......你能帮我吗?
$dates = array();
$dates = JRequest::getVar('dates', NULL, 'POST', 'array');
foreach ($dates as $key=>$value) {
$object = new JObject;
$object->set('datum', $value);
unset($object->_errors);
$datumi[] = $object;
}
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)";
$db->setQuery($query);
$db->query();
*位于:/administrator/components/com_k2/models/item.php *
答案 0 :(得分:0)
$ dates = JRequest :: getVar('dates',NULL,'POST','array');
它表示NULL,它应该是默认值
http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar
您的查询应该等待操作,好像它正在项目视图上执行
您需要将代码放在函数
中function preuzmiDatum(){
$dates = array();
$dates = JRequest::getVar('dates','default value','post');
foreach ($dates as $key=>$value) {
$object = new JObject;
$object->set('datum', $value);
unset($object->_errors);
$datumi[] = $object;
}
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)";
$db->setQuery($query);
$db->query();
}
在models / item.php中并在表单操作上调用该函数
答案 1 :(得分:0)
在我看来,这个主题有点封闭,但我想知道这个问题是否有任何解决方案?
我有类似的问题。我发现问题是k2组件没有看到提交的值。
为了确保这一点,我使用了GET方法,因此我可以在地址行中看到提交的值。但是我也放了一个
echo $ _SERVER ['REQUEST_URI'];
在item.php中排队,但只回显了令人沮丧的基础uri。我在浏览器的地址行中看到了domain.com/article_title?mysubmittedvalue=value&etc, 并且页面上只有domain.com/article_title。
当然表单没问题,因为在地址行中您可以找到提交的值。问题出在k2组件中。
还尝试使用此代码:
JURI::getInstance()->toString();
这是获得完整URI的合适的joomla方式 http://docs.joomla.org/JURI/toString