2013-04-01 3 views
0

I 드루팔의 모듈을 구현하는 문제가 제드루팔 7 블록 구성 모듈

모듈 전체가 초기 현재 사용자에 의해 만들어진 다섯 개 최신 노드 링크 블록을 도시 한 구성 부분 사용자의 노드의 수를 변경할 수 가 표시됩니다.

현재 사용자가 만든 5 개의 최신 노드를 보여주는 블록을 구현할 수 있었지만 올바르게 블록 구성 작업을 관리하지는 않습니다.

은 우선은 다음과 같다 구성 양식을 만들어 :

function latest_posts_block_configure($delta = ''){ 
    $form = array(); 
    if($delta == 'latest_posts'){ 
    $form['latest_posts'] = array(
     '#type' => 'select', 
     '#title' => t('Number of recent content items to display'), 
     '#default_value' => variable_get('latest_posts', 3), 
     '#options' => drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10)), 
    ); 
) 
    return $form 
} 

이 블록 구성 형태는 잘 작동하지만 나는 그 (것 같아요) 구성에서 선택한 옵션을 적용한다 (hook_block_save을 구현하는 방법을 모른다 형태).

제 아이디어는 폼에서 선택된 값을 가져 와서 노드를 추출하는 SQL 쿼리에 넣는 것입니다. 그러나 저는 drupal 초보자이기 때문에 여전히 고민 중입니다.

아무도 도와 줄 수 있습니까?

+0

배우려고하지 않는 한, views 모듈을 사용하여 블록을 만드는 것이 어떻습니까? 그것은 당신을 위해 쿼리를 처리합니다. – TKrugg

답변

2

http://api.drupal.org/api/drupal/modules%21block%21block.api.php/function/hook_block_save/7 당신에게 힌트를 줄 수 있습니다. 그런 다음 쿼리에서 구성에서 설정 한 변수를 사용할 수 있습니다.

+0

나는 hook_block_save를 사용하여 변수를 얻는 방법을 알았지 만 새로운 값으로 내 양식 (및 쿼리)을 업데이트하는 방법을 모르겠습니다. hook_block_view_alter를 사용해 보았지만 시도가 실패했습니다. – Branko

+0

지금까지 수행 한 작업에 대한 자세한 정보를 게시 할 수 있습니다. 그리고 +1 @ TKrugg의 조언에 대해 – pamatt

+0

나는이 문제를 해결할 수 있었다. hook_block_save()를 구현하고 variable_get/set()을 사용하여 쿼리를 수정하고 hook_block_view()를 업데이트했습니다. – Branko