문제

내 모듈을 가지고 있으며 hook_menu를 구현 한 메뉴 - 항목 리디렉션 (메뉴가 활성 상태를 유지해야합니다) 기존 WebForm 페이지 에이 페이지는 다음과 같습니다.

$items['adminQuestion/create'] = array(
      'title' => t('Crear Cuestionarios'),
      'page callback' => "What i put here?",
      'page arguments' => array('form_questionnaires'),
      'access arguments' => array('access questionnaires'),
      'type' => MENU_NORMAL_ITEM,
  );
.

도움이 되었습니까?

해결책 3

여기에 답변이 있습니다 :

$items['adminquestion/create'] = array(
  'title' => 'Crear Cuestionarios',
  'page callback' => 'questionnaires_page',
  'access callback' => TRUE,
  'type' => MENU_NORMAL_ITEM,
);


function questionnaires_page() {
    module_load_include('inc', 'node', 'node.pages');
    $output = node_add('webform');
    return $output;
}
.

여기서 WebForm은 노드 / Add / WebForm의 별칭입니다. 감사합니다

다른 팁

drupal_goto 매개 변수로 리디렉션 할 경로 :

$items['adminQuestion/create'] = array(
  'title' => t('Crear Cuestionarios'),
  'page callback' => 'drupal_goto',
  'page arguments' => array('node/add/webform'),
  'access arguments' => array('access questionnaires'),
  'type' => MENU_NORMAL_ITEM,
);
.

은 또한 $ ITEM [ 'ADMINEQUESTIONS']은 나쁜 연습입니다. URL 및 경로는 대소 문자를 구분하지 않아야합니다. 사실 : DRUPAL CAMELCASE에서는 모든 코드에서 매우 낙담합니다.

리디렉션을 통해 http 리디렉션 을 의미하는 경우, drupal_goto('path/to/webform')를 사용하기 만하면 Webform 경로를 직접 사용할 수 있으므로 의미가 없습니다.IMO 필요한 것은 drupal_get_form() 인 WebForm의 node_load()와 같은 API이므로 Webform은 메뉴 경로에로드됩니다.

// Assuming webform node with nid: 237
$items['adminQuestion/create'] = array(
  'title' => t('Create Cuestionarios'),
  'page callback' => 'node_load'
  'page arguments' => array(237),
  'access arguments' => array('access questionnaires'),
  'type' => MENU_NORMAL_ITEM,
);
.

hook_theme()의 Webform 구현은 노드를 형성 할 노드를 처리합니다.또는 가능한 경우 Webform Path를 변경할 수 있습니다.

주석을 읽는 것은 / node / add / webform에 경로 별칭을 만들고 싶은 것처럼 보입니다.hook_menu를 구현할 필요가 없습니다.

/ admin / build / path / add (경로 모듈을 사용하도록 설정했는지 확인하십시오).

여기에 '노드 페이지 추가'부분을 탭 그룹의 부분을 만들기 위해 한 작업

$items['mynode/new'] = array(
    'title' => 'New Node',
    'page callback' => 'node_add',
    'page arguments' => array('my_node_type'),
    'access arguments' => array('create my_node_type content'),
    'file' => 'node.pages.inc',
    'file path' => drupal_get_path('module', 'node'),
    'type' => MENU_LOCAL_TASK,
    'weight' => 0,
);
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top