<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2120533972316271144</id><updated>2010-08-01T20:30:37.011+01:00</updated><title type='text'>Joomla Journeys</title><subtitle type='html'>Lesson's learnt and some random musings while implementing Joomla. If you are not a Joomla expert (which I am not), can perhaps hack a bit of CSS and PHP, then you might find something useful here.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-7241178193126146885</id><published>2009-11-22T10:05:00.000Z</published><updated>2009-11-22T10:06:17.277Z</updated><title type='text'>Better Paypal information with Virtuemart</title><content type='html'>Check out this &lt;a href="http://www.gjcwebdesign.com/configuration-paypal-payment-module-virtuemart.html"&gt;http://www.gjcwebdesign.com/configuration-paypal-payment-module-virtuemart.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-7241178193126146885?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/7241178193126146885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/11/better-paypal-information-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/7241178193126146885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/7241178193126146885'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/11/better-paypal-information-with.html' title='Better Paypal information with Virtuemart'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-319203230593205702</id><published>2009-11-21T17:08:00.002Z</published><updated>2009-11-21T17:12:40.388Z</updated><title type='text'>Virtuemart checkout progress bar</title><content type='html'>A slightly wierd one. Whn choosing  the theme vmgreen, the checkout progress bar would not appear. Looking at the source of the markup the table which has a background style of the image had the relative URL of the folder displayed before the absolute URL of the image in the style declaration.&lt;br /&gt;&lt;br /&gt;Editing [theme]/checkout/checkout_bar.tpl.php I messed around with it until I saw that the lines with :-&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;echo '&lt;br /&gt;&amp;lt;table style="background: url( '. VM_THEMEURL .'images/checkout/checkout'.....&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;There was a space between url( and '.VM_THEMEURL .......&lt;br /&gt;&lt;br /&gt;Removing that space did the trick for some strange reason.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-319203230593205702?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/319203230593205702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/11/virtuemart-checkout-progress-bar.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/319203230593205702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/319203230593205702'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/11/virtuemart-checkout-progress-bar.html' title='Virtuemart checkout progress bar'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-5121914337041285783</id><published>2009-10-13T13:17:00.006+01:00</published><updated>2009-10-13T13:42:25.641+01:00</updated><title type='text'>Placing module positions in the main content</title><content type='html'>I had a need to place other menus or modules in the main content for things like "see also" or "articles in this category" and I am sure that this method could be modified to place advertising in and amongst content too. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On a side note I found a mod which displays all articles in the current category called "mod_thiscategory", which works really well. I had to modify it slightly and as it was written as a single file with no template override I have re-worked it to be able to use a template (when I have worked out how to pack it up I will send it to the author).&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Step 1: add a module position to my template xml - mine is called content&lt;/li&gt;&lt;li&gt;Step 2: Edit mytemplatepath/html/com_content/article/default.php&lt;/li&gt;&lt;li&gt;Step 3: Pick your spot, I chose line 104 just after &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&amp;lt;?php echo $this-&amp;gt;article-&amp;gt;event-&amp;gt;beforeDisplayContent; ?&amp;gt;&lt;/span&gt; which would place  the items after the heading and any other heading information&lt;/li&gt;&lt;li&gt;Step 5: Write the code to place the modules in that module position. I ended up doing 3 things&lt;ul&gt;&lt;li&gt;Used &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$content_modules = &amp;amp;JModuleHelper::getModules( 'content' )&lt;/span&gt; to get the modules in that position&lt;/li&gt;&lt;li&gt;Looped through the result and test if the module is enabled using &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;JModuleHelper::isEnabled($contentmod-&gt;name)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;use the render function  (&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;JModuleHelper::renderModule( $contentmod, $_options );&lt;/span&gt;) to get the HTML into a variable and if the variable  has content at the end of the loop then present the results in a &amp;lt;div&amp;gt; which can be styled appropriately. This step was the last as there was no point in adding a &amp;lt;div&amp;gt; if there was no content from any of the modules.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;The code looks like this&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$content_modules = &amp;amp;JModuleHelper::getModules( 'content' );&lt;br /&gt;foreach ($content_modules as $contentmod) {&lt;br /&gt;$_options = array( 'style' =&amp;gt; 'xhtml' );&lt;br /&gt;if(JModuleHelper::isEnabled($contentmod-&amp;gt;name)) {&lt;br /&gt;$moduleContent .= JModuleHelper::renderModule( $contentmod, $_options );&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;if($moduleContent) {&lt;br /&gt;echo '&amp;lt;div class="additionalcontent"&amp;gt;'.$moduleContent.'&amp;lt;/div&amp;gt;';&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-5121914337041285783?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/5121914337041285783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/10/placing-module-positions-in-main.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/5121914337041285783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/5121914337041285783'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/10/placing-module-positions-in-main.html' title='Placing module positions in the main content'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-7261939884443363775</id><published>2009-08-15T15:15:00.011+01:00</published><updated>2009-09-04T12:51:35.667+01:00</updated><title type='text'>Joomla Accessibility and other stuff</title><content type='html'>The Beez template practices a good approach to accessibility for us all to follow, but I do have some concerns.&lt;br /&gt;&lt;h4&gt;Using ems in CSS&lt;/h4&gt;&lt;br /&gt;It has been the tradition to specify all fonts sizes as ems which allows everything to size in relation to it's context. This has always appeared to me to be a best practise, but it is also difficult to do if you allow the fonts to be zoomed. Allowing users to zoom is pretty important for users whether they have a visual disability or not.&lt;br /&gt;&lt;br /&gt;Body text and Headings are fine to scale as this should flow easily but there can be issues with navigation falling apart if the font is zoomed by the user so it get's quite tricky.&lt;br /&gt;&lt;br /&gt;Catching up on &lt;a href="http://www.boagworld.com/"&gt;Boagworld&lt;/a&gt; podcasts I heard in interesting discussion where several leading lights in web design and CSS are starting to hard code font-sizes in pixels which seems like a backward step, however there are some pretty good arguments. The main argument is that most common browsers now support Pixel Zooming instead of font zooming, which means that the layout of the design remains as the page is zoomed so this is a good thing for people trying to maintain the integrity of their design/layout but still enabling users to zoom. There has apparently been some heated debate. You can catch the discussion at &lt;a href="http://boagworld.com/podcast/171"&gt;http://boagworld.com/podcast/171&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For me there are some interesting points and I am tempted to combine the two approaches i.e. use relative em based sizes for content and fixed pixel fonts for things like navigation.&lt;br /&gt;&lt;br /&gt;What this does also emphasise is the need or lack of need for JavaScript based font sizing as found in templates such as beez. The browser has all the controls already and users who need to increase font size for readability will most likely know where these are as they will need to use those features for sites which don't have zoom features.&lt;br /&gt;&lt;h4&gt;Liquid layouts&lt;/h4&gt;&lt;br /&gt;For me, liquid layouts are cool but I am not sure what use they are. They are certainly an excellent demonstration of best practise CSS and markup, but in reality I am not sure they are that useful. I won't be using liquid layouts for my design, but that doesn't mean they shouldn't be used.&lt;br /&gt;&lt;h4&gt;Semantic Markup&lt;/h4&gt;&lt;br /&gt;This topic however is critical for accessibility. Making a site accessible (for sight impared users) is technically quite easy, making the site make sense for them is much harder. I have seen that semantic markup is a benefit in SEO, presenting a much more understandable page for the search engines to index. So it is common sense to make  the effort to markup content semantically.&lt;br /&gt;&lt;br /&gt;The important thing to do is tag the content with the appropriate tags so the content is structurally marked up. The common tags would be Headings, Lists, paragraphs, Strong, Blockquote, Emphasise etc. whereas "bad tags" would be bold, italic, font etc. I found this article &lt;a href="http://blue-anvil.com/archives/guide-to-semantic-mark-up"&gt;http://blue-anvil.com/archives/guide-to-semantic-mark-up&lt;/a&gt; which is quite a good explanation and goes on to provide some of the benefits including the SEO advantages. There is also a &lt;a href="http://www.bbc.co.uk/guidelines/futuremedia/technical/semantic_markup.shtml"&gt;great guideline&lt;/a&gt; on the BBC's website from their future media and technology department.&lt;br /&gt;&lt;br /&gt;Using semantic markup ensures machines and users can always tell the structure of a document and see where the emphasis is important, there is a huge benefit in Search Engine Optimisation so this for me is a no-brainer.&lt;br /&gt;&lt;h5&gt;Rich Text Editors and Semantic Markup&lt;/h5&gt;Users love to be able to format their content just how they want it, which can end up with some interesting design issues where fonts are applied, sizes are hardcoded etc.. This can lead to some really horrible page designs and all the hard work on the template kinda wasted. It is also pretty nasty if you want to re-skin your site when users have hard coded style changes etc.. My plan will be to disable all those items in JCE and just leave tag markup options. We will see how this goes as to whether it is accepted by the editors.&lt;br /&gt;&lt;h4&gt;Template Layout and making it more readable for screen readers and Search engines&lt;/h4&gt;&lt;br /&gt;The other angle which I am not sure whether this is part of Semantic mark-up or not but is very closely related is how the rest of the web page is constructed. If you go to any web page and turn off images, javascript and CSS to emulate what search engines and screen readers see, this will be a great demonstration of just how much sense your web page makes to a screen reader user or a search engine. Just as you want your core content to be in the right place in your visual design, so should your core content be in the right place when read by a machine. As an example left columns further down the page may not visually be the dominant content on the page, therefore the less important content is usually placed there. If you look at the page source or disable CSS and images you often find that that content is higher in the page than the more important content.&lt;br /&gt;&lt;br /&gt;Take for example this page in the Joomla docs &lt;a href="http://docs.joomla.org/How_do_you_get_rid_of_the_breadcrumbs%3F"&gt;http://docs.joomla.org/How_do_you_get_rid_of_the_breadcrumbs%3F&lt;/a&gt;. If you turn off CSS while viewing the page, you will see that it still makes sense, the content is displayed first and some simple links at the top which allows someone to skip to the navigation, which is particularly useful for screen reader users.&lt;br /&gt;&lt;br /&gt;A quick look at my own template from the last post shows me I have some serious work to do. The first items seen are a login form, a search form, navigation, and  then some content. No where on the page does it tell me what web site this is or even what page I am on! So I have alot of work to do on that, which will get covered in another post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-7261939884443363775?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/7261939884443363775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/08/joomla-accessibility-and-other-stuff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/7261939884443363775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/7261939884443363775'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/08/joomla-accessibility-and-other-stuff.html' title='Joomla Accessibility and other stuff'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-1902779200551153771</id><published>2009-08-05T17:19:00.000+01:00</published><updated>2009-08-15T15:15:43.322+01:00</updated><title type='text'>Building a template - Home page,  JRequest, and basic layout</title><content type='html'>For me it's key to having a home page that drives the right behaviour, presents all kinds of content to users for them to read and makes the home page not look like a Joomla home page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GojN8hByPjw/SoaSSm7Q1cI/AAAAAAAAACQ/5zMNhd4ozIk/s1600-h/home2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 196px;" src="http://3.bp.blogspot.com/_GojN8hByPjw/SoaSSm7Q1cI/AAAAAAAAACQ/5zMNhd4ozIk/s200/home2.jpg" alt="" id="BLOGGER_PHOTO_ID_5370140454070310338" border="0" /&gt;&lt;/a&gt;I have had a look around &lt;a href="http://extensions.jooml.org/"&gt;http://extensions.jooml.org&lt;/a&gt; and can't find anything that helps with this kind of layout so I am going to keep it simple and use a lot of the &lt;a href="http://extensions.joomla.org/extensions/structure-a-navigation/articles-listing/498"&gt;contentItem&lt;/a&gt; module to achieve this. On the home page I will have three positions which will contain contentItme modules with specific uncategorised articles and then below that 3 columns with various modules including the contentItem module to list articles from varying different locations.&lt;br /&gt;&lt;br /&gt;There is nothing very special in my template layout apart from trying to keep the number of divs to a minimum.&lt;br /&gt;&lt;h4&gt;Introducing JRequest&lt;/h4&gt;One thing I did discover which I think will be very useful down the line is &lt;pre&gt;JRequest::getVar('view')&lt;/pre&gt;This will return what type of view you have e.g. blog list, front page, section, category etc. I first discovered this on this site &lt;a href="http://www.howtojoomla.net/2008041785/how-tos/templates/how-to-determine-which-page-you-are-on-from-within-a-joomla-15-template"&gt;http://www.howtojoomla.net/2008041785/how-tos/templates/how-to-determine-which-page-you-are-on-from-within-a-joomla-15-template&lt;/a&gt; on which someone had added the code for the view option in the comments at the bottom of the page. Some judicious searching didn't bring up any decent docs in the joomla  sites but I did find this &lt;a href="http://www.theartofjoomla.com/home/7-legacy/8-removing-a-legacy-part-2.html"&gt;http://www.theartofjoomla.com/home/7-legacy/8-removing-a-legacy-part-2.html&lt;/a&gt; which gives some idea of the different calls that can be made.&lt;br /&gt;&lt;br /&gt;Having this information is going to be pretty handy for all kinds of decisions in the template, but I think that it would be useful having some generic classes on "view" and "option" in CSS at a body tag level.  I have set two variables and then used these in my body tag's class declarations.&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$viewName = JRequest::getVar('view');&lt;br /&gt;$optionName = JRequest::getVar('option');&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;body id="page_bg" class="&amp;lt;?php echo $viewName. ' ' .$optionName;?&amp;gt;"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Template layout&lt;/h4&gt;Now that I have some variables which I can use to test for the front page it is pretty simple to exclude items such as breadcrumbs and secondary navigation by testing $viewName like this&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php if ($viewName=='frontpage') :?&amp;gt;&lt;br /&gt;//markup for top panels on home page&lt;br /&gt;&amp;lt;?php else :?&amp;gt;&lt;br /&gt;&amp;lt;div id="secondary-nav"&amp;gt;&amp;lt;jdoc:include type="modules" name="secondarymenu" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="pathway"&amp;gt;&amp;lt;jdoc:include type="modules" name="breadcrumb" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;&lt;/pre&gt;Then to achieve  3 columns of content below the header area on the home page and only two colums on any other page I therefore done the following&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;?php if ($viewName=='frontpage')  : ?&amp;gt;&lt;br /&gt;&amp;lt;div id="leftcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="left" style="xhtml" /&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="maincolumn"&amp;gt;&lt;br /&gt;&amp;lt;div id="centre"&amp;gt;&amp;lt;jdoc:include type="modules" name="centre" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="rightcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="right" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;?php else: ?&amp;gt;&lt;br /&gt;&amp;lt;div id="maincolumn"&amp;gt;&lt;br /&gt;&amp;lt;div id="content"&amp;gt;&amp;lt;jdoc:include type="component" /&amp;gt; &amp;lt;jdoc:include type="modules" name="footer" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;?php if($this-&amp;gt;countModules('right') and JRequest::getCmd('layout') != 'form') : ?&amp;gt;&lt;br /&gt;&amp;lt;div id="rightcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="right" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;&amp;lt;?php endif;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That's almost it for my template, I am sure that there will be more tweaks as time goes on, now for the hard bit which is getting the CSS right. If anyone is interested here is the whole template (it's a work in progress).&lt;pre name="code" class="php"&gt;&amp;lt;?php&lt;br /&gt;/**&lt;br /&gt; * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.&lt;br /&gt; * @license  GNU/GPL, see LICENSE.php&lt;br /&gt; * Joomla! is free software. This version may have been modified pursuant&lt;br /&gt; * to the GNU General Public License, and as distributed it includes or&lt;br /&gt; * is derivative of works licensed under the GNU General Public License or&lt;br /&gt; * other free or open source software licenses.&lt;br /&gt; * See COPYRIGHT.php for copyright notices and details.&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;// no direct access&lt;br /&gt;defined( '_JEXEC' ) or die( 'Restricted access' );&lt;br /&gt;// useful variables&lt;br /&gt;$viewName = JRequest::getVar('view');&lt;br /&gt;$optionName = JRequest::getVar('option');&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;" lang="&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;" &amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;jdoc:include type="head" /&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/system/css/system.css" type="text/css" /&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/system/css/general.css" type="text/css" /&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/devtemplate/css/template.css" type="text/css" /&amp;gt;&lt;br /&gt;&amp;lt;!--[if lte IE 6]&amp;gt;&lt;br /&gt;&amp;lt;link href="&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/ieonly.css"rel="stylesheet"type="text/css"/&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;lt;?php if($this-&amp;gt;direction == 'rtl') : ?&amp;gt;&lt;br /&gt;&amp;lt;link href="&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/devtemplate/css/template_rtl.css" rel="stylesheet" type="text/css" /&amp;gt;&lt;br /&gt;&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="http://serve.a-widget.com/kickFlash/scripts/swfobject2.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body id="page_bg" class="&amp;lt;?php echo $viewName. ' ' .$optionName;?&amp;gt;"&amp;gt; &lt;br /&gt;&amp;lt;a name="up" id="up"&amp;gt;&amp;lt;/a&amp;gt; &lt;br /&gt;&amp;lt;div id="wrapper"&amp;gt; &lt;br /&gt; &amp;lt;div id="top"&amp;gt;&lt;br /&gt;  &amp;lt;div id="login"&amp;gt; &amp;lt;jdoc:include type="modules" name="login" style="xhtml"/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div id="search"&amp;gt; &amp;lt;jdoc:include type="modules" name="search" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div class="clear"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id="header"&amp;gt; &lt;br /&gt;  &amp;lt;div id="logo"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;div id="primary-nav"&amp;gt; &amp;lt;jdoc:include type="modules" name="mainmenu" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;div class="clr"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;?php if ($viewName=='frontpage') :?&amp;gt; &lt;br /&gt;  &amp;lt;div id="home-core-panels"&amp;gt; &lt;br /&gt;   &amp;lt;div id="home-top-left"&amp;gt;&amp;lt;jdoc:include type="modules" name="home-top-left" style="xhtml" /&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;   &amp;lt;div id="home-top-main"&amp;gt;&lt;br /&gt;    &amp;lt;div id="home-top-centre"&amp;gt;&amp;lt;jdoc:include type="modules" name="home-top-centre" style="xhtml" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div id="home-top-right"&amp;gt;&amp;lt;jdoc:include type="modules" name="home-top-right" style="xhtml" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt; &lt;br /&gt;   &amp;lt;div class="clr"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;?php else :?&amp;gt;&lt;br /&gt;   &amp;lt;div id="secondary-nav"&amp;gt;&amp;lt;jdoc:include type="modules" name="secondarymenu" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;   &amp;lt;div id="pathway"&amp;gt;&amp;lt;jdoc:include type="modules" name="breadcrumb" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;?php endif; ?&amp;gt; &lt;br /&gt; &amp;lt;/div&amp;gt; &lt;br /&gt; &amp;lt;div id="maincontent"&amp;gt; &lt;br /&gt;  &amp;lt;jdoc:include type="message" /&amp;gt; &lt;br /&gt;   &amp;lt;?php if ($viewName=='frontpage')  : ?&amp;gt; &lt;br /&gt;   &amp;lt;div id="leftcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="left" style="xhtml" /&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;   &amp;lt;div id="maincolumn"&amp;gt; &lt;br /&gt;    &amp;lt;div id="centre"&amp;gt;&amp;lt;jdoc:include type="modules" name="centre" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;    &amp;lt;div id="rightcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="right" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt;  &lt;br /&gt;   &amp;lt;?php else: ?&amp;gt; &lt;br /&gt;   &amp;lt;div id="maincolumn"&amp;gt; &lt;br /&gt;    &amp;lt;div id="content"&amp;gt;&amp;lt;jdoc:include type="component" /&amp;gt; &amp;lt;jdoc:include type="modules" name="footer" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;    &amp;lt;?php if($this-&amp;gt;countModules('right') and JRequest::getCmd('layout') != 'form') : ?&amp;gt; &lt;br /&gt;    &amp;lt;div id="rightcolumn"&amp;gt;&amp;lt;jdoc:include type="modules" name="right" style="xhtml"/&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;    &amp;lt;?php endif; ?&amp;gt; &lt;br /&gt;   &amp;lt;?php endif;?&amp;gt; &lt;br /&gt;    &amp;lt;div class="clr"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;   &amp;lt;/div&amp;gt; &lt;br /&gt;   &amp;lt;div class="clr"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;div id="footerspacer"&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt; &amp;lt;/div&amp;gt; &lt;br /&gt; &amp;lt;div id="footer"&amp;gt; &lt;br /&gt;  &amp;lt;p id="syndicate"&amp;gt; &amp;lt;jdoc:include type="modules" name="syndicate" style="xhtml"/&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;  &amp;lt;p id="power_by"&amp;gt; &amp;lt;?php echo JText::_('Powered by') ?&amp;gt; &amp;lt;a href="http://www.joomla.org"&amp;gt;Joomla!&amp;lt;/a&amp;gt;. &amp;lt;?php echo JText::_('Valid') ?&amp;gt; &amp;lt;a href="http://validator.w3.org/check/referer"&amp;gt;XHTML&amp;lt;/a&amp;gt; &amp;lt;?php echo JText::_('and') ?&amp;gt; &amp;lt;a href="http://jigsaw.w3.org/css-validator/check/referer"&amp;gt;CSS&amp;lt;/a&amp;gt;. &amp;lt;/p&amp;gt; &lt;br /&gt; &amp;lt;/div&amp;gt; &lt;br /&gt;&amp;lt;/div&amp;gt; &lt;br /&gt;&amp;lt;jdoc:include type="modules" name="debug" /&amp;gt; &lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-1902779200551153771?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/1902779200551153771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/08/building-template-home-page-jrequest.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/1902779200551153771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/1902779200551153771'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/08/building-template-home-page-jrequest.html' title='Building a template - Home page,  JRequest, and basic layout'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GojN8hByPjw/SoaSSm7Q1cI/AAAAAAAAACQ/5zMNhd4ozIk/s72-c/home2.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-1411573008678447746</id><published>2009-07-29T17:48:00.006+01:00</published><updated>2009-08-12T18:25:40.946+01:00</updated><title type='text'>Build your own Joomla template - creating a blank template</title><content type='html'>So here we go.&lt;br /&gt;&lt;br /&gt;The layout I want to achieve is the one on the previous post and having made the decision to start from scratch I have poked about inside the 3 templates provided with Joomla looking for a common approach and so I can also steal tips from them as and when I need them.&lt;br /&gt;&lt;h4&gt;Setting up a new template to work on&lt;/h4&gt;There is a very good tutorial on the new wiki &lt;a href="http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla%21_template"&gt;http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla!_template&lt;/a&gt;. The trouble with this method, although excellent, is I to get everything ready before messing with templates, sometimes it can be quite useful starting with a core template and stripping it down, learning as you go.&lt;br /&gt;&lt;h4&gt;Copying templates to play with&lt;/h4&gt;Being an impatient fool I wanted faster results so I thought it would be a wicked wheeze to copy an existing template and then customise it. I think this is worthwhile so you can experiment with them without damaging the originals. Little did I know that this path would take longer.&lt;br /&gt;&lt;br /&gt;The template I picked was rhuk_milkyway as it looked a lot simpler than beez or ja_purity. I took a copy of the files into another directory and renamed the template, by editing the templateDetails.xml file, zipped the files and ran the install. &lt;span style="font-weight: bold;"&gt;Big Mistake!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I then spent ages dealing with all the install error messages (File '/Users/xxxxx/Sites/yyyyy/zzzzz/tmp/install_4a82e20665eca/images/mw_box_blue_bl.png' does not exist.) as surprise, surprise not all the files in the templateDetails.xml seemed to be there which was bizarre. So I ended up editing templateDetails.xml and commenting out all the missing files, which took some time. I have found this doc &lt;a href="http://docs.joomla.org/Tutorial:Create_a_copy_of_the_MilkyWay_Template"&gt;http://docs.joomla.org/Tutorial:Create_a_copy_of_the_MilkyWay_Template&lt;/a&gt; But to be honest this indicates that perhaps this template is not a good place to start. If there are harcoded links to files in other files then I suspect that it is probably better to start again.&lt;br /&gt;&lt;br /&gt;I have since done the same with JA_purity and Beez and this works pretty well. Strangely I still get warnings about files in the language section of the templateDetails.xml, but these files already exist in the Joomla build so I am not going to worry for now.&lt;br /&gt;&lt;br /&gt;At least now I have some test versions of Beez and Ja_purity which I can play with without causing damage.&lt;br /&gt;&lt;h4&gt;Generating the template install file &lt;/h4&gt;&lt;br /&gt;In the Joomla 1.0.x days there was a nice little script from &lt;a href="http://www.joomlart.com"&gt;http://www.joomlart.com&lt;/a&gt; which would generate the templateDetails.xml file so it was easy to package up your template once it was finished. Searching &lt;a href="http://extensions.joomla.org"&gt;http://extensions.joomla.org&lt;/a&gt; for an updated version can can see lots of nice new standalone tools for modules and templates but sadly they all are for Windows and I can't seem to find one for non windows environments. This means that I will probably have to code templateDetails.xml from scratch which will not be fun but I think I will face that challenge when I get to it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-1411573008678447746?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/1411573008678447746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/07/build-your-own-joomla-template-first-go.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/1411573008678447746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/1411573008678447746'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/07/build-your-own-joomla-template-first-go.html' title='Build your own Joomla template - creating a blank template'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-3716638519185294347</id><published>2009-07-22T13:09:00.004+01:00</published><updated>2009-08-11T12:48:30.344+01:00</updated><title type='text'>Joomla Templates - build or buy (or use a free one)?</title><content type='html'>There are a gazillion Joomla templates out there and they are all pretty excellent, even the templates you buy are usually of very high standard.&lt;br /&gt;&lt;br /&gt;The question is whether to use one of these or build your own.&lt;br /&gt;&lt;br /&gt;From my own subjective view these templates are very sophisticated but they are often "very Joomla" in their layout. There is no question that if you find one that suits your needs then even if it is not free it is fantastic value for money. It may also be that if the Joomla user has no real design skills then you can achieve a phenomenal look and feel for the website with no effort.  The issue of whether to build your own or use a pre-made one is therefore always around the specifics of your requirement and if you haven't got the skills finding someone to do it for you. For me there are two key issues.&lt;br /&gt;&lt;h4&gt;Module Positions&lt;/h4&gt;The real issue I personally have with pre-made templates is the rather limited functionality the template builder has to work with, this is not the template builders' fault or in fact Joomla's but the simple fact that the temlpate has to be built using a known set of positions that can be depended on in a standard Joomla installation.&lt;br /&gt;&lt;br /&gt;To explain this further the standard templates that come with a Joomla implementation have the common positions of &lt;span style="font-style: italic;"&gt;breadcrumb, left, right, top, user1, user2, user3, user4, footer, debug, syndicate&lt;/span&gt;. When you load Joomla initially the modules that are enabled are placed in those positions so everything works straight away. I could be wrong (my memory of 1.0 is a bit hazy now) but it is a great improvement in 1.5 that the positions are now set in the template rather than in the Joomla admin interface, but the template builder is still limited to use those positions in order for a template to be successfuly applied to a default Joomla install. You therefore end up with a Joomla install which only really uses these positions (and perhaps a few more).&lt;br /&gt;&lt;br /&gt;In my case I have a very different need for a home page so I am not sure these default positions will work for me.&lt;br /&gt;&lt;h4&gt;Front page layout&lt;/h4&gt;The front page component is excellent for featuring content on the front page, but I find it a bit limiting in layout. You tend to end up with a single list of articles which can have some versatility in having 2 columns or perhaps some items across 1 column then the rest in two columns (or more), but that is kind of "it".&lt;br /&gt;&lt;br /&gt;For my own needs I want areas populated with story teasers all over the place, so the traditional front page is not for me. 4 years ago a looked for a solution for this and there were lots of front page type components, but they didn't really do the job so I gave up. This time round I experimented first of all with the Latest News module which can be focussed on different sections (i.e. I could have a few of them with different content in them) but they only list the title which was not for me.&lt;br /&gt;&lt;br /&gt;My next experiment was my old friend the contentitem module which has now been renamed to mod_placehere. This module is build by Eike Pierstorff  and you can find his blog here &lt;a href="http://www.diebesteallerzeiten.de/"&gt;http://www.diebesteallerzeiten.de&lt;/a&gt;. This is such a superb module. It was useful 4 years ago for featuring a item in a position or perhaps a list of items in a position, but it has come on leaps and bounds. Eike seems very receptive for ideas and input and pretty responsive. This has to be my number 1 fave module.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GojN8hByPjw/SoFUqvoG1-I/AAAAAAAAACE/Orfm0fyIyug/s1600-h/home2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 313px;" src="http://4.bp.blogspot.com/_GojN8hByPjw/SoFUqvoG1-I/AAAAAAAAACE/Orfm0fyIyug/s320/home2.jpg" alt="" id="BLOGGER_PHOTO_ID_5368665324118267874" border="0" /&gt;&lt;/a&gt;Now I have what I need for my front page, I can essentially place loads of mod_placehere components anywhere I need on the front page to achieve what I need.&lt;br /&gt;&lt;br /&gt;So the jury is out for me, I am going to build my own template, I will have to learn a bit from the other templates but I am pretty confident that I can achieve what I need in look and feel by going my own way. Don't let me stop you using a pre-made template they are really excellent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-3716638519185294347?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/3716638519185294347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/07/joomla-templates-build-or-buy-or-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/3716638519185294347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/3716638519185294347'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/07/joomla-templates-build-or-buy-or-use.html' title='Joomla Templates - build or buy (or use a free one)?'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GojN8hByPjw/SoFUqvoG1-I/AAAAAAAAACE/Orfm0fyIyug/s72-c/home2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-957787652871925597</id><published>2009-07-15T12:26:00.000+01:00</published><updated>2009-08-10T13:13:10.237+01:00</updated><title type='text'>Getting rid of tables in Joomla - Template overrides</title><content type='html'>Tables in Joomla pages have always annoyed me. I am not a fan of tables now that I have learnt that web standards, table-less layout is the way forward.&lt;br /&gt;&lt;br /&gt;I was therefore a bit miffed that I saw tables in my markup once I had installed Joomla. I did some digging around and also saw that the choice of template affected this which was encouraging.&lt;br /&gt;&lt;br /&gt;A quick bit of searching around in the new docs wiki &lt;a href="http://docs.joomla.org/"&gt;http://docs.joomla.org&lt;/a&gt; and I found several cool things&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Module Chrome: &lt;a href="http://docs.joomla.org/What_is_module_chrome%3F"&gt;http://docs.joomla.org/What_is_module_chrome%3F&lt;/a&gt;. This is a nice improvement to how modules are loaded.&lt;/li&gt;&lt;li&gt;And then I found this excellent tutorial on template overrides &lt;a href="http://www.scribd.com/doc/2300107/Joomla-v-1-5-Getting-Started-with-Template-Overrides"&gt;http://www.scribd.com/doc/2300107/Joomla-v-1-5-Getting-Started-with-Template-Overrides&lt;/a&gt;. &lt;span style="font-weight: bold;"&gt;Wow!&lt;/span&gt; This new system in Joomla is great. At last you can completely control the behaviour of any item without hacking the core module.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I know all Joomla 1.5 experts will know this stuff (this is a blog of a journey through learning Joomla after all.), but for me as a 1.5 newbie this is fantastic. No tables and total layout control - wicked.&lt;br /&gt;&lt;br /&gt;I still think the Joomla crowd should make sure that the default templates delivered in the build are tableless, it would start users off on the right foot. I appreciate that there has to be backward compatibility but at least make sure the 3 delivered templates demonstrate best practise.&lt;br /&gt;&lt;br /&gt;I'll document thoughts on this as I get results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-957787652871925597?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/957787652871925597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/08/getting-rid-of-tables-in-joomla.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/957787652871925597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/957787652871925597'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/08/getting-rid-of-tables-in-joomla.html' title='Getting rid of tables in Joomla - Template overrides'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-4349490596406404562</id><published>2009-07-09T12:31:00.000+01:00</published><updated>2009-08-10T13:12:23.265+01:00</updated><title type='text'>Why Joomla ? Why not Drupal ?</title><content type='html'>There are plenty of passionate posts all over the internet stressing why Joomla and Drupal will save the earth, so I am not going to bore you with that kind of stuff. The interesting thing for me is that technologies change over time so the reason for using one versus another will change over time too.&lt;br /&gt;&lt;br /&gt;What I have found over the last 25 years or so is that techies can be extraordinarily protective of the technologies they have chosen, sometimes to the point of technical bigotry or even semi religious fanatism. You therefore get some amusing comments at the bottom of blogs that debate which one to go for.&lt;br /&gt;&lt;br /&gt;My own views on different tech' have fluctuated over time. for example I first thought Microsoft could do no wrong, then they were evil incarnate and now I have a deep respect for them (but choose not to use too much of their stuff). Interestingly these different viewpoints were based on my knowledge at the time i.e. at first I didn't know better; then I competed with them with ColdFusion and now I use a Mac and love opensource. The bottom line is that with tech' one needs to pick the right horse for the right course and in every case the course will be different.&lt;br /&gt;&lt;br /&gt;Horses for courses is definitely the right approach when comparing Drupal and Joomla. I have built sites with both and think that both are excellent. For my own current project I would love to do it in Drupal for the coding fun, but I just don't have the time.&lt;br /&gt;&lt;br /&gt;When I thought of reading up on the debate on Durpal Vs. Joomla I got lazy and googled Drupal vs Joomla then picked the first entry. The post is froma Drupal fan and they do try and be slightly balanced, but you can still detect the bias creeping through. It's as if the author is giving us Joomla users a little pat on the head in a kind of "there, there if you must play with a CMS why don't you go and play with Joomla while us adults get on with the real work" style.&lt;br /&gt;&lt;br /&gt;I have critiqued the entry for fun and confess up front that my Drupal experience is only from V5 so I am very guilty of not being up to date on Drupal - apologies if I get stuff wrong.  The author from &lt;a href="http://mydrupal.com/joomla-versus-drupal"&gt;mydrupal.com&lt;/a&gt; cites the following (bear in mind this post was from 2007 so there will be some inaccuracies):-&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Drupal &lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Rock solid &amp;amp; high quality platform&lt;span style="color: rgb(0, 0, 173);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;- who says that Joomla isn't? This is a null point&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Real multi-site-feature (only one installation for several sites) &lt;span style="color: rgb(255, 255, 51);"&gt;- True, if you need multi sites integrated then this is good&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Any Kind of user groups &amp;amp; user permissions, OpenId compliant in Version 6 &lt;span style="color: rgb(255, 255, 51);"&gt;- True (ish). The statement is true but whether it is important for you or not depends how horribly granular you want your user roles. There seem to be some more add-ons for Joomla to solve this, but I haven't researched them yet.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Can run membership and community sites, not only CMS etc&lt;span style="color: rgb(255, 255, 51);"&gt; - The implication that Joomla can't is totally untrue&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Powerful templating system. Any XHTML or CSS template can be easily converted to Drupal. &lt;span style="color: rgb(255, 255, 51);"&gt;- I'm not convinced of the ease from my own experience  Joomla Templating is a dream.&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt; Essentially both are good, and there are many more third party templates out there for Joomla.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Drupal needs a little time investment to realize all the huge possibilities of Drupal &lt;span style="color: rgb(255, 255, 51);"&gt;- Understatement. Getting under the hood with Drupal take a bit of work. if you are not good PHP developer this can be hard.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Clear, high quality code and API (easy to integrate with other solutions etc) &lt;span style="color: rgb(255, 255, 51);"&gt;- True, but not untrue for Joomla&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Flexibility and no known limitations&lt;span style="color: rgb(255, 255, 51);"&gt;- Probably more flexible than Joomla but it depends on whether you ever need the extra flexibilityor whether you have the time to develop code to leverage that flexibility.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mydrupal.com/drupal_showcase_some_top_drupal_sites"&gt;Many high profile sites use Drupal&lt;/a&gt; (e.g.: MTV UK, BBC, the Onion, Nasa, Greenpeace UK, New york observer. ) &lt;span style="color: rgb(255, 255, 51);"&gt;- True, but there are high profile sites using Joomla check &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;out &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;this one from Scripps  &lt;a href="http://www.food2.com/"&gt;http://www.food2.com&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Joomla&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you are not techy its good to start&lt;span style="color: rgb(255, 255, 51);"&gt; - True, but if you are a techie you can achieve some magical things just as you can in Drupal&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Easy install &amp;amp; setup with your mouse &lt;span style="color: rgb(255, 255, 51);"&gt;-They are both easy to install, Joomla's install is particularly good.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Easy learning curve &lt;span style="color: rgb(255, 255, 51);"&gt;- True, Drupal's learning curve is not so easy&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Cannot integrate other scripts etc. to your site&lt;span style="color: rgb(255, 255, 51);"&gt; - Complete codswallop.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Generally you cannot create high-end sites, without investing huge amount &lt;span style="color: rgb(255, 255, 51);"&gt;- This is misleading, you can create high end sites and depending on the function you might even expend less effort. This really depends on your definition of "high end"&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; No SEO out of the box, URLs are not search engine friendly.&lt;span style="color: rgb(255, 255, 51);"&gt; - Pretty rubbish statement&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;, Joomla sites do well with SEO.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Server resources utilization is more compared to drupal &lt;span style="color: rgb(255, 255, 51);"&gt;- I wouldn't know, but is there a real impact on this one ? Big sites like Joomla.org seem to work OK.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Only one site per installation&lt;span style="color: rgb(255, 255, 51);"&gt; - True&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; No Single Log-in to several sites &lt;span style="color: rgb(255, 255, 51);"&gt;- True not without some coding&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; No User groups &amp;amp; permissions&lt;span style="color: rgb(255, 255, 51);"&gt; - Not strictly true it would be more true to say no "customisable" user groups and permissions.  Durpal's user groups and permissions functionality is very granular&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; More intuitive administration user interface &lt;span style="color: rgb(255, 255, 51);"&gt;- True, although I heard on a podcast that an agency has been doing alot of work on that  for Drupal recently&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Some polished modules for things like calendars, polls, etc.&lt;span style="color: rgb(255, 255, 51);"&gt; - Some ?!!! - Thousands! and from my experience quality is is often much higher&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Modules cost you money &lt;span style="color: rgb(255, 255, 51);"&gt;- Untrue, some do.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;You can see that the above is influenced by the writer's own experience and drops lots of annoying hints that Joomla is not a scalable or quality platform which is complete balderdash. I hate the way some web developers intimate that if it's not hard then it's no good as the points above raise.&lt;br /&gt;&lt;br /&gt;The truth is &lt;span style="font-weight: bold;"&gt;both platforms are excellent&lt;/span&gt; and the reality is that choosing either depends on your own requirements and resources. So I would personally simplify the argument as follows:-&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you want multi-site (single login)  go Drupal&lt;/li&gt;&lt;li&gt;If you want very granualar roles and security beyond the layers that Joomla or an add on provide  go Drupal.&lt;/li&gt;&lt;li&gt;If you are a developer and love getting under the covers and changing everything, have loads of time, then you will enjoy Drupal more, but Joomla 1.5 has a load of stuff to keep you entertained.&lt;/li&gt;&lt;li&gt;If, however, you are in a hurry or don't want to code your way around everything then Joomla will get you there quicker and easier&lt;/li&gt;&lt;li&gt;If you have little or no technical skills then you won't get far with Drupal but with Joomla you can add a template and start adding you content. If, however you are completely untechnical then you might want to get someone else to do it for you.&lt;/li&gt;&lt;li&gt;If you want one article to appear in more than one place in the site (and you need to do this a lot i.e.  so posting a duplicate won't do) then go Drupal.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h4&gt;Some other points&lt;/h4&gt;&lt;br /&gt;Yes Drupal has workflow of a sorts, but in V5 it took me while to get it to work well - are you that large and distributed as an organisation as to need workflow ?&lt;br /&gt;&lt;br /&gt;Joomla has a fixed content hierarchy of Sections which contain categories, for some very content heavy sites this may be a limitation. Drupal on the other hand has no such structure which provides limitless possibilities. The taxonomy based approach you could use for site structure is very cool if you need it.&lt;br /&gt;&lt;br /&gt;I haven't looked at Drupal V6, but I would seriously look at the editing and image handling features of both before you make decision. JCE on Joomla is superb and I couldn't find very good image modules for Joomla which made editing articles quite tricky for the unitiated.&lt;br /&gt;&lt;br /&gt;Virtumart for Joomla is excellent if you want a good almost out of the box ecommerce store as part of your site.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Finishing off&lt;/h4&gt;For me, for this project specifically, I am using Joomla. I don't have a lot of time and the requirements don't dictate Drupal. My advice would be if you need Drupal's unique features you have no choice - otherwise Joomla will do a damn good job.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-4349490596406404562?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/4349490596406404562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/08/why-joomla-why-not-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/4349490596406404562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/4349490596406404562'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/08/why-joomla-why-not-drupal.html' title='Why Joomla ? Why not Drupal ?'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2120533972316271144.post-5514670882425262282</id><published>2009-07-01T17:50:00.000+01:00</published><updated>2009-08-10T13:11:57.432+01:00</updated><title type='text'>Why this blog ?</title><content type='html'>About three/four years ago I built my first Joomla site http://www.wildlifeaid.org.uk as a volunteer effort. It took about 2 weeks and the results were pretty good considering. Wildlife Aid, went from a static site to a site they could update themselves and thsi had a positive impact on site traffic.&lt;br /&gt;&lt;br /&gt;I built my own template choosing a fairly simple free one and modified it. I confess the template was pretty crap, I used tables for layout and my CSS skills were pretty poor, but it worked.&lt;br /&gt;&lt;br /&gt;The site is now showing it's age so it's time to build a new one and this time, I thought it might be useful to record things I learn along the way so other people might benefit.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GojN8hByPjw/Sn2vvx7QTiI/AAAAAAAAABk/0yw_bGLG4mc/s1600-h/website.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 332px;" src="http://3.bp.blogspot.com/_GojN8hByPjw/Sn2vvx7QTiI/AAAAAAAAABk/0yw_bGLG4mc/s400/website.jpg" alt="" id="BLOGGER_PHOTO_ID_5367639566286081570" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2120533972316271144-5514670882425262282?l=www.joomlajourneys.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.joomlajourneys.com/feeds/5514670882425262282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.joomlajourneys.com/2009/08/why-this-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/5514670882425262282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2120533972316271144/posts/default/5514670882425262282'/><link rel='alternate' type='text/html' href='http://www.joomlajourneys.com/2009/08/why-this-blog.html' title='Why this blog ?'/><author><name>Simon Frank</name><uri>http://www.blogger.com/profile/12311647277614032781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03692657678151863020'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GojN8hByPjw/Sn2vvx7QTiI/AAAAAAAAABk/0yw_bGLG4mc/s72-c/website.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>