<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nooshu &#187; CMS Archives </title>
	<atom:link href="http://nooshu.com/tag/cms/feed" rel="self" type="application/rss+xml" />
	<link>http://nooshu.com</link>
	<description>Kneeling on the shoulders of giants</description>
	<lastBuildDate>Fri, 20 Jan 2012 11:38:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Drupal Love! Stuff I&#8217;ve learnt!</title>
		<link>http://nooshu.com/drupal-love-stuff-ive-learnt?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=drupal-love-stuff-ive-learnt</link>
		<comments>http://nooshu.com/drupal-love-stuff-ive-learnt#comments</comments>
		<pubDate>Thu, 09 Sep 2010 21:47:13 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1372</guid>
		<description><![CDATA[A little bit of Drupal knowledge goes a long way! This amazing open source CMS allows you to build large scale websites easily.]]></description>
			<content:encoded><![CDATA[<p>I created a <a href="http://nooshu.com/new-to-drupal-here-are-a-few-helpful-links/">post a couple of months ago</a> about how I was learning <a href="http://drupal.org/">Drupal</a> for an up and coming project; well that project finally went live this week. Huzzah! It wasn&#8217;t all smooth sailing; there was lots of trial and error, head scratching and a few mini panics, but I got there in the end. It&#8217;s amazing what you learn over the course of a project. Any future Drupal projects will be so much quicker and easier to setup due to the fact that I now actually know how to use Drupal!</p>
<p>So anyway here are a few things I learnt along the way:</p>
<ul>
<li>There are some <a href="http://drupal.org/node/190815">very simple yet powerful</a> templating rules you can use to style your website. Learning how they work will really help you style specific pages and blocks.</li>
<li>Looking for some functionality that is missing by default? I bet there&#8217;s already a module that does the job. Check out <a href="http://drupalmodules.com/">Drupal modules</a>, this excellent website lists and rates thousands of Drupal modules which you can install and use.</li>
<li>If you do find a module that adds the functionality you need, double check that there aren&#8217;t other modules about that do it better. Since Drupal has been around for some time, many modules haven&#8217;t been updated in quite a while so they may just be occupying the name space. It&#8217;s always best to check before you dive into using one particular module as it may not always be the best route to take.</li>
<li>Learn how to use the <a href="http://drupal.org/project/cck">Content Construction Kit</a> (CCK). If you are missing a type of CCK field, look for an additional module; I&#8217;m sure there will be one you can install that does the job. You really can make content types do anything you want with CCK.</li>
<li>Learn how to use the <a href="http://drupal.org/project/views">Views module</a>. I really can&#8217;t express this point enough. The Views module is without a doubt one of the most powerful additions to any CMS I&#8217;ve ever come across. With it you can take any content and display it however you like on a page. The layout is a little intimidating at first, but once you get your head round it you will have a dynamic site up and running in no time at all.</li>
<li>Install the <a href="http://drupal.org/project/imagecache">ImageCache module</a>. It ties in with both CCK and Views allowing you to upload and display images on your site however you need to. If you add a new image preset the module will automatically iterate over old images so you never have to go in and manually adjust images if you change your site design / functionality.</li>
<li>One thing I missed from Drupal was the ability to add parent / child nodes. Luckily theres a module called <a href="http://drupal.org/project/nodehierarchy">Node Hierarchy</a> that will add this functionality. It even handles the breadcrumbs and Views for you. <strong>Note</strong>: Make sure you don&#8217;t have &#8216;Taxonomy breadcrumb&#8217; enabled with Node Hierarchy as the breadcrumbs won&#8217;t work. I learnt that the hard way!</li>
</ul>
<p>Hopefully other budding Drupal users found the tips helpful. I&#8217;m still a Drupal novice, but now I know the basics the site possibilities are endless.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/drupal-love-stuff-ive-learnt/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aloha Editor &#8211; Content editing the HTML5 way</title>
		<link>http://nooshu.com/aloha-editor-content-editing-the-html5-way?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aloha-editor-content-editing-the-html5-way</link>
		<comments>http://nooshu.com/aloha-editor-content-editing-the-html5-way#comments</comments>
		<pubDate>Tue, 17 Aug 2010 20:25:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1358</guid>
		<description><![CDATA[There are many ways to edit and update content on a website, but none of them look quite a easy as Aloha Editor.]]></description>
			<content:encoded><![CDATA[<p>The number of times I&#8217;ve built a website based on a CMS only to have the client utter the words &#8220;Oh I&#8217;m confused, it&#8217;d be so much quicker if you made the changes&#8221;. Right, so the CMS was a bit of a waste of time then! But fingers crossed thanks to <a href="http://aloha-editor.com/">Aloha Editor</a> that may be a thing of the past. Often the problem clients have is actually finding the content that needs to be edited in the CMS; Aloha to the rescue!</p>
<p>What Aloha actually does is make the content editable right on the page; no need to jump into the CMS, find the page, make the changes then preview the result. Just click on the text you wish to edit and type away. Done! It&#8217;s hard to believe it actually works until you try it. Why not give it a go on their <a href="http://aloha-editor.com/demos/aloha-world-example/">demo page</a>. It incorporates a few HTML5 technologies which could cause issues with older IE versions, but the demo page seems to work (with a few quirks).</p>
<div id="attachment_1360" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/08/aloha-editor-demo.gif"><img src="http://nooshu.com/wp-content/uploads/2010/08/aloha-editor-demo-518x308.gif" alt="An example of Aloha Editor in action" title="aloha-editor-demo" width="518" height="308" class="size-medium wp-image-1360" /></a><p class="wp-caption-text">Quickly and easily edit the demo webpage.</p></div>
<p>The core has been written to be very small and streamlined, with additional functionality being added by the way of user contributed plug-ins. There&#8217;s already an <a href="http://www.aloha-editor.com/api/">extensive API</a> for developers to play with so I&#8217;m sure many of the missing features will be plugged very soon.</p>
<p>There are alternatives about such as <a href="http://tinymce.moxiecode.com/">TinyMCE</a> and <a href="http://ckeditor.com/">CKEditor</a>, but they&#8217;re integrated directly into a CMS&#8217; administration pages rather than as an inline editor like Aloha. Now before you get too excited there are a few cons:</p>
<ul>
<li>It isn&#8217;t as simple as just dropping the scripts into a page, it needs to be integrated into a backend system for the changes to be saved.</li>
<li>Still in early development so could be quite buggy.</li>
<li>Doesn&#8217;t work with Opera Browser at the moment but this is being worked on.</li>
<li>Some features aren&#8217;t available yet, like image / media insertion. But I&#8217;m sure these will be developed as it matures.</li>
</ul>
<p>So there are still a few issues to iron out but it all looks very promising! There were even murmurs on Twitter today about a WordPress plug-in and a Drupal v7 module (not 6 though I presume) in development. So it won&#8217;t be long before we&#8217;ll be able to try it out on a live site; hopefully it&#8217;s also simple enough for clients to use too!</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/aloha-editor-content-editing-the-html5-way/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Looking for a new CMS for small websites</title>
		<link>http://nooshu.com/looking-for-a-new-cms-for-small-websites?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=looking-for-a-new-cms-for-small-websites</link>
		<comments>http://nooshu.com/looking-for-a-new-cms-for-small-websites#comments</comments>
		<pubDate>Thu, 15 Jul 2010 09:16:16 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[small]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1264</guid>
		<description><![CDATA[I've had a couple of security scares with FrogCMS recently so have decided to look for another small CMS solution.]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been looking at other small CMS solutions for future projects. For a while now I&#8217;ve been using <a href="http://www.madebyfrog.com/">Frog CMS</a>; unfortunately development seems to have stopped which is a shame. At the weekend I stumbled across quite a <a href="http://www.madirish.net/?article=227">major security concern</a> with Frog involving a Cross-site request forgery (CSRF). Using Google it is even possible to find ready to be used scripts (which I won&#8217;t link to here). Being hacked using CSRF is unlikely to happen as it requires a user who regularly uses the site to click on a rogue link, but even so it&#8217;s quite concerning.</p>
<p>Now I could keep using Wolf CMS (which is a variation on Frog) but my thoughts are why keep all your eggs in one basket. If Frog is vulnerable then its likely that Wolf will be too. So time to look about for a new small CMS.</p>
<p>The CMS will be used for very small websites (5 &#8211; 20 pages) where MODx, Drupal and WordPress are just overkill; It gets updated regularly and is based on PHP / MySQL. I&#8217;ve been having a search and have found a few that look really promising:</p>
<h3><a href="http://textpattern.com/">Textpattern</a></h3>
<p>Very clean looking CMS (love the typography on its homepage&#8230; not that it matters) and having tried the <a href="http://php.opensourcecms.com/scripts/details.php?scriptid=86&#038;name=Textpattern">demo</a> I can see the admin interface is simple to use and all the features are easy to find. I think the admin area needs a little work in terms of design, but the comments on Opensourcecms all seem to be very positive so I&#8217;ll definatly be installing it locally and having a closer look.</p>
<div id="attachment_1269" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/07/textpattern-cms.gif"><img src="http://nooshu.com/wp-content/uploads/2010/07/textpattern-cms-518x432.gif" alt="Text pattern homepage" title="textpattern-cms" width="518" height="432" class="size-medium wp-image-1269" /></a><p class="wp-caption-text">A flexible, elegant and easy-to-use CMS. We shall see!</p></div>
<h3><a href="http://www.concrete5.org/">Concrete5</a></h3>
<p>Another interesting CMS, the video on the homepage makes it look like some sort of action movie, maybe a little over the top but whatever. I was unable to find a live demo of the CMS unfortunately, but the screencasts from the video looked very promising. There&#8217;s also an option of Concrete5 hosting the CMS, which removes the (sometimes) tricky setup process; great for non-technical people.</p>
<div id="attachment_1272" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/07/concrete5.jpg"><img src="http://nooshu.com/wp-content/uploads/2010/07/concrete5-518x437.jpg" alt="concrete5 homepage" title="concrete5" width="518" height="437" class="size-medium wp-image-1272" /></a><p class="wp-caption-text">Dramatic homepage video, but how well does it work? Live demo please!</p></div>
<h3><a href="http://www.cmsmadesimple.org/">CMS Made Simple</a></h3>
<p>Of the new CMS&#8217; I&#8217;ve looked at CMS Made Simple is my favorite. The <a href="http://www.opensourcecms.com/demo/2/10/CMS+Made+Simple">live demo</a> looked good with a very intuitive administrator area. Some of the comments on Opensourcecms were quite negative; so I&#8217;ll have to do some testing of the installation and template system before I commit to building a live site with it.</p>
<div id="attachment_1274" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/07/cmsmadesimple.jpg"><img src="http://nooshu.com/wp-content/uploads/2010/07/cmsmadesimple-518x374.jpg" alt="CMS Made Simple homepage" title="cmsmadesimple" width="518" height="374" class="size-medium wp-image-1274" /></a><p class="wp-caption-text">Some negative comments but it looks very promising.</p></div>
<p>For my next small project I&#8217;ll be using one of these small CMS&#8217;, but which one will it be? When i decide I&#8217;ll be sure to update you. Got any other suggestions? Why not leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/looking-for-a-new-cms-for-small-websites/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>New to Drupal? Here are a few helpful links</title>
		<link>http://nooshu.com/new-to-drupal-here-are-a-few-helpful-links?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-to-drupal-here-are-a-few-helpful-links</link>
		<comments>http://nooshu.com/new-to-drupal-here-are-a-few-helpful-links#comments</comments>
		<pubDate>Tue, 13 Jul 2010 08:23:48 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[links]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1246</guid>
		<description><![CDATA[Decided to dip my toe in the murky world of the Drupal CMS (it's not that murky really), lots to learn about this very powerful framework. Here are a few links that fellow beginners may find useful. ]]></description>
			<content:encoded><![CDATA[<p>For the past week or so I&#8217;ve been expanding my horizons and started using a new CMS (to me at least), it&#8217;s name is <a href="http://drupal.org/">Drupal</a>. Now Drupal has been around for many years, originally known as &#8216;Drop&#8217; until it was renamed to &#8216;Drupal&#8217; in 2001. The CMS is now on version 6 (with alpha versions of 7 available from the download page). As I&#8217;ve only just started using this extremely powerful CMS I thought I&#8217;d put together a quick list of links and tips of what I&#8217;ve learnt so far. Hopefully other beginners like myself will find them useful.</p>
<h3>Screencasts</h3>
<ul>
<li><strong>Lynda.com</strong>: I can&#8217;t stress enough how useful <a href="http://www.lynda.com/">Lynda.com</a> has been while learning Drupal (or any other piece of software for that matter). It has <a href="http://www.lynda.com/home/ViewCourses.aspx?lpk0=413">3 superb sets of screencasts</a> available that will take you from a complete beginner a fairly competent Drupal developer. They aren&#8217;t free but they are well worth the money!</li>
<li><strong>Learn by the Drop</strong>: Another set of <a href="http://learnbythedrop.com/gettingstarted">brilliant screencasts</a> that you can use to get up to speed on how to use Drupal. The site contains both premium and free videos for the &#8216;want to be&#8217; Drupal developer.</li>
</ul>
<h3>Websites</h3>
<ul>
<li><strong>Stack Overflow</strong>: Now I know this is a bit of a catch-all site as it can be used for any programming language, but you will often find many questions you have, have already been answered on <a href="http://stackoverflow.com/">Stack Overflow</a>. The Drupal specific questions are available <a href="http://stackoverflow.com/questions/tagged/drupal">here</a>.</li>
<li><strong>Drupal Snippets</strong>: <a href="http://drupalsnippets.com/">Drupal Snippets</a> is a whole site dedicated to&#8230;. erm&#8230; snippets for Druplal. I must admit I&#8217;ve yet to use the site, but I bookmarked it as soon as I found it as I&#8217;m sure it will come in extremely useful after learning the basics.</li>
</ul>
<h3>Modules</h3>
<ul>
<li><strong>CCK</strong>: Download and install this module and developing dynamic websites in Drupal becomes so (so!) much easier. <a href="http://drupal.org/project/cck">CCK (Content Construction Kit)</a> is a module that expands Drupals native Custom Content Types functionality opening a whole world of possibilities for your site and users. In essence CCK makes it easier to &#8216;push&#8217; data into your site in any way you see fit. It&#8217;s even being included into the core of Drupal 7.</li>
<li><strong>Views</strong>: Over the past couple of days I&#8217;ve been blown away by the power and versatility of the <a href="http://drupal.org/project/views">Views module</a>. Where CCK is used to push data into your site database, Views &#8216;pulls&#8217; the data back out and display it in any format you like. It&#8217;s quite intimidating at first as there are tonnes of options and settings, but once you get your head around it, the Drupal world is your oyster. A free screencast on how to use it is available <a href="http://learnbythedrop.com/drop/22">here</a>.</li>
<li><strong>Pathauto</strong>: Coming from WordPress I&#8217;m used to its fantastic permalink functionality, once setup it just works. Drupal doesn&#8217;t seem to come bundled with anything similar (please correct me here if I&#8217;m wrong!) so installing the <a href="http://drupal.org/project/pathauto">Pathauto module</a> will plug that gap. The module automatically generates a path for various content types without you having to worry about it.</li>
</ul>
<h3>Themes</h3>
<ul>
<li><strong>Zen</strong>: If you are a Front End Developer like myself you will be wanting a solid foundation with which to build and style your site. You could just edit one of the bundled themes if that&#8217;s your thing, but I prefer to start a fresh. The <a href="http://drupal.org/project/zen">Zen theme</a> is a fantastic theme with which to base your styling off. One big tip, don&#8217;t edit the main Zen folder, create a sub-theme by <a href="http://drupal.org/node/226507">following these directions</a> (I learnt that the hard way).</li>
</ul>
<p>So there you go, hopefully fellow Drupal beginners will find the links above useful. Any that I&#8217;ve missed off or that you&#8217;d recommend? Leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/new-to-drupal-here-are-a-few-helpful-links/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wolf CMS: A fork of Frog CMS</title>
		<link>http://nooshu.com/wolf-cms-a-fork-of-frog-cms?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wolf-cms-a-fork-of-frog-cms</link>
		<comments>http://nooshu.com/wolf-cms-a-fork-of-frog-cms#comments</comments>
		<pubDate>Sun, 09 May 2010 17:41:47 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[frogcms]]></category>
		<category><![CDATA[wolfcms]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=1108</guid>
		<description><![CDATA[I've used Frog CMS on small projects in the past and have been very impressed, but there looks to be a fork on the horizon...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written about my <a href="http://www.madebyfrog.com/">Frog CMS</a> usage in <a href="http://nooshu.com/frog-cms-nice-and-simple-cms/">previous blog posts</a>; where other CMS&#8217;s can be a little overkill for small websites, Frog CMS fits perfectly into the gap. Unfortunately as much as I like Frog, the development seems to have stopped. The last stable version was released on the 26th April 2009, over a year ago. There&#8217;s no need to panic though, a development fork has been created called <a href="http://www.wolfcms.org/">Wolf CMS</a> which is building upon this superb little CMS and making it even better!</p>
<p>At the moment there&#8217;s very little difference between Frog and Wolf as you might expect, so migrating from one to the other is fairly simple, a wiki page has been created with instructions on <a href="http://www.wolfcms.org/wiki/migrating_from_frog_to_wolf_cms">how to do this</a>. As it says on the page it&#8217;s probably best to decide between the two versions now since there&#8217;s still little difference between them, but this could change in future versions (version 0.6.0 introduced a number of large changes). So there may be a point where it isn&#8217;t (easily) possible to jump between the two versions.</p>
<p>So what are the differences at the moment? When version 0.6.0 of Wolf CMS was released on the 1st February it added a new core plug-in called &#8216;BackupRestore&#8217;, allowing admin users to easily backup the Wolf CMS core DB tables. I&#8217;ve been using an external plug-in to do this on sites I built, so having this feature added as a core plug-in is nifty addition. Other features include:</p>
<ul>
<li>Admin users can now uninstall plug-ins, including the db tables</li>
<li>HTTPS Support added to the admin area for greater security</li>
<li>You can now preview a page before it is published</li>
</ul>
<p>It&#8217;s great to see that such a useful little CMS hasn&#8217;t been left to stagnate and die out, the <a href="http://www.wolfcms.org/about/project-roadmap.html">roadmap</a> for Wolf CMS looks promising, so fingers crossed it has a bright future ahead of it. I think it&#8217;s time to migrate my Frog websites over to Wolf&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/wolf-cms-a-fork-of-frog-cms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Frog CMS Magic</title>
		<link>http://nooshu.com/more-frog-cms-magic?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-frog-cms-magic</link>
		<comments>http://nooshu.com/more-frog-cms-magic#comments</comments>
		<pubDate>Mon, 08 Feb 2010 09:09:40 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[frogcms]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=239</guid>
		<description><![CDATA[Frog CMS can be made even simpler to implement with a couple of handy little code snippets.]]></description>
			<content:encoded><![CDATA[<p>Over the weekend I was working working on a small website build that required a simple CMS so I decided to put <a href="http://www.madebyfrog.com/">Frog CMS</a> to use again; it continues to impress me. What at first looks like a very simple CMS actually has a powerful API behind it.</p>
<p>First thing I had to do (for my own sanity) was move the layout template outside of the CMS and into an external file. This gives you 2 advantages, you get to use whatever code editor you usually use to edit the template, and the file is then exposed so it can be committed to version control like any other file. It is simple to do with some very basic PHP:</p>
<div class="codecolorer-container php default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'DOCUMENT_ROOT'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/public/themes/yout-theme-directory/layout-template.inc.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Paste that code in to your layout with a content type of &#8220;text/html&#8221; and you are done.</p>
<p>The second code snippet allows you to generate a specific ID and class for every page; great if you need some CSS style / JavaScript hooks on different pages.</p>
<div class="codecolorer-container php default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>url_match<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$bodyID</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;home&quot;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span><span style="color: #339933;">:</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$bodyID</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;page-&quot;</span><span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">slug</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parent</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">slug</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;services&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$bodyClass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;event&quot;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span><span style="color: #339933;">:</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$bodyClass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>The first if else statement simply sets the home ID to &#8220;home&#8221; then every other page to &#8220;page-slug-name-here&#8221; (slug is set in the &#8216;Meta&#8217; tab). The second one I use on &#8216;article&#8217; pages; it simply says if the current page has a parent and its parent is the services page add a class of &#8220;event&#8221;. So now I can style every article page in the same way, and it&#8217;s safe for a client to add event pages themselves.</p>
<p>You may ask why the &#8220;$this->parent()&#8221;; this is to stop the site breaking when you hit the home page since the homepage has no parent, it is the parent of all other pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/more-frog-cms-magic/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frog CMS &#8211; Nice and simple CMS</title>
		<link>http://nooshu.com/frog-cms-nice-and-simple-cms?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=frog-cms-nice-and-simple-cms</link>
		<comments>http://nooshu.com/frog-cms-nice-and-simple-cms#comments</comments>
		<pubDate>Wed, 03 Feb 2010 13:59:46 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[frog]]></category>
		<category><![CDATA[simple]]></category>

		<guid isPermaLink="false">http://nooshu.com/?p=200</guid>
		<description><![CDATA[Searching for a simple CMS for a client? Why not give Frog CMS a try.]]></description>
			<content:encoded><![CDATA[<p>You often find that most small websites that require a CMS don&#8217;t require all the features that some of larger solutions offer. While the likes of <a href="http://modxcms.com/">MODx</a>, <a href="http://expressionengine.com/">Expression Engine</a> and even <a href="http://wordpress.org/">WordPress</a> are amazing platforms to work from, they can be a little overkill for very small sites. (WordPress isn&#8217;t strictly a CMS, but it can be hacked to perform similar actions).</p>
<p>I decided to look for a simple solution; that&#8217;s when <a href="http://www.madebyfrog.com/">FrogCMS</a> popped up. It&#8217;s free, open-source and very simple to setup. Upload to your server, create your MySQL database with relevant privileges, run the install script and there you go. A big plus point with Frog is the administration page is very straight forward to use, so even the most technophobic client shouldn&#8217;t have a problem editing their pages.</p>
<div id="attachment_203" class="wp-caption alignnone" style="width: 528px"><a href="http://nooshu.com/wp-content/uploads/2010/02/FrogCMS-Admin.gif"><img src="http://nooshu.com/wp-content/uploads/2010/02/FrogCMS-Admin-518x250.gif" alt="Admin shot of Frog CMS" title="Frog CMS - Admin" width="518" height="250" class="size-medium wp-image-203" /></a><p class="wp-caption-text">Clean and simple administration area.</p></div>
<p>The templating system is a breeze to use if you know a bit of basic PHP. For example say you want to add a main navigation that automatically updates as you add pages:</p>
<div class="codecolorer-container php default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;ul id=&quot;mainNav&quot;&gt;<br />
&nbsp; &nbsp; &lt;li id=&quot;first&quot;&gt;&lt;a<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> url_match<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">' class=&quot;active&quot;'</span><span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> URL_PUBLIC<span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$menu</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;li&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$menu</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">link</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$menu</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$menu</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">slug</span><span style="color: #339933;">,</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">' class=&quot;active&quot;'</span><span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/li&gt;<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> <br />
&lt;/ul&gt;</div></td></tr></tbody></table></div>
<p>The &#8216;foreach&#8217; just loops through the children off the main site route and generates the navigation as an unordered list. Defining editable areas in a layout is just as simple:</p>
<div class="codecolorer-container php default customCodeColor" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">//Add a snippet<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">includeSnippet</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'top-navigation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<br />
//Add your main page content<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<br />
//Add another area of content called 'sidebar'; Controlled via a tab on the page admin. <br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sidebar'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
<br />
//Test to see if we have content, then show<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hasContent</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sidebar'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sidebar'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Even with just those simple lines of code it is possible to create a dynamic user managed website. If it doesn&#8217;t do exactly what you want you could always write a <a href="http://www.madebyfrog.com/extend.html">plugin </a> to fill the gap. </p>
<p>The only negative point I have to say is that it doesn&#8217;t seem to get updated very often, but for most projects that shouldn&#8217;t be a problem as it&#8217;s already has a solid code base with lots of <a href="http://forum.madebyfrog.com/">support</a> and <a href="http://www.madebyfrog.com/docs.html">docs</a> available.</p>
]]></content:encoded>
			<wfw:commentRss>http://nooshu.com/frog-cms-nice-and-simple-cms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

