2012-12-14 2 views

답변

1

menu_valid_path()은 menu.inc (Drupal Core의 일부 임)에서 기능을 수행합니다. 텍스트 상자에 입력 한 URL 드루팔 6 유효인지 아닌지는 확인하고 동시에 확인 할 수 있으며, 제 3 자 모듈을 사용하지 않고

:

는 특정 질문에 대답하려면

예.

그러나 간단한 사용자 정의 모듈을 만들어야합니다.

의 가정하자 :

  1. 귀하의 form id는 문제의 필드 이름이 MODULENAME.module 파일에서 my_path_field_1

입니다 my_form_1

  • 입니다 :

    <?php 
    /** 
    * Modifies the existing form element 'my_path_field_1' to add 
    * 'MODULENAME_path_validate' function to validation array. 
    * 
    * (MYMODULE_path_validate is defined below) 
    */ 
    function MODULENAME_form_alter(&$form, $form_state, $form_id) { 
        switch ($form_id) { 
        case 'my_form_1' : 
         $form['my_path_field_1']['#element_validate'] = array('MODULENAME_path_validate'); 
        break; 
    } 
    // Note, you could use hook_form_FORM_ID_alter(&$form, &$form_state) 
    // instead of the above to simplify things if the only thing this module 
    // does is validite one field for a valid path. 
    
    /** 
    * Validates the my_path_field_1 using Drupal's built-in menu_valid_path() 
    * function. Returns a form error if the field does not contain a valid path 
    * or the current user does not have access to the path's permission. 
    */ 
    function MODULENAME_path_validate($element, &$form_state) { 
        if (!menu_valid_path($element)) { 
        form_error($element, t('The path entered does not exist or you do not have permission to access it.')); 
        } 
    } 
    
  • +0

    감사 아담 .. !! !! 그게 충분히 명확했다 :) –

    +0

    이것은 작동하지 않는 것 같습니다. 404해야 할 링크를 입력하면 여전히 유효합니다. – Kezaia