我正在Drupal 7建立一个村庄的官方网站。我需要创建和存储一些关于村庄的信息,这些信息将在网站上随处可访问(例如村庄的名称,市长的名字,电话号码,电子邮件等)。我想在管理站点中定义它们并在任何节点中访问它们(例如,所有数据将显示在关于市政办公室的部分中,其中一些数据类似于联系部分中提到的电话号码。最好的方法是什么?是否有一些模块可以处理?或者我应该编写自己的模块?我试图在那里搜索答案,但我发现只有全局变量的主题(在PHP中)。
答案 0 :(得分:2)
您可以使用variable_get()和variable_set()功能存储所有页面上可用的任意信息。编写一个使用variable_set()自动保存所有表单字段的表单很容易,请参阅http://drupal.org/node/222158。
注意: - 使用variable_set()保存变量将清除所有变量的缓存,不应将其用于定期更改的信息。 - 所有变量都缓存在单个全局缓存中,并在每个页面请求中获取。您不应存储大量仅少用的数据或数据。
答案 1 :(得分:0)
如果您只想存储原始数据,Berdir的答案已经非常好了。但是,如果您总是希望以某种小部件格式的方式显示数据,那么您也有其他选择。
例如,您可以创建一个包含联系人详细信息的块,并且只在特定页面上显示它。
如果您需要更多灵活性,可以考虑编写一个具有不同主题功能的小模块。您可以将数据直接存储在模块中或Berdir概述的变量表中。
在任何情况下,如果您想允许用户自己更改此数据,您可能需要在后端编写一个小表单。否则,用户将需要直接操作数据库来更改数据。
答案 2 :(得分:0)
您还可以考虑Creating advanced theme settings。
了解如何在主题中指定网站的徽标路径?您可以使用您希望在网站上显示的信息执行类似操作,实际上将主题设置为乡村网站的模板。
您可以在主题管理设置中添加自定义字段,然后可以使用theme_get_setting()
检索字段值