104 lines
4.9 KiB
PHP
104 lines
4.9 KiB
PHP
<?php
|
||
/**
|
||
* Implements hook_form_system_theme_settings_alter() function.
|
||
*/
|
||
function zen_form_system_theme_settings_alter(&$form, $form_state, $form_id = NULL) {
|
||
// Work-around for a core bug affecting admin themes. See issue #943212.
|
||
if (isset($form_id)) {
|
||
return;
|
||
}
|
||
|
||
// Create the form using Forms API
|
||
$form['breadcrumb'] = array(
|
||
'#type' => 'fieldset',
|
||
'#title' => t('Breadcrumb settings'),
|
||
);
|
||
$form['breadcrumb']['zen_breadcrumb'] = array(
|
||
'#type' => 'select',
|
||
'#title' => t('Display breadcrumb'),
|
||
'#default_value' => theme_get_setting('zen_breadcrumb'),
|
||
'#options' => array(
|
||
'yes' => t('Yes'),
|
||
'admin' => t('Only in admin section'),
|
||
'no' => t('No'),
|
||
),
|
||
);
|
||
$form['breadcrumb']['breadcrumb_options'] = array(
|
||
'#type' => 'container',
|
||
'#states' => array(
|
||
'invisible' => array(
|
||
':input[name="zen_breadcrumb"]' => array('value' => 'no'),
|
||
),
|
||
),
|
||
);
|
||
$form['breadcrumb']['breadcrumb_options']['zen_breadcrumb_separator'] = array(
|
||
'#type' => 'textfield',
|
||
'#title' => t('Breadcrumb separator'),
|
||
'#description' => t('Text only. Don’t forget to include spaces.'),
|
||
'#default_value' => theme_get_setting('zen_breadcrumb_separator'),
|
||
'#size' => 5,
|
||
'#maxlength' => 10,
|
||
);
|
||
$form['breadcrumb']['breadcrumb_options']['zen_breadcrumb_home'] = array(
|
||
'#type' => 'checkbox',
|
||
'#title' => t('Show home page link in breadcrumb'),
|
||
'#default_value' => theme_get_setting('zen_breadcrumb_home'),
|
||
);
|
||
$form['breadcrumb']['breadcrumb_options']['zen_breadcrumb_trailing'] = array(
|
||
'#type' => 'checkbox',
|
||
'#title' => t('Append a separator to the end of the breadcrumb'),
|
||
'#default_value' => theme_get_setting('zen_breadcrumb_trailing'),
|
||
'#description' => t('Useful when the breadcrumb is placed just before the title.'),
|
||
'#states' => array(
|
||
'disabled' => array(
|
||
':input[name="zen_breadcrumb_title"]' => array('checked' => TRUE),
|
||
),
|
||
),
|
||
);
|
||
$form['breadcrumb']['breadcrumb_options']['zen_breadcrumb_title'] = array(
|
||
'#type' => 'checkbox',
|
||
'#title' => t('Append the content title to the end of the breadcrumb'),
|
||
'#default_value' => theme_get_setting('zen_breadcrumb_title'),
|
||
'#description' => t('Useful when the breadcrumb is not placed just before the title.'),
|
||
);
|
||
|
||
$form['support'] = array(
|
||
'#type' => 'fieldset',
|
||
'#title' => t('Accessibility and support settings'),
|
||
);
|
||
$form['support']['zen_skip_link_anchor'] = array(
|
||
'#type' => 'textfield',
|
||
'#title' => t('Anchor ID for the “skip link”'),
|
||
'#default_value' => theme_get_setting('zen_skip_link_anchor'),
|
||
'#field_prefix' => '#',
|
||
'#description' => t('Specify the HTML ID of the element that the accessible-but-hidden “skip link” should link to. Note: that element should have the <code>tabindex="-1"</code> attribute to prevent an accessibility bug in webkit browsers. (<a href="!link">Read more about skip links</a>.)', array('!link' => 'https://drupal.org/node/467976')),
|
||
);
|
||
$form['support']['zen_skip_link_text'] = array(
|
||
'#type' => 'textfield',
|
||
'#title' => t('Text for the “skip link”'),
|
||
'#default_value' => theme_get_setting('zen_skip_link_text'),
|
||
'#description' => t('For example: <em>Jump to navigation</em>, <em>Skip to content</em>'),
|
||
);
|
||
$form['support']['zen_meta'] = array(
|
||
'#type' => 'checkboxes',
|
||
'#title' => t('Add HTML5 and responsive scripts and meta tags to every page.'),
|
||
'#default_value' => theme_get_setting('zen_meta'),
|
||
'#options' => array(
|
||
'html5' => t('Add HTML5 shim JavaScript to add support to IE 6-8.'),
|
||
'meta' => t('Add meta tags to support responsive design on mobile devices.'),
|
||
),
|
||
'#description' => t('IE 6-8 require a JavaScript polyfill solution to add basic support of HTML5. Mobile devices require a few meta tags for responsive designs.'),
|
||
);
|
||
|
||
$form['themedev'] = array(
|
||
'#type' => 'fieldset',
|
||
'#title' => t('Theme development settings'),
|
||
);
|
||
$form['themedev']['zen_rebuild_registry'] = array(
|
||
'#type' => 'checkbox',
|
||
'#title' => t('Rebuild theme registry and output template debugging on every page.'),
|
||
'#default_value' => theme_get_setting('zen_rebuild_registry'),
|
||
'#description' => t('During theme development, it can be very useful to continuously <a href="!link">rebuild the theme registry</a> and to output template debugging HTML comments. WARNING: this is a huge performance penalty and must be turned off on production websites.', array('!link' => 'https://drupal.org/node/173880#theme-registry')),
|
||
);
|
||
}
|