2012-03-17 105 views
0

我已經爲k2項目創建了自定義數組表單。Joomla!組件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

你得到任何錯誤 – mgraph 2012-03-17 11:01:45

+0

沒有,我只是得到DATABSE – Denis 2012-03-17 11:11:26

+0

我試過NULL只有一個值,但我得到相同的結果(NULL)。 – Denis 2012-03-17 13:43:13

回答

0

$日期= JRequest :: getVar( '日期',NULL, 'POST', '陣列' );

地方說,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(); 


} 
在模型

/item.php並呼籲表單操作該功能

+0

我仍然無法得到這個工作。我得到致命錯誤:調用未定義的函數preuzmiDatum()..我把函數在文件中調用它在案件保存...我感到沮喪..可以有人爲我做這:) :)? – Denis 2012-03-17 20:25:43

+0

我是否把代碼放到了joomla k2組件的錯誤位置,這樣也許代碼不會從窗體中獲取數據? – Denis 2012-03-18 16:14:52

+0

我已經設法將一個值放在數據庫中,但我需要數組幫助。下面我爲一個值工作的代碼: $ dates = JRequest :: getVar('dates',NULL,'POST'); (isset($ dates)){ $ datumi = new JObject; $ datumi-> set('datum',$ dates); } $ query =「INSERT INTO #__ k2_items('dates')VALUES($ datumi)」; $ db-> setQuery($ query); $ db-> query(); – Denis 2012-03-18 16:45:17

0

在我看來,這個話題是封閉的,但我想知道是否有解決這個問題的辦法?

我有類似的問題。我發現問題是k2組件看不到提交的值。

爲了確保這一點,我使用了GET方法,所以我可以在地址欄中看到提交的值。不過,我還在item.php中放置了一行

echo $_SERVER['REQUEST_URI'];

但只回應令人沮喪的基本uri。我在瀏覽器的地址欄中看到了domain.com/article_title?mysubmittedvalue=value &等,並且僅在頁面上顯示了domain.com/article_title。

當然,表格沒問題,因爲在地址欄中可以找到提交的值。問題在於k2組件中的某處。

也與此代碼嘗試:

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

這就是此時,相應的Joomla的方式來獲得完整的URI http://docs.joomla.org/JURI/toString

+0

是的,我解決了將整個想法轉移到另一個平臺的問題。所以我使用MODX創建了網站 - 它允許我在設計和代碼方面有更多自由... :) – Denis 2016-06-23 12:16:19

相關問題