You are here

README.txt in ThemeKey 7.2

ThemeKey
========

Name: themekey
Authors: Markus Kalkbrenner | bio.logis GmbH
         Carsten Müller | Cocomore AG
         Christian Spitzlay | bio.logis GmbH
         Thilo Wawrzik <drupal at profix898 dot de>
Drupal: 7.x
Sponsor: bio.logis GmbH - https://www.biologis.com

Description
===========

ThemeKey is meant to be a generic theme switching module. It
allows you to switch the theme for different paths and based
on object properties (e.g. node field values). It can also be
easily extended to support additional paths or properties as
exposed by other modules.

Documentation for users and developers is very sparse at the
moment. I hope to complete the docs in the next few weeks.
Thanks for your patience :)


Installation
============

1. Place whole themekey folder into your Drupal modules/ or better
   sites/x/modules/ directory.

2. Enable the ThemeKey module by navigating to
     Configuration > Modules

3. Bring up themekey configuration screens by navigating to
     Configuration > User Interface / ThemeKey


ThemeKey UI
===========

1. Enable the ThemeKey UI module by navigating to
     Configuration > Modules

2. Bring up ThemeKey configuration screens by navigating to
     Configuration > User Interface / ThemeKey > Settings > User Interface


For Developers
==============

HOOK_themekey_properties()
  Attributes
    Key:    namespace:property
    Value:  array()
            - description => Readable name of property (required)
            - validator   => Callback function to validate a rule starting with that property (optional)
                             TODO: describe validator arguments and return value
            - file        => File that provides the validator function (optional)
            - path        => Alternative path relative to dupal's doc root to load the file (optional)
            - static      => true/false, static properties don't occur in properties drop down
                             and have fixed operator and value (optional)
            - page cache  => Level of page caching support:
                             - THEMEKEY_PAGECACHE_SUPPORTED
                             - THEMEKEY_PAGECACHE_UNSUPPORTED
                             - THEMEKEY_PAGECACHE_TIMEBASED
                             Default is THEMEKEY_PAGECACHE_UNSUPPORTED (optional)

  Maps
    Key:    none (indexed)
    Value:  array()
            - src       => Source property path (required)
            - dst       => Destination property path (required)
            - callback  => Mapping callback function (required)
            - file      => File that provides the callback function (optional)
            - path      => Alternative path relative to dupal's doc root to load the file (optional)
            - args      => array of additional arguments to be passed to the callback function (optional)

HOOK_themekey_global()
  Global properties
    Key:    namespace:property
    Value:  property value (scalar value or array of scalar values)

HOOK_themekey_paths()
  Paths
    Key:    none (indexed)
    Value:  array()
            - path      => Router path to register (required)
            - callbacks => Load (and/or match) callback (optional)
              (the callback function can set the 'theme' element in $params array directly, which will be applied)
              Callback arguments:
              - $item:    array of elements associated with the path/callback
              - $params:  array of parameters available for load callback

File

README.txt
View source
  1. ThemeKey
  2. ========
  3. Name: themekey
  4. Authors: Markus Kalkbrenner | bio.logis GmbH
  5. Carsten Müller | Cocomore AG
  6. Christian Spitzlay | bio.logis GmbH
  7. Thilo Wawrzik
  8. Drupal: 7.x
  9. Sponsor: bio.logis GmbH - https://www.biologis.com
  10. Description
  11. ===========
  12. ThemeKey is meant to be a generic theme switching module. It
  13. allows you to switch the theme for different paths and based
  14. on object properties (e.g. node field values). It can also be
  15. easily extended to support additional paths or properties as
  16. exposed by other modules.
  17. Documentation for users and developers is very sparse at the
  18. moment. I hope to complete the docs in the next few weeks.
  19. Thanks for your patience :)
  20. Installation
  21. ============
  22. 1. Place whole themekey folder into your Drupal modules/ or better
  23. sites/x/modules/ directory.
  24. 2. Enable the ThemeKey module by navigating to
  25. Configuration > Modules
  26. 3. Bring up themekey configuration screens by navigating to
  27. Configuration > User Interface / ThemeKey
  28. ThemeKey UI
  29. ===========
  30. 1. Enable the ThemeKey UI module by navigating to
  31. Configuration > Modules
  32. 2. Bring up ThemeKey configuration screens by navigating to
  33. Configuration > User Interface / ThemeKey > Settings > User Interface
  34. For Developers
  35. ==============
  36. HOOK_themekey_properties()
  37. Attributes
  38. Key: namespace:property
  39. Value: array()
  40. - description => Readable name of property (required)
  41. - validator => Callback function to validate a rule starting with that property (optional)
  42. TODO: describe validator arguments and return value
  43. - file => File that provides the validator function (optional)
  44. - path => Alternative path relative to dupal's doc root to load the file (optional)
  45. - static => true/false, static properties don't occur in properties drop down
  46. and have fixed operator and value (optional)
  47. - page cache => Level of page caching support:
  48. - THEMEKEY_PAGECACHE_SUPPORTED
  49. - THEMEKEY_PAGECACHE_UNSUPPORTED
  50. - THEMEKEY_PAGECACHE_TIMEBASED
  51. Default is THEMEKEY_PAGECACHE_UNSUPPORTED (optional)
  52. Maps
  53. Key: none (indexed)
  54. Value: array()
  55. - src => Source property path (required)
  56. - dst => Destination property path (required)
  57. - callback => Mapping callback function (required)
  58. - file => File that provides the callback function (optional)
  59. - path => Alternative path relative to dupal's doc root to load the file (optional)
  60. - args => array of additional arguments to be passed to the callback function (optional)
  61. HOOK_themekey_global()
  62. Global properties
  63. Key: namespace:property
  64. Value: property value (scalar value or array of scalar values)
  65. HOOK_themekey_paths()
  66. Paths
  67. Key: none (indexed)
  68. Value: array()
  69. - path => Router path to register (required)
  70. - callbacks => Load (and/or match) callback (optional)
  71. (the callback function can set the 'theme' element in $params array directly, which will be applied)
  72. Callback arguments:
  73. - $item: array of elements associated with the path/callback
  74. - $params: array of parameters available for load callback