Вы здесь

Как стандартной админ-темой затемить страницу созданную через hook_menu?

0

Пробовал сделать следующим образом

function data_update_menu() {
  $item['admin/content/update_logs'] = array(
    'title' => t('Журнал обновлений'),
    'page callback' => 'data_update_logs',
    'access callback' => TRUE,
    'access arguments' => array('access content'),
  );

  return $item;
}

/*
 *Page callback to /update_logs.
 */
function data_update_logs () {

  $logs = theme ('data_update_logs');

  $response = theme('page', array($logs));

  print $response;
}

Но почему то при этом теряется содержимое $logs и возвращается не понятно что


<div id="branding" class="clearfix"> <h2 class="element-invisible">Вы здесь</h2><div class="breadcrumb"><span class="inline odd first"><a href="/">Главная</a></span> <span class="delimiter">»</span> <span class="inline even"><a href="/admin">Управление</a></span> <span class="delimiter">»</span> <span class="inline odd last"><a href="/admin/content" title="Управление материалами и комментариями.">Содержимое</a></span></div> <h1 class="page-title">Журнал обновлений</h1> </div> <div id="page"> <div class="tabs-secondary clearfix"></div> <div id="content" class="clearfix"> <div class="element-invisible"><a id="main-content"></a></div> </div> <div id="footer"> </div> </div>
Версия Drupal: 
7.x
Категория: 
Theming
Вопрос задан 07.09.2015 - 13:40

Ответы

0

Проблема была решена. Достаточно было поменять

/*
 *Page callback to /update_logs.
 */
function data_update_logs () {

  $logs = theme ('data_update_logs');

  $response = theme('page', array($logs));

  print $response;
}

на

<?php

/*
 *Page callback to /update_logs.
 */
function data_update_logs () {

  $response = theme ('data_update_logs');

  return $response;
}
Ответ дан 07.09.2015 - 14:25
0
Ответ дан 07.09.2015 - 13:42
Аватар пользователя xandeadx
xandeadx
1542
function data_update_admin_paths () {
  $paths = array(
    'admin/content/update_logs' => TRUE,
  );
  return $paths;
}

Не помогло, возвращается то же самое, что я указал выше

Комментарий оставлен 07.09.2015 - 14:03

Спасибо, за способ. Не знал.

Комментарий оставлен 08.09.2015 - 10:01
0

Если я правильно понял, что надо сменить тему, то:

function data_update_menu() {
  $item['admin/content/update_logs'] = array(
    ...
    'theme callback' => '_data_update_theme',
    ...
  );

  return $item;
}

function _data_update_theme() {
  return 'NAME_OF_THEME';
}
Ответ дан 07.09.2015 - 14:05
Аватар пользователя SAM
SAM
212