2011-12-17 4 views
1

は、カスタムモジュールのメニューコールバックに基づいて簡単なうわーページ(/ product/3/thankyouなど)を作成しました。コンテンツは通常のページレイアウトでうまく表示されますが、地域とブロックが表示され、表示されません。提案?メニューコールバックURLからコンテンツを返す際にすべての地域を表示する

// menu callback 
function custom_menu() { 
    $items = array(); 
    $items['product/%/thankyou'] = array(
     'page callback' => 'custom_product_thankyou', 
     'access arguments' => array('access content'), 
     'type' => MENU_CALLBACK 
    ); 
    return $items; 
} 

// theme function 
function custom_theme() { 
    return array(
    'product_review_thankyou' => array(
     'variables' => array('node' => NULL), 
     'template' => 'product_review_thankyou', 
    ), 
); 
} 

// page callback 
function custom_product_thankyou() { 
    $node = node_load(arg(1)); 
    $output = theme('product_review_thankyou', array('node' => $node)); 
    return $output; 
} 

答えて

1

私はあなたのコードをdrupalインストールで試してみました。ブロックされていない問題はありません。特定のページにのみブロックが表示されるように設定した可能性はありますか?

+0

半分は正しいですが、正しい方向に私を指摘しました。 _were_ブロックはページに表示されていました(私はブロックしていませんでした、別の開発者が設定したものです)。しかし、問題の特定のものはまだ表示されていませんでした。 – aterchin

0

ブロックの表示設定が何であってもまだ表示できない1ブロックは 'メニューブロック'でした。問題は、リンクがありませんでした。このブロックにありがとうございました。だから、product/[node_id]/thankyouのようなパスを使って設定ページにリンクを追加しなければならなかったので、リンクが表示されないように無効にしました。ページをリフレッシュし、ブロックが表示されました。

私にはこれが動的であり、製品ノードIDに書き込む必要がないため、少し迷惑です。しかしいずれにしても、問題は解決しました。

関連する問題