Показать все регионы при возврате контента из URL обратного вызова меню - PullRequest
1 голос
/ 18 декабря 2011

сделал простую страницу благодарности (например, / product / 3 / thankyou) на основе обратного вызова меню в пользовательском модуле. содержимое отображается нормально в обычном макете страницы, но я хочу, чтобы регионы и блоки отображались, а они нет. предложения?

// 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;
}

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Я только что попробовал ваш код в установке drupal, и у меня нет проблем с отсутствующими блоками. Возможно ли, что вы настроили показ своих блоков только на определенных страницах?

0 голосов
/ 19 декабря 2011

Один блок, который я до сих пор не смог показать (независимо от настроек видимости блока), был «блок меню».Проблема была в том, что в этом блоке не было ссылки для страницы благодарности.Итак, мне пришлось добавить ссылки на страницу конфигурации с путями типа product/[node_id]/thankyou, а затем я отключил ссылки, чтобы они не были видны.Обновил страницу, и блок появился.

Для меня это немного раздражает, так как я хотел, чтобы это было динамическим и не должно было записываться в идентификаторах узлов продукта.Но в любом случае проблема решена.

...