flecus 10 января 2010 в 18:52 Подскажите, как сделать, чтобы вкладка, созданная на странице группы через node/%/blog появлялась только когда в группе имеются записи в блогах. Drupal6 Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Dan 10 января 2010 в 20:17 А как сделан этот таб? На ум пока приходит только hook_menu_alter c access = false.
flecus 10 января 2010 в 21:54 Таб добавлен через views Нашел похожие обсуждения на офсайте http://drupal.org/node/499398 http://drupal.org/node/40170 но пока применить не получается
Dan 10 января 2010 в 23:12 Ну примерно так: /** * Implementation of hook_menu_alter() */ function ИМЯ_МОДУЛЯ_menu_alter(&$items) { $items['node/%/blog']['access callback'] = 'ИМЯ_МОДУЛЯ_blog_access'; } /** * Helper function for blog access check */ function ИМЯ_МОДУЛЯ_blog_access($string, $account = null, $reset = false){ $view = views_get_view('имя_списка'); $output = $view->execute_display('имя_дисплея', array('аргумент')); return !$view->result? false : user_access($string, $account, $reset); } Где: ИМЯ_МОДУЛЯ - имя созданного вами модуля имя_списка - имя views, в котором Вы создали дисплей с адресом node/%/blog имя_дисплея - default, page_1, block_1 и т.д. аргумент - если используете их
Antoniy 15 мая 2012 в 8:44 Dan wrote: Ну примерно так: Посмотрел еще так же темы на орге, как скрыть табы. Пока пробую, не работает. Вывожу через Views табами поля Content Prfile, списки нод, созданных пользователем. У некоторых пользователей содержимого нет и табы пустые.
Комментарии
А как сделан этот таб?
На ум пока приходит только hook_menu_alter c access = false.
Таб добавлен через views
Нашел похожие обсуждения на офсайте
http://drupal.org/node/499398
http://drupal.org/node/40170
но пока применить не получается
Ну примерно так:
* Implementation of hook_menu_alter()
*/
function ИМЯ_МОДУЛЯ_menu_alter(&$items) {
$items['node/%/blog']['access callback'] = 'ИМЯ_МОДУЛЯ_blog_access';
}
/**
* Helper function for blog access check
*/
function ИМЯ_МОДУЛЯ_blog_access($string, $account = null, $reset = false){
$view = views_get_view('имя_списка');
$output = $view->execute_display('имя_дисплея', array('аргумент'));
return !$view->result? false : user_access($string, $account, $reset);
}
Где:
Посмотрел еще так же темы на орге, как скрыть табы. Пока пробую, не работает. Вывожу через Views табами поля Content Prfile, списки нод, созданных пользователем. У некоторых пользователей содержимого нет и табы пустые.
Спасибо, Dan!
Попробую.