Как вывести отображение блока Drupal на "стороннюю" html страницу?

Главные вкладки

Аватар пользователя ariran ariran 19 февраля 2013 в 15:03

Добрый день
возник такой вот вопрос:
есть сайт и установленный в корневой папке друпал-7. на друпале реализовано "отображение" динамических блоков для примера возьмем блок облако тегов. Его код вызова в самом друпале


<?php if ($page['tags_content']): ?>
<div id="tags_content">
<?php print render($page['tags_content']); ?>
</div>
<?php endif; ?>

и собственно подходим к главному. я хочу создать на сайте обычную страницу html и вызвать в нее отображение динамического блока "облако тегов". вопрос: как это можно сделать?

Комментарии

Аватар пользователя ariran ariran 20 февраля 2013 в 13:40

Попробовал вставил на страницу html (в htaccess задал выполнение кода для html cnhfybw) такой php код

<?php

//подключаем ядро
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block = block_load('tagclouds', 1); //номер блока
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;

$_SESSION['custom']=3523;
drupal_session_commit();
?>

номер и имя блока взял из адресной строки админки admin/structure/block/manage/tagclouds/1/configure

в итоге выдает следующее
Parse error: syntax error, unexpected T_CLASS in /includes/bootstrap.inc on line 302

в этой строке написано: abstract class DrupalCacheArray implements ArrayAccess {

Аватар пользователя ariran ariran 20 февраля 2013 в 13:56

страница html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<?php
//подключаем ядро
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

//$block = block_load('tagclouds', 1); //номер блока
//$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
//print $output;

$_SESSION['custom']=3523;
drupal_session_commit();
?>
 
</body>
</html>

с помощью htaccess я задал, чтобы php код выполнялся на страницах html
то есть если на этой html странице вставить код
<?php
$a=YEEEEP;
echo $a;
?>
то код выполнится.

Аватар пользователя ariran ariran 20 февраля 2013 в 14:06

нагуглил вот такую конструкцию по module_invoke

<?php
$block 
module_invoke($module_name'block_view'$block_delta);
echo 
render($block['content']);
?>

и вопрос откуда возьмутся $module_name и $block_delta? или мне вместо них вставить tagclouds и 1?

Аватар пользователя ariran ariran 20 февраля 2013 в 14:10

попробовал

<?php
//подключаем ядро
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block = module_invoke('tagclouds', 'block', 'view', 1);
echo $block['content'];

$_SESSION['custom']=3523;
drupal_session_commit();
?>

все равно выдается Parse error: syntax error, unexpected T_CLASS in /includes/bootstrap.inc on line 302
в этой строке написано: abstract class DrupalCacheArray implements ArrayAccess {

define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь тут я правильно понимаю надо указать путь к папке в которой установлен друпал?

Аватар пользователя ariran ariran 20 февраля 2013 в 14:17

и еще вопрос у меня "базовые" модули в папке /modules а другие (скаченные) в том числе и tagclouds в папке /sites/all/modules этот момент как-то надо учитывать или друпал там сам разберется где нужный модуль лежит?

Аватар пользователя ariran ariran 20 февраля 2013 в 14:33

выдает /home/sitename/sitename-www это корень сайта в котором и установлен друпал
попробовал заменить define('DRUPAL_ROOT', getcwd()."/"); на define('DRUPAL_ROOT', getcwd());

и при запуске снова Parse error: syntax error, unexpected T_CLASS in /includes/bootstrap.inc on line 302

Аватар пользователя ariran ariran 20 февраля 2013 в 14:46

может кто выложит рабочий код вывода на обычную html или php страницу какого-то стандартного блока (меню например)? а то я как-то не совсем пока въезжаю в эти переменные друпаловские

Аватар пользователя ariran ariran 20 февраля 2013 в 14:51

поменял на этот код. результат тот же.
<?php
//подключаем ядро

define('DRUPAL_ROOT', getcwd().'/'); //правильно укажите путь указанный тут путь это правильный на корень сайта? '/' - это вот вообще что такое?
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block = module_invoke('tagclouds', 'block', 1); //block - это тип отображения или что-то другое?
//$block = module_invoke('tagclouds', 'block', 'view', 1);
echo $block['content'];

//может сессии выше в коде передвинуть?
$_SESSION['custom']=3523;
drupal_session_commit();

//строки ниже остались просто так
print(getcwd());
$i="YEAAAP";
echo $i;
?>

Аватар пользователя ariran ariran 20 февраля 2013 в 15:03

попробовал вставить просто Поиск выдает ту же ошибку Parse error: syntax error, unexpected T_CLASS in /includes/bootstrap.inc on line 302
<?php
//подключаем ядро

define('DRUPAL_ROOT', getcwd().'/'); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block = module_invoke('block', 'block', 2); //admin/structure/block/manage/block/2/configure
echo $block['content'];

$_SESSION['custom']=3523;
drupal_session_commit();
?>

Аватар пользователя drupby drupby 20 февраля 2013 в 15:27

вот тебе рабочий пример вывода меню "Навигация"

define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$block1 = module_invoke('system', 'block_view', 'navigation');
print render($block1['content']);

drupal_session_commit();

Аватар пользователя drupby drupby 20 февраля 2013 в 15:30

описание аргументов функции module_invoke
@arg 1 : module name
@arg 2 : hook name like block_view, block_info
@arg 3 : id or delta of the block e.g 30, map-block_1

второй аргумент должен быть в данном случае block_view

Аватар пользователя ariran ariran 20 февраля 2013 в 15:39

так понемногу проясняется. значит если твой рабочий код вставить в html то выходит та же ошибка Parse error: syntax error, unexpected T_CLASS in /includes/bootstrap.inc on line 302

а если твой код сохранить как страницу php то меню выводится

Аватар пользователя drupby drupby 20 февраля 2013 в 16:21

"ariran" wrote:
так понемногу проясняется

как добавлял возможность выполнение кода в html файле?
добавил строчку
AddHandler application/x-httpd-php .php .html .htm
в .htaccess ?
у меня в html нормально всё выводится без ошибок

Аватар пользователя drupby drupby 20 февраля 2013 в 16:35

твоя ошибка может возникать из-за старой версии php
если тестируешь на хостинге- обратись к хостеру
и в файле .htacess больше ничего не меняли?

Аватар пользователя ariran ariran 20 февраля 2013 в 16:51

с htaccess тут еще тоже интересности. я прописал вот такие две строки

# Выполнение PHP кода на страницах html
AddHandler application/x-httpd-php .php .html .htm
AddType x-httpd-php .html .htm

но если они обе включены, то при набирании site.ru/*.php вместо выполнения скрипта начинается его скачивание (открывается окно для сохранения файла)

если закомментировать AddHandler application/x-httpd-php .php .html .htm тогда страницы php работают а на страницах html наш код не выполняется - выдается та самая ошибка. а простые скрипты типа $i= print $i работают

по phpinfo: PHP Version 5.3.21
кстати в php.ini ничего добавить поменять не надо?

Аватар пользователя ariran ariran 20 февраля 2013 в 17:06

в моем случае не работает. если эту строку включить - начинается скачивание страницы, как я и писал.

значит дело в хостере? он же мог "запретить" выполнять php код на html страницах? хотя вот с этим AddType x-httpd-php .html .htm же простейшие коды работают

попробовал на другом хостинге. скрипты те же, в htaccess прописал AddHandler application/x-httpd-php .php .html .htm - все работает и в php файле и в html файле.

Аватар пользователя drupby drupby 20 февраля 2013 в 17:22

вы уверены , что на этом хостинге такая версия php установлена?
Просто ошибка Parse error: syntax error, unexpected T_CLASS возникает, если у вас устаревшая вервия PHP в которой нет поддержки абстрактных классов. Решением будет - обновить версию php.
проблема однозначно в хостинге - от такого хостера стоит отказаться

Аватар пользователя ariran ariran 20 февраля 2013 в 17:30

уверен.
а сейчас еще больше будет запутанности )
значит там, где AddHandler application/x-httpd-php .php .html .htm начинает глючить, там php PHP Version 5.3.21 а там где все работает нормально (мастерхост) PHP Version 5.3.18

а в phpinfo() отображается поддерживаются ли абстрактные классы?

Аватар пользователя drupby drupby 20 февраля 2013 в 17:37

"ariran" wrote:
а в phpinfo() отображается поддерживаются ли абстрактные классы?

а зачем - если ошибка выдаётся ,то и так понятно

Аватар пользователя ariran ariran 20 февраля 2013 в 17:39

ну в смысле этой поддержки вообще в этой версии нет (что маловероятно как мне кажется) либо эту поддержку отключили.

Аватар пользователя ariran ariran 20 февраля 2013 в 17:44

и поскольку я в друпаловской терминологии еще не силен, то вопрос с которого все началось

<?php if ($page['tags_content']): ?>

<?php print render($page['tags_content']); ?>

<?php endif; ?>

что надо делать, чтобы выполнялся этот друпаловский код (как я понял надо вывести регион в котором может быть несколько блоков на стороннюю страницу) на сторонней html странице? )

Аватар пользователя ariran ariran 20 февраля 2013 в 17:47

"drupby" wrote:
ещё запустите site.ru/admin/reports/status/php и проверьте там версию php

информация по версиям такая же: 5.3.21 (не работает) и 5.3.18 (работает)

на сегодня все ) завтра, я надеюсь, продолжим ) спасибо за помощь )

Аватар пользователя drupby drupby 20 февраля 2013 в 18:16

"ariran" wrote:
и поскольку я в друпаловской терминологии еще не силен, то вопрос с которого все началось
<?php if ($page['tags_content']): ?>
<?php print render($page['tags_content']); ?>
<?php endif; ?>
что надо делать, чтобы выполнялся этот друпаловский код (как я понял надо вывести регион в котором может быть несколько блоков на стороннюю страницу) на сторонней html странице? )

вся проблема , что $page доступен только в page.tpl.php
так что в html коде такое не прокатит
тут надо использовать block_get_blocks_by_region
примерно так

$html_region = block_get_blocks_by_region($region);//$region - имя выводимиго региона (у вас это 'tags_content' )
print render($html_region);
Аватар пользователя ariran ariran 22 февраля 2013 в 14:36

drupby wrote:

вся проблема , что $page доступен только в page.tpl.php
так что в html коде такое не прокатит
тут надо использовать block_get_blocks_by_region
примерно так

$html_region = block_get_blocks_by_region($region);//$region - имя выводимиго региона (у вас это 'tags_content' )
print render($html_region);

вроде работает. благодарствую )

заодно разобрались с хостерами: в итоге помогла конструкция AddHandler x-httpd-php5 .php .php3 .php4 .php5 .html .htm

и теперь, наверное самый сложный вопрос.

Для чего нам это было надо. имеется старинный форум YaBB (написанный на Perl плюс текстовые файлы как хранилище информации). Сейчас форум уходит в архив и в качестве темплейта к нему идет html страница в которую я собирался внедрить наши друпаловские регионы. Но фишка в том, что этот шаблон как бы обрабатывается ядром YaBB и он php-вставки не понимает.

Собственно мои мысли по этому поводу: как-то "подключить" интерпретатор php к ядру YaBB.
попытки решить вопрос с помощью htaccess пока ни к чему не привели.
если у кого есть идеи советы, то буду очень рад )

Аватар пользователя drupby drupby 20 февраля 2013 в 18:21

"ariran" wrote:
и поскольку я в друпаловской терминологии еще не силен

а время участия
3 года 47 недель
и вы у меня спрашиваете?

Аватар пользователя Chyvakoff Chyvakoff 21 февраля 2013 в 9:25

"ariran" wrote:

$_SESSION['custom']=3523;
drupal_session_commit();


Это для примера было,не нужно вам это в сессию пихать.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
 
<body>
 
<?php
//подключаем ядро
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

Нельзя же так, ядро подтягивай до html разметки.

<?php
//подключаем ядро
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
 
<body>

Ядро то вообще получилось подтянуть? Создай в корне копию файла index.php - там 100% ядро подтягивается правильно;) И в него уже пиши свой код.

Аватар пользователя ariran ariran 21 февраля 2013 в 13:18

"drupby" wrote:
а время участия
3 года 47 недель
и вы у меня спрашиваете?

регистрировался давно ) когда хотел друпалить. потом бросил это дело, практически не начав, а вот сейчас снова надо )

"Chyvakoff" wrote:
Ядро то вообще получилось подтянуть? Создай в корне копию файла index.php - там 100% ядро подтягивается правильно;) И в него уже пиши свой код.

там выше описаны наши действия. вобщем в итоге на одном хостинге не получается (подтягивание ядра друпала стоит после html разметки). на странице php все работает, а на html странице - нет.

а на другом хостинге все то же самое (и подтягивание также после html разметки), но все работает и в html и в php странице. сейчас с хостерами переписываемся по этому поводу.

зы. попробую еще на "нерабочем" хостинге подтянуть ядро до html. может быть в этом причина?

Аватар пользователя Chyvakoff Chyvakoff 21 февраля 2013 в 16:05

"ariran" wrote:
кстати да. практика частично показала, что так можно )

Так то можно,но если в ядре будут слаться хедеры,то при определенной настройке сервера будут сыпаться ошибки,или вообще ничего работать не будет. По правилам хорошего тона - вначале функционал, а потом уже верстка.

Аватар пользователя ariran ariran 22 февраля 2013 в 15:24

и еще вопрос
<?php
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_session_commit();
?>
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
эта / она указывает на корень сайта?
сейчас поместил страницу в папку второго уровня site.ru/test и скрипт не срабатывает, пишет
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/site/site-www/test/test.html on line 39 это у нас define('DRUPAL_ROOT', getcwd()"/");

Аватар пользователя drupby drupby 22 февраля 2013 в 15:41

"ariran" wrote:
сейчас поместил страницу в папку второго уровня site.ru/test и скрипт не срабатывает, пишет

define('DRUPAL_ROOT', getcwd()."/test/"); //правильно укажите путь

Аватар пользователя ariran ariran 22 февраля 2013 в 17:57

drupby wrote:

define('DRUPAL_ROOT', getcwd()."/test/"); //правильно укажите путь

не работает однако
выдается таже ошибка
Fatal error: Call to undefined function drupal_bootstrap() in /home/site/site-www/test/blockout.php on line 41
это у нас строка - drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

я думал, что define('DRUPAL_ROOT', getcwd()."/test/"); надо указывать путь к папке в которой установлен друпал

насчет перегона контента это как бы мысль, но вот руководство хочет так. то есть мы старый форум помещаем типа в архив. а уже новый форум будет на движке друпала.

Аватар пользователя Chyvakoff Chyvakoff 22 февраля 2013 в 16:30

"ariran" wrote:
Для чего нам это было надо. имеется старинный форум YaBB (написанный на Perl плюс текстовые файлы как хранилище информации). Сейчас форум уходит в архив и в качестве темплейта к нему идет html страница в которую я собирался внедрить наши друпаловские регионы. Но фишка в том, что этот шаблон как бы обрабатывается ядром YaBB и он php-вставки не понимает.

Может имеет смысл перегнать контент этого форума в друпальский контент и всё будет ок?

Аватар пользователя ariran ariran 27 февраля 2013 в 13:54

господа, что делать то с путями? не выходит каменный цветок и сторонний скрипт, положенный не в корень (где друпал) работать отказывается с причиной Fatal error: Call to undefined function drupal_bootstrap()

и вопрос для расширения кругозора так сказать:
define - определяет именованную константу.
<?php
define ("CONSTANT", "Hello world.");
echo CONSTANT; // выводит "Hello world."
?>

вопрос: а зачем нам тогда define в нашей конструкции вызова? если он получается просто заменит в следующей строке DRUPAL_ROOT на имя текущего каталога? почему нельзя сразу require_once '/includes/bootstrap.inc'; ?

<?php
define('DRUPAL_ROOT', getcwd());

require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>

Аватар пользователя Chyvakoff Chyvakoff 27 февраля 2013 в 14:32

"ariran" wrote:
не выходит каменный цветок

А вот не надо было его туда засовывать...
"ariran" wrote:
почему нельзя сразу require_once '/includes/bootstrap.inc'; ?

Потому что константа DRUPAL_ROOT наверняка используется где-то ещё.

Так че не получается то,ё-моё?
echo DRUPAL_ROOT . '/includes/bootstrap.inc'; - что выводит?

Аватар пользователя ariran ariran 27 февраля 2013 в 15:42

выводит непотребную ересь )
ща полную картину дам:
это сам скрипт
<?php
// www/test
// drupal установлен в папке www
// этот скрипт находится в папке www/test/
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
echo DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block1 = module_invoke('system', 'block_view', 'navigation');
print render($block1['content']);

$block2 = module_invoke('block', 'block_view', '2');
print render($block2['content']);

$block3 = module_invoke('system', 'block_view', 'user-menu');
print render($block3['content']);

$html_region = block_get_blocks_by_region('main_menu_box'); //$region - имя выводимиго региона (у вас это 'tags_content' )
print render($html_region);

drupal_session_commit();
?>

после запуска получаем вот это
/home/site/site-www/test//includes/bootstrap.inc
Fatal error: Call to undefined function drupal_bootstrap() in /home/site/site-www/test/blockout2.php on line 8

и как бы вроде понятно почему ересь. раз у нас define('DRUPAL_ROOT', getcwd() то в getcwd попадает наша подпапка test? которую он потом подставляет дальше и естественно никаких includes/bootstrap.inc в папке test нет.

я попробовал по другому:
<?php
// www/test
// drupal установлен в папке www
// этот скрипт находится в папке www/test/
define('DRUPAL_ROOT', "/"); //правильно укажите путь
include_once DRUPAL_ROOT . 'includes/bootstrap.inc';
echo DRUPAL_ROOT . 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block1 = module_invoke('system', 'block_view', 'navigation');
print render($block1['content']);

$block2 = module_invoke('block', 'block_view', '2');
print render($block2['content']);

$block3 = module_invoke('system', 'block_view', 'user-menu');
print render($block3['content']);

$html_region = block_get_blocks_by_region('main_menu_box'); //$region - имя выводимиго региона (у вас это 'tags_content' )
print render($html_region);

drupal_session_commit();
?>

в итоге получаем следующее:
/includes/bootstrap.inc
Fatal error: Call to undefined function drupal_bootstrap() in /home/site/site-www/test/blockout3.php on line 8

и вот тут я перестаю соображать от слова "совсем" потому что если мой скрипт лежит в корне (www)
<?php
define('DRUPAL_ROOT', getcwd()."/"); //правильно укажите путь
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
echo DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);?>
то при выполнении я получаю результат
/home/site/site-www//includes/bootstrap.inc
и вывод нужных регионов.

Аватар пользователя ariran ariran 27 февраля 2013 в 15:43

Chyvakoff wrote:
"ariran" wrote:
test//includes

лишний слэш не является проблемой?

отчасти ) потому что если вызвать скрипт из корневой папки то будет те же два слеша но скрипт работает ) сейчас попробую полный путь вписать без одного слеша.

Аватар пользователя ariran ariran 27 февраля 2013 в 15:51

как говорил Ленин - один хген.

<?php
// www/test
// drupal установлен в папке www
// этот скрипт находится в папке www/test/
define('DRUPAL_ROOT', "home/site/site-www/"); //правильно укажите путь
include_once DRUPAL_ROOT . 'includes/bootstrap.inc';
echo DRUPAL_ROOT . 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block1 = module_invoke('system', 'block_view', 'navigation');
print render($block1['content']);

$block2 = module_invoke('block', 'block_view', '2');
print render($block2['content']);

$block3 = module_invoke('system', 'block_view', 'user-menu');
print render($block3['content']);

$html_region = block_get_blocks_by_region('main_menu_box');
print render($html_region);

drupal_session_commit();
?>

после запуска получаем
home/site/site-www/includes/bootstrap.inc (это правильный путь к бутстрапу)
Fatal error: Call to undefined function drupal_bootstrap() in /home/site/site-www/test/blockout3.php on line 8

8 линия это у нас drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

Аватар пользователя ariran ariran 27 февраля 2013 в 16:05

попробовал заменить путь чтоб не от корня а от папки

<?php
// www/test
// drupal установлен в папке www
// этот скрипт находится в папке www/test/
define('DRUPAL_ROOT', "../"); //правильно укажите путь
include_once DRUPAL_ROOT . 'includes/bootstrap.inc';
echo DRUPAL_ROOT . 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$block1 = module_invoke('system', 'block_view', 'navigation');
print render($block1['content']);

$block2 = module_invoke('block', 'block_view', '2');
print render($block2['content']);

$block3 = module_invoke('system', 'block_view', 'user-menu');
print render($block3['content']);

$html_region = block_get_blocks_by_region('main_menu_box');
print render($html_region);

drupal_session_commit();
?>
получается вот такая фиговина:

../includes/bootstrap.inc
Fatal error: require() [function.require]: Failed opening required 'sites/all/modules/og/og.field.inc' (include_path='/usr/local/php5/lib/php') in /home/site/site-www/sites/all/modules/og/og.module on line 9

Аватар пользователя ariran ariran 28 февраля 2013 в 11:26

тоже не вариант ) начинаются ошибки связанные с тем, что друпал_рут не определен )

Notice: Use of undefined constant DRUPAL_ROOT - assumed 'DRUPAL_ROOT' in /home/site/site-www/includes/bootstrap.inc on line 2237

Warning: require_once(DRUPAL_ROOT/includes/errors.inc) [function.require-once]: failed to open stream: No such file or directory in /home/site/site-www/includes/bootstrap.inc on line 2237

Fatal error: require_once() [function.require]: Failed opening required 'DRUPAL_ROOT/includes/errors.inc' (include_path='/usr/local/php5/lib/php') in /home/site/site-www/includes/bootstrap.inc on line 2237