Помогите разобраться с модулем Magic Tabs, я сам не программист, по этому где то не доганяю!
Инструкция гласит следующее:
Добавить в блок этот код, который вызывае функцию magic_tabs_example_callback
<?php print magic_tabs_get('magic_tabs_example_callback'); ?>
Эта функция
<?php
function magic_tabs_example_callback($active = 0, $a1, $a2) {
$tabs[] = array(
'title' => t('First magic tab'),
'content' => t('%param: Content of first magic tab', array('%param' => $a1)),
);
$tabs[] = array(
'title' => t('Second magic tab'),
'content' => t('%param: Content of the second magic tab', array('%param' => $a2)),
);
$tabs[] = array(
'title' => t('Third magic tab'),
'content' => ($active == 2 || $active == -1) ? magic_tabs_get('magic_tabs_inline_callback') : '',
);
?>
Это все работает!!!
Теперь вместо надписи Content of first magic tab хочу вывести блок, инструкция гласит следующее:
== Displaying a custom block ==
The easiest way to display a custom block, is to find out the block id and add:
<?php
$bid = 2;
$block = (object)module_invoke('block', 'block', 'view', $bid);
$block->module = 'block';
$block->delta = $bid;
$tabs[] = array(
'title' => t('Display a custom block'),
'content' => theme('block', $block),
);
?>
Что не делаю, блок вывести не получается???
HELP!!!
P.S. Ссылка на инструкцию!
Комментарии
зачем показывать блок в блоке ???? по-моему надо в табы подгружатъ views....вот пример здесь
print magic_tabs_get('observer_most_read_tabs');
?>
function observer_most_read_tabs() {
$tabs[] = array(t('Most Read'), 'views_build_view',
array('block', views_get_view('most_read'),
NULL, FALSE/*pager*/, 8));
$tabs[] = array(t('Most Commented'), 'views_build_view',
array('block', views_get_view('most_popular'),
NULL, FALSE/*pager*/, 8));
$tabs[] = array(t('Top Tags'), 'views_build_view',
array('block', views_get_view('most_tags'),
NULL, FALSE/*pager*/, 8));
return $tabs;
}
function theme_observer_most_read_tabs_tabs($items) {
return theme('item_list', $items, NULL, 'ul', array('class' => 'obs-tabs'));
}
function theme_observer_most_read_tabs_content($content) {
return theme('obs_round_box', $content, array('class' => 'obs-no-ul'));
}
?>
Хорошо! А если я хочу вывести блок который создал Exposed Filters?
так может быть...
$view = views_get_view('trackerx');
$form = views_filters_form($view);
$form['#action'] = url($view->url);
return drupal_get_form("views_filters_$view->name", $form, 'views_filters');
?>
пардон, для 6 друпала будет так...
$view->set_display('default');
$view->init_handlers();
$form_state = array(
'view' => $view,
'display' => $view->display_handler->display,
'method' => 'get',
'rerender' => TRUE,
'no_redirect' => TRUE,
);
$output = drupal_build_form('views_exposed_form', $form_state);
return $output;
Спасибо, но вы не поняли, блок нужно вывести в magic_tabs, может еще подскажите!!!
опа. интересно. как раз выбираю модуль для закладок (для вывода анонсов на главную через вьюсы видимо)
Что выбрать: magic_tabs или quick_tabs (плюсы и минусы, кроме явы)? или через panels? или jstools? Tabbed Block? или Tabs + Views Tabs + CCK Fieldgroup Tabs? другие варианты?
что походит для блоков, что для страниц? всё это местами обсуждается, но в одном месте не собрано. может найдется эксперт, который разложит по полочкам?
Поставьте и посмотрите. Что подойдёт, то и используйте. Я из всего это выбрал [module=quicktabs], почему - уже и не упомню.
kpv_dnepr, попробуйте [module=quicktabs] - там тоже всё примерно также делается. Плюс есть AJAX на подгрузку контента.
Решение пришло после разбора модуля quick_tabs, спасибо Dan, оно оказалось в разборе функции module_invoke, мне для вывода блока views Exposed Filters нужно было правильно указать id блока, с одной поправкой, id блока нужно указывать в одинарных кавычках
Рабочий кусок кода
<?php
$block = (object)module_invoke('views', 'block', 'view', 'find_arenda-block_1');
?>