CUSTOMISING CIVICRMMelbourne CiviCRM meetup, 29th October
Chris Ward
@chrischinch
Almost too customisable!• Default options• Custom Data• Profiles• CSS / Javascript• Template Overrides• PHP Overrides• CMS modules• Extensions
Default options
• Customise default:• Tags• Activity Types• Suffixes/Prefixes• Locations• And many more…
Custom Data
Custom field sets for collecting specific information in specific situations.
Custom Data
• Create a set• Assign it to component• Set other options
Custom Data
• Add fields• Wide variety of data types and display styles
• Hard to change, so plan!
Custom Data
• Shows on:• forms• front end• searches (searchable)• Reports
• Watch your ACL
Custom Data demo…
Profiles
Methods of collecting data from users in a variety of places
Profiles
• A variety of options depending where and how you want to collect data
Profiles
• Add fields from most sources
• Configure settings
Profiles
• Use as a form link or HTML snippet
Profiles demo…
CSS/JavaScript
• Use CMS theme• Custom folder beyond this
• JavaScript… It depends
Template Overrides
• Override most aspects of look and feel
• Separate from CMS theme
• Override folder location must be set
• Smarty
Template Overrides
• Find relevant file from URL path• A little hit and miss• Mentioned somewhere
in page code
• Duplicate exact structure from templates folder
• Go crazy!
Template Overrides
• ‘Extra’ files• Especially JavaScript• Same process• ‘template_to_append_to.extra.tpl’
Template Overrides demo…
PHP Overrides
Pretty much the same as Templates but logic
Be careful…
CMS modules
• If you need your CMS to react to CiviCRM actions or work better with it
• Many existing• Webform integration a
standout• Best support in Drupal
CMS Modules
• Utilises ‘Hooks’ triggered during CiviCRM program flow
• Write code to be processed when those hooks are triggered• Drupal module• Joomla! plugin• Wordpress custom php
CMS Modules demo…
Extensions
• New CMS agnostic ‘modules’
• Downloadable tool to get you started
• Extension can show to all CiviCRM (4.2) users
Extensions Demo…