2014-03-29 2 views
1

나는 검색 버튼이 있는데 버튼을 클릭하면이 URL (www.jksb.com/saleorderlist?field_month=4)을 드루팔 메뉴에 전달합니다. 메뉴의 페이지 인수에서 매개 변수 (field_month)를 제공해야합니다. 내 페이지 인수는 다음과 같습니다 : 'page argument'=> array (1), 그러나 그것은 나를 위해 작동하지 않습니다. 나는이 문제에서 나를 도울 누군가가 필요하다.페이지 인수 드루팔 (Drupal에서

답변

0

당신은 당신의 인수를 질의 문자열로 전달하지만 "page argument '=> array (1)"을 사용한다면, 경로의 두 번째 세그먼트/컴포넌트가 콜백의 첫 번째 매개 변수로 전달되기를 원한다는 것을 의미합니다 기능. (여전히 콜백 내에서 매개 변수를 가져올 수 있지만이 경우에는 "$ _GET"변수를 사용해야합니다). 예컨대

:

여기
$items['my-module/%/edit'] = array(
    'page callback' => 'mymodule_abc_edit', 
    'page arguments' => array(1), 
); 

, "%"는 "1"위치에 와일드 카드는 ("내 모듈은"위치 0과 위치 2에서 "수정"에있다). 당신이 호출하는 경우 다음

'saleorderlist/%' 

:이은 다음과 같아야합니다 "hook_menu"에 귀하의 경우에는 콜백 함수의 첫 번째 매개 변수 ("mymodule_abc_edit")

로 경로를 전달 될 값입니다 경로는 "saleorderlist/4", "4"콜백 함수의 첫 번째 매개 변수로 전달됩니다

기능 my_callback ($ field_month) { 는 에코 $ field_month; //이 "4"에코 윌}

여기 hook_menu에 대한 자세한 정보 (현재 질문에 대한 "경로의 와일드 카드"섹션) : https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_menu/7

+0

귀하의 답변을 주셔서 감사합니다,하지만 u는 위에서 말했듯이 나는 시도했다. 그러나 'saleorderlist? field_month = 0'이 호출되면 판매 페이지 목록 페이지에 "페이지를 찾을 수 없습니다."라는 메시지가 나타납니다. – SAWAUNG

+0

다른 상품을 경로 "saleorderlist"(이는 "saleorderlist/%" – progzy

1

이것은 내가이 문제를 해결 한 것입니다.

saleordermonthly.module

sale_order_monthly_menu 함수() {$
항목 = 배열 ​​();

$items["saleOrderMonthlyList"] = array(
'title' => 'Sale Order Monthly Report', 
'description'=>'Sale Order Monthly', 
'page callback' => 'sale_order_monthly_loadAllrecord', 
//'page arguments' => array($para), 
'access arguments' => array('access saleOrderMonthlyList'), 
'type' => MENU_NORMAL_ITEM, 
'file' => 'sale_order_monthly.admin.inc', 
'access callback' => TRUE 
); 

return $ items; }

saleordermonthly.inc

enter code here 
<?php 
function sale_order_monthly_loadAllrecord() 
{ 
$para=''; 
$query = drupal_get_query_parameters(); 
if(count($query) > 0){ 
    $para= $query['field_month']; 
}; 

} ?>

+0

과 다른 경로로 등록해야합니다. drupal_get_query_parameters()에 감사드립니다! 너무 길었습니다. –

관련 문제