0

我已经为 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*

4

2 回答 2

0

在我看来,这个话题有点封闭,但我想知道这个问题是否有任何解决方案?

我有一个类似的问题。我发现问题是 k2 组件没有看到提交的值。

为了确定这一点,我使用了 GET 方法,所以我可以在地址行中看到提交的值。不过我也放了一个

回声 $_SERVER['REQUEST_URI'];

item.php 中的行,但只回显了令人沮丧的基本 uri。我在浏览器的地址行中看到了 domain.com/article_title?mysubmittedvalue=value&etc ,而页面上只有 domain.com/article_title 。

当然表单是可以的,因为在地址行中你可以找到提交的值。问题出在 k2 组件的某个地方。

还尝试使用此代码:

JURI::getInstance()->toString();

这是获取完整 URI http://docs.joomla.org/JURI/toString的适当 joomla 方式

于 2014-01-09T07:54:46.933 回答
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 中并在表单操作中调用该函数

于 2012-03-17T17:50:13.977 回答