не работает db_query

Аватар пользователя Alex989988 Alex989988 17 сентября 2017 в 19:38

Подскажите пожалуйста, как в друпале происходит обращение к бд из любого ли файла можно обращаться к бд. Создал файл пхп в корне шаблона. при вызове db_query(select). вылезает 500 ошибка
Обращаюсь тем же селектом из файла template.php запрос возвращает результат.

Комментарии

Аватар пользователя Semantics Semantics 17 сентября 2017 в 20:00

Не забутстрапили друпал.
Добавьте в свой скрипт:

<?php

require_once './includes/bootstrap.inc';//Укажите нужный путь
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

Чтобы функции были доступны.

Но вообще, что-то вы делаете неправильно. Не должны вы делать запросы из шаблонов темы оформления

Аватар пользователя bsyomov bsyomov 18 сентября 2017 в 1:01

Не надо создавать какие-то произвольные php файлы где-то, вызывать их напрямую, и в них что-то делать.
Надо почитать о том, как делаются модули, темы оформления, иначе говоря, как правильно расширять возможности Drupal. И сразу отпадёт масса вопросов.

Аватар пользователя alexsaab alexsaab 19 сентября 2017 в 11:43

Semantics wrote:

Не забутстрапили друпал.

Добавьте в свой скрипт:

Чтобы функции были доступны.
Но вообще, что-то вы делаете неправильно. Не должны вы делать запросы из шаблонов темы оформления


Афтор жжот... Smile

ну типа нужно скопировать почти все строчки из файла index.php (кроме последних 2-ух) и вставить в свой, например, jopa.php

последние строки в файле jopa.php заменить своим, то есть обязательно крутым хакерским кодом.

потом вызываем ваш-хостинг.рю/jopa.php - ура профит, хакерский код и дрюпаль работают как один механизм.

Аватар пользователя fairrandir fairrandir 19 сентября 2017 в 13:18

Немного не понял вашей иронии. Сам так делал, для критичных по производительности функций (бустрапил только до базы, а не целиком). Посмотрите ядерный модуль statistics. Тоже так работает. Модуль js перехватывает обращения на путь js с целью ускорения, только с модульной системой ещё кооперируется.