Глобальные данные в drupal 7 - PullRequest
1 голос
/ 31 марта 2011

Я создаю официальный сайт одной деревни в Drupal 7. Мне нужно создать и сохранить некоторую информацию о деревне, которая будет доступна везде на сайте (например, название деревни, имя мэра, номер телефона, адрес электронной почты и т. Д.). Я хочу определить их на сайте администратора и получить доступ к ним в любом узле (например, все данные будут показаны в разделе о муниципальном офисе, а некоторые из них, например, номер телефона, упомянутый в разделе контактов. Каков наилучший способ сделать это? ? Есть какой-то модуль для обработки этого? Или я должен написать свой собственный? Я попытался найти ответ там, но я нашел только темы о глобальных переменных (в PHP).

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Вы можете использовать функции variable_get () и variable_set () для хранения произвольной информации, доступной на всех страницах.Легко написать форму, которая автоматически сохраняет все поля формы с помощью variable_set (), см. http://drupal.org/node/222158.

Примечание: - Сохранение переменных с помощью variable_set () очистит кэш всех переменных, его не следует использоватьдля информации, которая регулярно меняется.- Все переменные кэшируются в едином глобальном кэшировании и выбираются при каждом запросе страницы.Вы не должны хранить большие объемы данных или данных, которые используются очень редко.

0 голосов
/ 05 октября 2014

Вы также можете рассмотреть Создание расширенных настроек темы .

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

Вы можете добавить настраиваемые поля в настройках администратора темы, затем значения полей можно получить с помощью theme_get_setting ()

0 голосов
/ 31 марта 2011

Ответ Бердира уже очень хорош, если вы хотите хранить только необработанные данные.Однако, если вы всегда хотите отображать данные одинаково, как в каком-то формате виджетов, у вас есть и другие варианты.

Например, вы можете создать блок с контактными данными, и вы толькопоказать его на определенных страницах.

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

В любом случае, если вы хотите позволить пользователю изменять эти данные самостоятельно, вам, вероятно, потребуетсянаписать небольшую форму в бэкэнде.В противном случае пользователю потребуется напрямую манипулировать базой данных для изменения данных.

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