function themekey_example_themekey_properties in ThemeKey 7
Same name and namespace in other branches
- 7.3 themekey_example/themekey_example.module \themekey_example_themekey_properties()
 - 7.2 themekey_example/themekey_example.module \themekey_example_themekey_properties()
 
Implements hook_themekey_properties().
A mapping function declared here only runs if really required during a page request.
So complicated, time and memory consuming properties should be added to ThemeKey by implementing hook_themekey_properties().
File
- themekey_example/
themekey_example.module, line 22  - ThemeKey Example demonstrates the usage of ThemeKeys API to add more properties to ThemeKey.
 
Code
function themekey_example_themekey_properties() {
  // Attributes of properties
  $attributes = array();
  $attributes['example:number_one'] = array(
    'description' => t('Example: always returns "1"'),
    'validator' => 'themekey_example_validator_number_one',
    'file' => 'themekey_example_validators.inc',
    'page cache' => THEMEKEY_PAGECACHE_SUPPORTED,
  );
  $attributes['example:global_one'] = array(
    'description' => t('Example: always returns "1"'),
    'validator' => 'themekey_example_validator_number_one',
    'file' => 'themekey_example_validators.inc',
    'page cache' => THEMEKEY_PAGECACHE_SUPPORTED,
  );
  $attributes['example:path_number'] = array(
    'description' => t('Example: always returns "1"'),
    'validator' => 'themekey_validator_ctype_digit',
    'page cache' => THEMEKEY_PAGECACHE_SUPPORTED,
  );
  // Mapping functions
  $maps = array();
  $maps[] = array(
    'src' => 'system:dummy',
    'dst' => 'example:number_one',
    'callback' => 'themekey_example_dummy2number_one',
    'file' => 'themekey_example_mappers.inc',
  );
  return array(
    'attributes' => $attributes,
    'maps' => $maps,
  );
}