所以我创建了一个subtheme女巫,他的父母是Drupal Bootstrap主题。我想添加一个选项,在页面中共享第二个徽标(我已经谷歌搜索但我什么也没找到)。
正如您在图片中看到的那样,我想在红色线位于“logotip”和“Nom del lloc”之间添加选项,并创建一个变量来访问第二个徽标,如$ second_logo。
有办法做到这一点吗?
答案 0 :(得分:1)
实现以下钩子" hook_form_system_theme_settings_alter "
function <theme_name>_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) {
//add your variable field
$form['theme_settings']['second_logo'] = array(
'#type' => 'checkbox',
'#title' => t('Use the second logo'),
'#default_value' => theme_get_setting('second_logo'),
);
}
答案 1 :(得分:1)
我会再次编辑我的答案,让你知道上传第二个徽标的完整示例,因为这是正确的方法 在自定义主题中创建此文件:
<强>主题的settings.php 强>
使用customthemename_form_system_theme_settings_alter(&amp; $ form,$ form_state)hook
例如:
$( document ).ready(function() {
var path = window.location.pathname;
var page = path.split("/").pop();
var t1 = document.getElementById("t1");
var t2 = document.getElementById("t2");
var t3 = document.getElementById("t3");
t1.classList.remove("focus");
t2.classList.remove("focus");
t3.classList.remove("focus");
switch(page) {
case 'Default.aspx':
t1.classList.add("focus");
break;
case 'Default2.aspx':
t2.classList.add("focus");
break;
case 'Default3.aspx':
t3.classList.add("focus");
break;
}
});
将变量添加到youcustomtheme.info文件中,如下所示:
function customthemename_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) {
$form['second_logo'] = array(
'#type' => 'checkbox',
'#title' => t('Use the second logo'),
'#default_value' => theme_get_setting('second_logo'),
);
最后,您可以在/sites/all/themes/customthemename/templates/html.tpl.php中执行此操作:
settings[second_logo] = ''
就是这样。
请参阅文档: Theme settings D7