2013-02-22 2 views
2

PHP로 joomla DB에 K2 기사를 추가하고 싶습니다. 기사 테이블에 레코드를 추가 할 수 있습니까? 아니면 다른 테이블도 업데이트해야합니까? PHP와 MySQL에 대한 근본적인 지식이 있지만 정확한 구문을 이해하기 위해 올바른 방향을 제시해 주셔서 감사드립니다.PHP로 joomla 데이터베이스에 k2 기사 삽입

많은 감사, 는 Håkan

+0

는 단지 하나의 K2 항목의 경우를/기사 - 새로운 Joomla 기사로 내용을 복사 할 수 없습니까? –

+0

내가하고 싶은 이유는 새 기사를 삽입하는 특정 양식을 갖고 싶어 beacuse입니다. 아마 이것에 대한 모듈을 작성하는 것이 낫습니다. –

답변

2

내가 뭐하는 거지 같지만 저장 K2 항목에 (하지 K2에 이미 저장된 항목의 경우). 그래서 K2의 항목을 joomla의 기사로 복제 할 수 있습니다. 한 번의 클릭으로 K2 항목 작성 패널에서 저장하십시오.

K2의 "항목"은 Joomla의 "기사"입니다.

나는 다음 Joomla - Overriding getItem method

나는 K2이 포스트>Joomla - Where is the code in K2 which saves a new item's Title and alias

같이 문서를 저장 곳을 발견했다> 나는이 포스트에서 언급 한 프로세스를 사용하여 핵심 K2를 무시하고

다음 단계는 재정의 파일 (K2의 models \ item.php) save() 함수에 조각 코드를 추가하여 joomla com_content 테이블에도 같은 K2 항목을 저장하는 것입니다. 내가 언급 한 게시물의 모든 정보를 찾을 수 있습니다. 명확하지 않은 항목이 있으면 쿼리를 되돌릴 수 있도록 설명을 남겨 두십시오.

행운을 빌어 요!

+0

늦은 업데이트, .. 작동했습니다. K2에 항목을 저장하면 joomla에 사본이 생성됩니다! –

0

Joomla 1.6 이상의 아티클에 대해서도 자산 테이블에 항목이 있어야하며 JTableContent의 메소드를 사용하여 정확하게 만들어야합니다.

0

저는 Joomla 2.5 이상에서이 작업을 여러 번했습니다. Joomla 데이터베이스의 k2_items 테이블에 올바르게 구조화 된 행을 삽입하기 만하면됩니다. 새로운 행이 추가 될 때마다 ID가 올바르게 증가하는지 확인하고 싶을 것이다. 여기 예제 : 당신이 마지막으로 다음 코드를 쓸 수있을 때까지

$data =new stdClass(); 
$data->id = null; 
$data->title = $title; 
$temp = strtolower($data->title); 
$data->alias = str_replace(' ', '-', $temp); 
$data->catid = $catid; 
$data->published = 1; 
$data->introtext = $introtext; 
$data->fulltext = $fulltext; 

다른 모든 K2 필드와 같은 수행 (그들의 무리 거기) :

$db = JFactory::getDBO(); 
$db->insertObject('#__k2_items', $data, id);