Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

What tools do people use for building themes / templates?

Go to End

28 Posts   45626 Views


Community Member, 473 Posts

6 March 2008 at 5:43pm

Just like Tatey, I use Smultron for creating .ss files.

For CSS, I use CSSEdit.

I also have the same problems with whitespace, and indentation. Having elements indented like blocks in PHP makes tracking page flow easier, IMHO anyways.


Community Member, 149 Posts

6 March 2008 at 8:56pm

phpDesigner 2008 with all possible add-ons =] VERY powerful. parsing the php code live is nice ;)
as for the .ss files, I have just created a new file type that is parsed similarly to html sites


Community Member, 18 Posts

7 March 2008 at 12:04am

After using the Mac platform for over 6 months now, I've since adopted TextMate based on the recommendations of various developers. I highly recommend it to anyone developing on OS X.


Community Member, 156 Posts

10 March 2008 at 2:41am

Notepad++ for all my coding.


Community Member, 4 Posts

10 March 2008 at 3:05am

eclipse with the Aptana plugin and additional php plug in from Aptana. Its very nice. CSS editing Live PHP error handling and add .SS to Window => preferences => General => Content Types expand >Text and select HTML Source Files to get html code complete. Also comes with built in FTP and full Ajax Server.


Community Member, 63 Posts

20 March 2008 at 8:36am

Exactly the info I was searching for too. I usually use NuSphere PHPEd, but for something like silverstripe, Dreamweaver would be more complete but for two problems that I can't work out:

1. How to let Dreamweaver search through .ss files (or any other non-standard extension)
2. How to setup up Dreamweaver to treat .ss files as HTML with code colouring and auto completion as SLJ stated.

SLJ, can you you comment please?



Community Member, 63 Posts

20 March 2008 at 8:55am

Well, managed to setup SS files to be recognised as HTML in Dreamweaver.

Now just to work out how to colour highlight the ASP style SS tags and why I cannot do a source search in SS files.


Community Member, 105 Posts

14 July 2008 at 2:25pm

Add SS extension to:

C:\Program Files\Adobe\Adobe Dreamweaver CS3\configuration\DocumentTypes\MMDocumentTypes.xml

<documenttype id="HTML" internaltype="HTML" winfileextension="html,htm,shtml,shtm,stm,tpl,lasso,xhtml,ss" macfileextension="html,htm,shtml,shtm,tpl,lasso,xhtml,ssi" file="Default.html" writebyteordermark="false">

Open Up C:\Documents and Settings\<username>\Application Data\Adobe\Dreamweaver 9\Configuration\CodeColoring\CodeColoring.xml

Paste the following between in the top under the <codeColoring> tag

<scheme name="SilverStripe Template" id="SilverStripe_Template" priority="21">

	<blockStart name="Block Delimiter" id="CodeColor_PHPScriptBlock" doctypes="HTML" scheme="customText"><![CDATA[<%]]></blockStart>

	<brackets name="Bracket" id="CodeColor_JavaBracket"><![CDATA[([])]]></brackets>

	<commentStart name="Comment" id="CodeColor_PHPScriptComment"><![CDATA
  • ]></commentStart> <commentEnd><![CDATA
  • ]></commentEnd> <defaultText name="Text" id="CodeColor_PHPScriptVariables" /> <defaultTag name="Other Tags" id="CodeColor_PHPScriptVariables" /> <defaultAttribute /> <stringStart name="String" id="CodeColor_PHPScriptString"><![CDATA["]]></stringStart> <stringEnd><![CDATA["]]></stringEnd> <stringStart><![CDATA[']]></stringStart> <stringEnd><![CDATA[']]></stringEnd> <stringEsc><![CDATA[\]]></stringEsc> <operators name="Operator" id="CodeColor_PHPScriptOperator"><![CDATA[+-*/%<>!?:=~^`.]]></operators> <numbers name="Number" id="CodeColor_PHPScriptNumber" /> <idChar1>_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</idChar1> <idCharRest name="Identifier" id="CodeColor_PHPScriptIdentifier">_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</idCharRest> <keywords name="Reserved Keywords" id="CodeColor_PHPScriptReserved"> <keyword>if</keyword> <keyword>end_if</keyword> <keyword>else</keyword> <keyword>else_if</keyword> <keyword>control</keyword> <keyword>end_control</keyword> <keyword>base_tag</keyword> </keywords> <keywords name="Variables" id="CodeColor_PHPScriptVariables"> <keyword>$Title</keyword> <keyword>$Link</keyword> <keyword>$XML</keyword> <keyword>$Parent</keyword> <keyword>$Form</keyword> <keyword>$Content</keyword> <keyword>$LinkingMode</keyword> <keyword>$LinkOrCurrent</keyword> <keyword>$LinkOrSection</keyword> <keyword>$MetaTags</keyword> <keyword>$URLSegment</keyword> <keyword>$Now</keyword> <keyword>$Created</keyword> <keyword>$LastEdited</keyword> <keyword>$Pos</keyword> <keyword>$TotalItems</keyword> <keyword>$Top</keyword> <keyword>$SeachResults</keyword> <keyword>$PageNum</keyword> </keywords> <keywords name="Functions" id="CodeColor_PHPScriptFunctionsKeywords"> <keyword>Menu</keyword> <keyword>ChildrenOf</keyword> <keyword>Children</keyword> <keyword>AllChildren</keyword> <keyword>Parent</keyword> <keyword>Breadcrumbs</keyword> <keyword>CurrentMember</keyword> <keyword>PastMember</keyword> <keyword>PastVisitor</keyword> <keyword>Nice</keyword> <keyword>Year</keyword> <keyword>Ago</keyword> <keyword>Even</keyword> <keyword>Odd</keyword> <keyword>EvenOdd</keyword> <keyword>First</keyword> <keyword>Last</keyword> <keyword>Middle</keyword> <keyword>FirstLast</keyword> <keyword>ClassName</keyword> <keyword>SearchResults</keyword> <keyword>MoreThanOnePage</keyword> <keyword>Nextlink</keyword> <keyword>PrevLink</keyword> <keyword>CurrentPage</keyword> <keyword>TotalPages</keyword> <keyword>TotalItems</keyword> <keyword>Pages</keyword> <keyword>CurrentBool</keyword> <keyword>UL</keyword> </keywords> <sampleText doctypes="HTML,SS"><![CDATA[]]></sampleText> </scheme>

The above rules are a work in progress and a probably not entirely correct but is a good start.

If anyone improves on this please post back here.