2012-03-17 3 views
0

k2 항목에 대한 사용자 지정 배열 양식을 만들었습니다.줌라! 구성 요소 K2 - 데이터베이스에 양식 데이터 저장

/administrator/components/com_k2/views/item/tmpl/default.php* K2.js에서 나는이 동적으로 필드를 추가 :에

<div id="dynamicInput"> 
Datum 1<br><input type="text" name="dates[]"> 
</div> 
<input type="button" value="dodaj" onClick="addInput('dynamicInput');"> 

은 *입니다.

어떻게 데이터를 데이터베이스로 보낼 수 있습니까?

나는 joomla에 그렇게 좋지 않다. 나는 이것을 작성했지만 작동하지 않는다. 나를 도울 수 있는가?

+0

당신은 – mgraph

+0

아니, 난 그냥, 데이타베이스 – Denis

+0

내가 노력에 NULL 얻을 오류를받을 수 있나요 하나의 값만 있지만 동일한 결과 (NULL)를 얻습니다. joomla에서 – Denis

답변

0

$ 날짜 /administrator/components/com_k2/models/item.php* = JRequest :: getVar ('날짜', NULL, 'POST', '배열'

$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();  

*이은에); 이 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

+0

코드를 joomla k2 구성 요소의 잘못된 위치에 넣었습니까? 그러면 코드가 양식의 데이터를 가져 오지 못하게 할 수 있습니까? – Denis

+0

나는 데이터베이스에 하나의 값을 넣을 수 있었지만 배열에 대한 도움이 필요하다. 아래 코드는 하나의 값을위한 코드이다. $ dates = JRequest :: getVar ('dates', NULL, 'POST'); if (isset ($ dates)) { $ datumi = new JObject; $ datumi-> set ('datum', $ dates); } $ query = "INSERT INTO #__ k2_items ('dates') VALUES ($ datumi)"; $ db-> setQuery ($ query); $ db-> query(); – Denis

0

이 주제는 종결 된 것 같지만 문제점에 대한 해결책이 있는지 알고 싶습니다.

비슷한 문제가 있습니다. 문제가 k2 구성 요소가 제출 된 값을 볼 수 없다는 것을 알게되었습니다.

GET 메서드를 사용하여 제출 된 값을 주소 줄에서 확인할 수 있습니다. 그러나 나는 또한 item.php에

echo $_SERVER['REQUEST_URI'];

줄을 넣었지만 실망스러운 기본 uri 만 울렸다. domain.com/article_title?mysubmittedvalue=value & 등을 브라우저의 주소 줄에 표시하고 페이지의 domain.com/article_title 만 보았습니다.

물론 주소 행에서 제출 된 값을 찾을 수 있기 때문에 양식이 괜찮습니다. 문제는 k2 구성 요소의 어딘가에 있습니다.

는 또한이 코드로 시도 :

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

전체 URI를 얻을 수있는 appropiate의 줌라의 방법입니다 http://docs.joomla.org/JURI/toString

+0

예 전체 아이디어를 다른 플랫폼으로 옮기는 문제를 해결했습니다. 그래서 MODX를 사용하여 웹 사이트를 만들었습니다 - 그것은 나를 desgin 및 코드에서 더 많은 자유를 허용합니다 ... :) – Denis