컨텐츠을 생성할 때 자동으로 본문에 뭔가를 추가해 넣으려면

Comments

4 comments posted
최근에 작성된 특정

최근에 작성된 특정 컨텐츠 타입(예:CCCC)의 최신 글 하나를 참고하는 SQL은, 아래와 같다.

        SELECT n.* FROM node AS n
        WHERE n.type = 'CCCC' AND n.status = 1 ORDER BY n.created DESC LIMIT 1

 
이를 응용해서 좀 더 자세한 정보, 특히 해당 컨텐츠 타입의 특정 필드 정보까지 알아내려면,
다음과 같이 SQL을 입력하면 된다. 특정 컨텐츠 타입의 최신 글 하나의 필드 정보를 취득한다.
참고로 content_type_CCCC 테이블은 컨텐츠 타입의 구성 정보와 관련 있다.

SELECT * FROM content_type_CCCC AS c WHERE c.nid=(
        SELECT n.nid FROM node AS n
        WHERE n.type = 'CCCC' AND n.status = 1 ORDER BY n.created DESC LIMIT 1
)
Posted by palpal on Fri, 2009-02-13 10:27
위 댓글의 SQL을

위 댓글의 SQL을 이용해서 최근에 작성된 컨텐츠의 특정 필드값을 참고,
또다른 컨텐츠를 작성할 때, (위 본문에서 설명한)Default값을 PHP 코드 형태로 넣을 수 있다.

아래가 그 예이다. 이전에 작성한 CCCC 타입의 컨텐츠 노드에서
폭과 높이 필드에 입력된 값을 참고해 오는 것이다.
물론 CCCC 타입의 컨텐츠 필드로 폭(field_width_value)과
높이(field_height_value) 항목이 이미 준비돼 있는 경우에 해당한다.

$sql = "SELECT c.* FROM content_type_CCCC AS c WHERE c.nid=(
        SELECT n.nid FROM node AS n
        WHERE n.type = 'CCCC' AND n.status = 1 ORDER BY n.created DESC LIMIT 1
)";
$result = db_query( $sql );

$latest_node = db_fetch_object($result);

/********* $latest_nodeの結果例 **********
stdClass::__set_state(array(
   'vid' => '1743',
   'nid' => '1727',
   'field_width_value' => '300',
   'field_height_value' => '400',
))
*****************************/

$width = $latest_node->field_width_value;
$height = $latest_node->field_height_value;

$final = array();
array_push( $final, array('value'=>'[IMG:'.$width.':'.$height.']', 'format'=>'') );
return $final;

Posted by palpal on Fri, 2009-02-13 11:57
위 리턴값 $final로

위 리턴값 $final로 인해,
새로 CCCC 컨텐츠 타입을 생성할 때,
해당 컨텐츠 필드에는 [IMG:300:400]이라는 값이 미리 들어가 있게 된다.

Posted by palpal on Fri, 2009-02-13 11:59
위 본문의 팁은

위 본문의 팁은 컨텐츠 노드를 새로 작성할 때 미리 준비된 글이 나타난다.

만일 노드 생성과 달리 댓글을 생성할 때에 미리 준비된 Disclaimer를 항상 나타나게 하려면,
http://drupal.org/node/359580 를 참고하면 되겠다.

Posted by palpal on Fri, 2009-02-13 15:38