2010-07-19 2 views
1

drupal을위한 초보자 용 리소스가 있습니다. 나는 워드 프레스가 관리 할 수 ​​없을 때 드루팔 (Drupal)을 가도록하는 아이디어를 좋아하기 때문에 개발의 기초를 스스로 가르치는 방법으로 제 모듈을 작성했습니다. (워드 프레스는 드루팔 (Drupal만큼 빠른 속도로 진행되고 있지만, 그게 무슨 질문이 아니야.)운영 메뉴

나는 활성화/비활성화 화면에 표시되는 모듈을 가지고 있으며 module.install 파일은 취급을합니다. 내가 갇혀있는 것은 내가 사용하고있는 테이블의 항목을 편집 할 관리 영역을 생성하는 것입니다. module.admin.inc에 module_admin_settings() 함수가 있고 module.module에 module.menu()가 있습니다.

하지만 메뉴에 나타나지 않고 그 이유에 대해 잘 모르겠습니다. 그래서 나는 누군가가 관리 옵션을 생성하는 방법을 설명하는 좋은 튜토리얼을 알고 있기를 바라고 있습니다.

답변

2

Drupal 개발에 중점을두고 싶다면 Pro Drupal developemnt 서적을 읽어 보시기 바랍니다. 제가 읽은 가장 유용한 드루팔 (Drupal) 책이었습니다.

질문에 대해서는 관리자 섹션을 만드는 것이보기를 만드는 것과 많이 다르지 않습니다. 당신이해야 할 일은 바로. 사용자가 당신에 갈 때

  1. 호출해야 기능을 전화를 다시 구현
  2. 잘되어야 귀하의 경우 admin/settings/name에 사용하려는 URL을 등록 hook_menu를 구현합니다. 귀하의 경우에는 drupal_get_form을 사용해야하므로 구현할 필요가 없으며 대신 사용자가 form API을 사용하여 볼 수있는 양식을 만들어야합니다.

    당신은이처럼 hook_menu에이 정보를 배치해야합니다 :

    function modulename_menu() { 
        $items = array(); 
        $items['admin/settings/modulename'] = array(
        'title' => 'Menu item', 
        'description' => 'The description of the menu item. It is used as title attribute and on the administration overview page.', 
        'page callback' => 'drupal_get_form', 
        'page arguments' => array('form_id'), 
        'access arguments' => array('administer modulename'), // access restriction to admins only 
    ); 
        return $items; 
    } 
    
  3. 그런 다음 유효성 검사를 구현하고 양식에 대한 핸들러를 제출해야합니다, 당신은 system_settings_form을 사용하는 것입니다, 당신은 많이 얻을 수 있습니다 너를 위해 일했다.

  4. hook_menu을 변경할 때마다 Drupal이 성능을 최적화하기 위해이 정보를 캐시하므로 (메뉴) 캐시를 지워야합니다.

그게 전부입니다. 이제 모듈에서 다른 파일을 사용할 필요가 없습니다. 모듈이 작 으면 모두 .module 파일에 들어갈 수 있습니다. 하지만 더 큰 모듈의 경우 코드 일부를 .inc 개의 파일에 배치하여 코드를 약간 구성 할 수 있습니다. 관리자 콜백/기능에 대해서는 Fx modulename.admin.inc, 일반 콜백/기능에 대해서는 modulename.page.inc 등이 있습니다.

+0

그게 제가 가지고있는 책입니다. 그것은 내가 원하는 것을 따르지 않고 있다는 것입니다. – YsoL8

+0

책을 읽을 때 복사하고 사용할 수있는 모든 장의 전체 코드 예제가 있습니다. 당신이 이해하지 못하는 것은 무엇입니까? – googletorp