Sunday, November 22, 2009
Saturday, November 21, 2009
Virtuemart checkout progress bar
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.
Editing [theme]/checkout/checkout_bar.tpl.php I messed around with it until I saw that the lines with :-
There was a space between url( and '.VM_THEMEURL .......
Removing that space did the trick for some strange reason.
Editing [theme]/checkout/checkout_bar.tpl.php I messed around with it until I saw that the lines with :-
echo '
<table style="background: url( '. VM_THEMEURL .'images/checkout/checkout'.....
There was a space between url( and '.VM_THEMEURL .......
Removing that space did the trick for some strange reason.
Tuesday, October 13, 2009
Placing module positions in the main content
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.
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).
- Step 1: add a module position to my template xml - mine is called content
- Step 2: Edit mytemplatepath/html/com_content/article/default.php
- Step 3: Pick your spot, I chose line 104 just after <?php echo $this->article->event->beforeDisplayContent; ?> which would place the items after the heading and any other heading information
- Step 5: Write the code to place the modules in that module position. I ended up doing 3 things
- Used $content_modules = &JModuleHelper::getModules( 'content' ) to get the modules in that position
- Looped through the result and test if the module is enabled using JModuleHelper::isEnabled($contentmod->name)
- use the render function (JModuleHelper::renderModule( $contentmod, $_options );) 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 <div> which can be styled appropriately. This step was the last as there was no point in adding a <div> if there was no content from any of the modules.
<?php
$content_modules = &JModuleHelper::getModules( 'content' );
foreach ($content_modules as $contentmod) {
$_options = array( 'style' => 'xhtml' );
if(JModuleHelper::isEnabled($contentmod->name)) {
$moduleContent .= JModuleHelper::renderModule( $contentmod, $_options );
}
}
if($moduleContent) {
echo '<div class="additionalcontent">'.$moduleContent.'</div>';
}
?>
Saturday, August 15, 2009
Joomla Accessibility and other stuff
The Beez template practices a good approach to accessibility for us all to follow, but I do have some concerns.
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.
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.
Catching up on Boagworld 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 http://boagworld.com/podcast/171.
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.
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.
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.
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.
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 http://blue-anvil.com/archives/guide-to-semantic-mark-up which is quite a good explanation and goes on to provide some of the benefits including the SEO advantages. There is also a great guideline on the BBC's website from their future media and technology department.
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.
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.
Take for example this page in the Joomla docs http://docs.joomla.org/How_do_you_get_rid_of_the_breadcrumbs%3F. 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.
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.
Using ems in CSS
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.
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.
Catching up on Boagworld 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 http://boagworld.com/podcast/171.
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.
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.
Liquid layouts
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.
Semantic Markup
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.
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 http://blue-anvil.com/archives/guide-to-semantic-mark-up which is quite a good explanation and goes on to provide some of the benefits including the SEO advantages. There is also a great guideline on the BBC's website from their future media and technology department.
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.
Rich Text Editors and Semantic Markup
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.Template Layout and making it more readable for screen readers and Search engines
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.
Take for example this page in the Joomla docs http://docs.joomla.org/How_do_you_get_rid_of_the_breadcrumbs%3F. 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.
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.
Wednesday, August 5, 2009
Building a template - Home page, JRequest, and basic layout
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.
I have had a look around http://extensions.jooml.org 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 contentItem 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.
There is nothing very special in my template layout apart from trying to keep the number of divs to a minimum.
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.
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).
I have had a look around http://extensions.jooml.org 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 contentItem 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.There is nothing very special in my template layout apart from trying to keep the number of divs to a minimum.
Introducing JRequest
One thing I did discover which I think will be very useful down the line isJRequest::getVar('view')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 http://www.howtojoomla.net/2008041785/how-tos/templates/how-to-determine-which-page-you-are-on-from-within-a-joomla-15-template 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 http://www.theartofjoomla.com/home/7-legacy/8-removing-a-legacy-part-2.html which gives some idea of the different calls that can be made.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.
<?php
$viewName = JRequest::getVar('view');
$optionName = JRequest::getVar('option');
?>
<body id="page_bg" class="<?php echo $viewName. ' ' .$optionName;?>">
Template layout
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 thisThen 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
<?php if ($viewName=='frontpage') :?>
//markup for top panels on home page
<?php else :?>
<div id="secondary-nav"><jdoc:include type="modules" name="secondarymenu" style="xhtml"/> </div>
<div id="pathway"><jdoc:include type="modules" name="breadcrumb" style="xhtml"/> </div>
<?php endif; ?>
<?php if ($viewName=='frontpage') : ?>
<div id="leftcolumn"><jdoc:include type="modules" name="left" style="xhtml" /> </div>
<div id="maincolumn">
<div id="centre"><jdoc:include type="modules" name="centre" style="xhtml"/> </div>
<div id="rightcolumn"><jdoc:include type="modules" name="right" style="xhtml"/> </div>
<?php else: ?>
<div id="maincolumn">
<div id="content"><jdoc:include type="component" /> <jdoc:include type="modules" name="footer" style="xhtml"/> </div>
<?php if($this->countModules('right') and JRequest::getCmd('layout') != 'form') : ?>
<div id="rightcolumn"><jdoc:include type="modules" name="right" style="xhtml"/> </div>
<?php endif; ?>
<?php endif;?>
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).
<?php
/**
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// useful variables
$viewName = JRequest::getVar('view');
$optionName = JRequest::getVar('option');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/devtemplate/css/template.css" type="text/css" />
<!--[if lte IE 6]>
<link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/ieonly.css"rel="stylesheet"type="text/css"/>
<![endif]-->
<?php if($this->direction == 'rtl') : ?>
<link href="<?php echo $this->baseurl ?>/templates/devtemplate/css/template_rtl.css" rel="stylesheet" type="text/css" />
<?php endif; ?>
<script type="text/javascript" src="http://serve.a-widget.com/kickFlash/scripts/swfobject2.js"></script>
</head>
<body id="page_bg" class="<?php echo $viewName. ' ' .$optionName;?>">
<a name="up" id="up"></a>
<div id="wrapper">
<div id="top">
<div id="login"> <jdoc:include type="modules" name="login" style="xhtml"/></div>
<div id="search"> <jdoc:include type="modules" name="search" style="xhtml"/> </div>
<div class="clear"></div>
</div>
<div id="header">
<div id="logo"></div>
<div id="primary-nav"> <jdoc:include type="modules" name="mainmenu" style="xhtml"/> </div>
<div class="clr"></div>
<?php if ($viewName=='frontpage') :?>
<div id="home-core-panels">
<div id="home-top-left"><jdoc:include type="modules" name="home-top-left" style="xhtml" /> </div>
<div id="home-top-main">
<div id="home-top-centre"><jdoc:include type="modules" name="home-top-centre" style="xhtml" /></div>
<div id="home-top-right"><jdoc:include type="modules" name="home-top-right" style="xhtml" /></div>
</div>
<div class="clr"></div>
</div>
<?php else :?>
<div id="secondary-nav"><jdoc:include type="modules" name="secondarymenu" style="xhtml"/> </div>
<div id="pathway"><jdoc:include type="modules" name="breadcrumb" style="xhtml"/> </div>
<?php endif; ?>
</div>
<div id="maincontent">
<jdoc:include type="message" />
<?php if ($viewName=='frontpage') : ?>
<div id="leftcolumn"><jdoc:include type="modules" name="left" style="xhtml" /> </div>
<div id="maincolumn">
<div id="centre"><jdoc:include type="modules" name="centre" style="xhtml"/> </div>
<div id="rightcolumn"><jdoc:include type="modules" name="right" style="xhtml"/> </div>
<?php else: ?>
<div id="maincolumn">
<div id="content"><jdoc:include type="component" /> <jdoc:include type="modules" name="footer" style="xhtml"/> </div>
<?php if($this->countModules('right') and JRequest::getCmd('layout') != 'form') : ?>
<div id="rightcolumn"><jdoc:include type="modules" name="right" style="xhtml"/> </div>
<?php endif; ?>
<?php endif;?>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div id="footerspacer"></div>
</div>
<div id="footer">
<p id="syndicate"> <jdoc:include type="modules" name="syndicate" style="xhtml"/> </p>
<p id="power_by"> <?php echo JText::_('Powered by') ?> <a href="http://www.joomla.org">Joomla!</a>. <?php echo JText::_('Valid') ?> <a href="http://validator.w3.org/check/referer">XHTML</a> <?php echo JText::_('and') ?> <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>. </p>
</div>
</div>
<jdoc:include type="modules" name="debug" />
</body>
</html>
Wednesday, July 29, 2009
Build your own Joomla template - creating a blank template
So here we go.
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.
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. Big Mistake!
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 http://docs.joomla.org/Tutorial:Create_a_copy_of_the_MilkyWay_Template 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.
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.
At least now I have some test versions of Beez and Ja_purity which I can play with without causing damage.
In the Joomla 1.0.x days there was a nice little script from http://www.joomlart.com which would generate the templateDetails.xml file so it was easy to package up your template once it was finished. Searching http://extensions.joomla.org 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.
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.
Setting up a new template to work on
There is a very good tutorial on the new wiki http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla!_template. 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.Copying templates to play with
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.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. Big Mistake!
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 http://docs.joomla.org/Tutorial:Create_a_copy_of_the_MilkyWay_Template 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.
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.
At least now I have some test versions of Beez and Ja_purity which I can play with without causing damage.
Generating the template install file
In the Joomla 1.0.x days there was a nice little script from http://www.joomlart.com which would generate the templateDetails.xml file so it was easy to package up your template once it was finished. Searching http://extensions.joomla.org 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.
Wednesday, July 22, 2009
Joomla Templates - build or buy (or use a free one)?
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.
The question is whether to use one of these or build your own.
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.
To explain this further the standard templates that come with a Joomla implementation have the common positions of breadcrumb, left, right, top, user1, user2, user3, user4, footer, debug, syndicate. 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).
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.
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.
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 http://www.diebesteallerzeiten.de. 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.
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.
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.
The question is whether to use one of these or build your own.
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.
Module Positions
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.To explain this further the standard templates that come with a Joomla implementation have the common positions of breadcrumb, left, right, top, user1, user2, user3, user4, footer, debug, syndicate. 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).
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.
Front page layout
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".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.
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 http://www.diebesteallerzeiten.de. 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.
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.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.
Subscribe to:
Posts (Atom)
