Joomla Rule Engines & MetaTemplate

  • 1,221 views
Uploaded on

This presentation was given at the Joomla & Beyond conference in the Netherlands in May 2011. …

This presentation was given at the Joomla & Beyond conference in the Netherlands in May 2011.

Watch the video of the complete presentation here:

http://vimeo.com/24568855

Note: MetaTemplate Pro has been renamed as "Chameleon" and you can find out more about it at http://www.metamodpro.com/chameleon

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,221
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Joomla Rule Engines
    • and the joy of Meta
    • Stephen Brandon
    • Brandon IT Consulting
    • [email_address]
  • 2. Terms…
    • MetaTemplate & MetaMod
    • Rule Engine
    • Rule Chain
  • 3.  
  • 4. In standard Joomla, how do I…
  • 5. … modify output?
  • 6. • plugins act on intermediate or final output
  • 7. … make completely new types of pages?
  • 8. • new component defines new types of pages
  • 9. … alter look and feel of a page?
  • 10. • new template applied to existing page gives it new look & feel • selection of modules on the page • overrides within a template affect HTML output of the component and modules
  • 11. So what’s the problem?
  • 12.
    • different methods required to affect output in different parts of system e.g. plugins, overrides, SEO systems
    • synchronising and ordering different changes based on the same criteria e.g. for logged-in users, change template of this page and remove certain menu items
    • some tasks not available in Joomla e.g. ability to remove individual menu items
  • 13. Actions to script
  • 14. Actions to script (cont.)
  • 15. Case Studies
  • 16.
    • iContes.com
    • (unfortunately offline; screencast shown in live presentation)
  • 17.
    • use dedicated templates for specific devices (iPhone, iPad)
    • use dedicated template for Facebook embedding
    • ensure visitors exiting Facebook and viewing site normally return to normal template
    Business rules icontes.com
  • 18.
    • pick up Facebook API key from POST request on first page load
    • “ remember” current context in cookie
    • detect URL parameters to trigger return to normal template
    • device detection
    Cool stuff icontes.com
  • 19.
    • Google Analytics code:
    • <script type=&quot;text/javascript&quot;>
    • var _gaq = _gaq || [];
    • _gaq.push(['_setAccount', 'UA-5246969-1']); // <== put your GA code here
    • _gaq.push(['_setCustomVar',
    • 1,
    • 'Template',
    • 'ElectricStandard2011' // <== customise here for each template
    • ]);
    • <?php
    • $session =& JFactory::getSession();
    • $info_string = $session->get( 'InfoString', '', 'metatemplate');
    • if ($info_string != '') {
    • echo &quot;_gaq.push(['_setCustomVar',&quot;;
    • echo &quot;2,&quot;;
    • echo &quot;'InfoString',&quot;;
    • echo &quot;'$info_string'&quot;;
    • echo &quot;]);&quot;;
    • }
    • ?>
    • _gaq.push(['_trackPageview']);
    • (function() {
    • var ga = document.createElement('script');
    • ga.type = 'text/javascript'; ga.async = true;
    • ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    • var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    • })();
    • </script>
  • 20. Alexandre Therrien <info@quebecguitare.com>
  • 21.
    • Selling online, private, and correspondence guitar tuition
    • Providing a marketing platform for guitar teachers to connect to prospective students
    Business quebecguitar.com
  • 22. Business Rules quebecguitar.com
    • Determine what people are looking for, using any available clues e.g. Google search query, landing page for campaigns, GeoIP country of origin, language etc.
    • Use appropriate templates and modules to support that theme e.g. girls/women, metal, electric, Indonesia etc.
    • Track conversions in Analytics, noting the template used
  • 23. Cool stuff quebecguitar.com
    • detect search terms in Google referrer string e.g. “metal”; match to template
    • GeoIP and language detection; country/language specific templates & modules
    • template choices are “sticky”
    • RSForm includes info from MetaTemplate in contact e-mails
    • Google Analytics tracks template and conversion information
  • 24.
    • Demo
  • 25.  
  • 26.  
  • 27.  
  • 28.  
  • 29.  
  • 30.  
  • 31.  
  • 32. Opportunity quebecguitar.com
    • Seeking a marketing partner in NL/Europe with interest in music; strong marketing skills
    • Contact Alexandre Therrien <info@quebecguitare.com>
  • 33.
    • GrowthEngineLocal.com
  • 34.
    • GEL sells and implements Local Listing Management for small businesses e.g. Google Places, Yelp, Yellowpages, etc
    • Affiliate program is used to match clients to a local affiliate
    • Site is branded according to local affiliate
    Business GrowthEngineLocal.com
  • 35. Business Rules GrowthEngineLocal.com
    • Affiliate programme brands the site to a local affiliate, once site identifies location of visitor via GeoIP, zip code (form) or URL
    • Branding includes banners, logos, contact numbers, pricing, live chat, menu items etc.
    • Once determined, Affiliate–customer link is permanent
  • 36.
    • some basic form processing handled in MetaTemplate; can be done on any URL
    • affiliate links create permanent linkage, while zip code changes can change affiliate
    • GeoIP for zip codes; removing/hiding menu items for some users
    • Getting info from AEC
    Cool stuff GrowthEngineLocal.com
  • 37.
    • Demo http://growthenginelocal.com and use zip codes: 95008, 94203, or 93401
    • http://growthenginelocal.com/?affiliate=1 (clear cookies...) http://growthenginelocal.com/?affiliate=2