![Drupal (6) 自定义颜色选择器值存储在哪里?](https://linux22.com/image/518742/Drupal%20(6)%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A2%9C%E8%89%B2%E9%80%89%E6%8B%A9%E5%99%A8%E5%80%BC%E5%AD%98%E5%82%A8%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我正在使用一个使用颜色选择器的 Drupal 主题。当我选择一个新的配色方案时,就会在 中创建一个目录MyDrupalSite/sites/default/files/color/ThemeName-RandomNumer
。使用 Opera 的开发人员控制台,我可以看到这些文件(生成的图像和 CSS)用于呈现网站(当然,如果 CSS 缓存已关闭)。但是,我不知道 Drupal 被告知在该目录中查找 CSS 的位置:它似乎不在配置文件中,而且我不知道类似的东西可能存储在数据库中的什么位置。我还想知道“自定义”配置的颜色存储在哪里:我昨晚花了很多时间试图弄清楚,但无济于事。它们是否以某种方式编码到“RandomNumber”中?所以,如果有人能告诉我,我将不胜感激。
答案1
您会发现主题上的颜色表单在保存操作结束时将文件的位置保存为变量:
http://api.drupal.org/api/function/color_scheme_form_submit/6
// Maintain list of files.
variable_set('color_'. $theme .'_stylesheets', $css);
variable_set('color_'. $theme .'_files', $paths['files']);
然后,这些值会被您的颜色感知主题拾取。例如,Drupal 6 默认主题 (Garland) 在其 phptemplate_preprocess_page() 中有以下内容:
// Hook into color.module
if (module_exists('color')) {
_color_page_alter($vars);
}
这会将 CSS 文件添加到标题中。