Не работает часть функций после установки Drupal 7 на сервер

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

Аватар пользователя Battlelore Battlelore 19 июля 2016 в 1:14

Добрый день! Настроил на сервере LAMP, установил Drupal по инструкции. Все работает как положено, кроме функции програмного вывода блока через module_invoke.


<?php
$block 
module_invoke('views''block_view''delta');
print 
render($block);
?>

Код ничего не выводит. При обычном выводе блока через визуальный редактор все работает. Более того, установил точную копию сайта на Open Server, подключил его к базе данных основного сайта, код из примера выше работает как положено. Поэтому подозреваю, что не хватает какого-то модуля на сервере. В администрировании Линукса не силен, к сожалению, в первый раз ставил. В чем может быть проблема?

Версия Drupal - 7.50.
Серверная ОС - Ubuntu 14.04.
Сервер - Apache 2.4.7.
PHP - 5.5.9-1ubuntu4.17
Хостинг - Microsoft Azure.

Комментарии

Аватар пользователя Battlelore Battlelore 19 июля 2016 в 12:29

gun_dose wrote:

Кэш сбрасывали? Логи смотрели?


Кэш сбрасывал, и для браузера, и для Друпала. Крон запускал. Апач рестартил.
В логах Друпала ошибкок php только две:

EntityMalformedException: Отсутствует связующее свойство у сущности типа node. в функции entity_extract_ids() (строка 7880 в файле /var/www/html/includes/common.inc).

Notice: Undefined index: #entity в функции og_form_group_reference_validate() (строка 741 в файле /var/www/html/sites/all/modules/og/og.module).

Но они, как я понимаю, связаны с модулем OG Groups и к проблеме отношения не имеют (программно выводится блок Views в файле node.tpl.php).

sergeybelya wrote:

Что за 'delta'?


Имя блока же. На сайте оно другое, тут просто для примера delta вставил.

Аватар пользователя sergeybelya sergeybelya 19 июля 2016 в 12:34

Battlelore wrote:

Имя блока же. На сайте оно другое, тут просто для примера delta вставил.

Уверены, что подставляете верную дельту?

Аватар пользователя Battlelore Battlelore 19 июля 2016 в 12:47

sergeybelya wrote:

Battlelore написал:

Имя блока же. На сайте оно другое, тут просто для примера delta вставил.

Уверены, что подставляете верную дельту?


Только что проверил дельту в базе данных, такая же, как и в коде. Более того, код одинаков и для локалхоста, и для основного сайта, и оба они подключены к одной и той же базе данных, так что если была бы ошибка в дельте, то блок не работал бы в обоих случаях.

Аватар пользователя Battlelore Battlelore 19 июля 2016 в 14:27

Проблему решил, выведя блок целиком:


<?php
  $block 
block_load('Module_name''block_delta');
  
$block_content _block_render_blocks(array($block));
  
$build _block_get_renderable_array($block_content);
  print 
drupal_render($build);
?>