Drupal 7主题theme-settings.php配置无效问题排查求助
Drupal 7 theme-settings.php 不生效?排查这几个关键配置
嘿,我懂你这种明明代码跟着教程写却死活不生效的郁闷!结合你给出的Thinkrium主题.info文件,我帮你梳理几个最容易被忽略的关键点,大概率能解决问题:
先确认文件的基础正确性
确保theme-settings.php放在主题的根目录下,文件名完全匹配(大小写也不能错,Linux服务器上Drupal对这个很敏感),别不小心放到子文件夹或者写错成ThemeSettings.php这类。给.info文件加关键配置项
你的thinkrium.info里缺了最核心的一行!Drupal需要明确指令才会加载主题设置表单,赶紧在文件里加上:settings[toggle_name] = 1没有这行的话,哪怕你的theme-settings.php写得再标准,系统也会直接忽略它。
检查钩子函数的命名
你的theme-settings.php里的钩子函数前缀必须和主题机器名完全一致(就是你的主题文件夹名,也是.info文件名去掉后缀的部分)。比如你的主题叫thinkrium,函数必须是:function thinkrium_form_system_theme_settings_alter(&$form, &$form_state) { // 你的设置表单代码放在这里 // 先写个测试字段验证: $form['thinkrium_test'] = array( '#type' => 'textfield', '#title' => t('Test Setting'), '#default_value' => theme_get_setting('thinkrium_test'), ); }要是函数名写成
thinkrium_theme_settings或者前缀错了,肯定不会生效。一定要清缓存!
Drupal的缓存机制经常坑人,哪怕你改对了所有配置,不清除缓存系统还是读不到新内容。去后台「配置→性能」页面点「清除所有缓存」,或者用Drush命令:drush cache-clear all。确认主题是当前默认主题
别忘了去「外观」页面检查,确保Thinkrium是站点的默认主题。不然你在后台看到的主题设置是当前默认主题的,不是你修改的这个。
内容的提问来源于stack exchange,提问作者thomedy
相关产品推荐
相关产品推荐

