I'm trying to understand what "template freedom" means to me, a visual designer with HTML knowledge and virtually NO PHP experience. Can somebody explain to me what I would need to do in order to take a custom design and make it work with SilverStripe? Do I need to hire a PHP developer?
Have a look at the tutorials ; if all you want to do is create a basic site , you won't really need a lot of PHP expertise. For the more advanced / custom features, a bit of PHP knowledge and a handle on OO concepts comes in handy.
For creating a new look, you'd be looking at developing a theme for your site. Quite a bit of changing can be done with just CSS. For SilverStripe, it's very helpful to learn about their template system (the .ss files) so you can comfortably move things around and/or add new logic to your pages.
If you're looking to extend the functionality of the site then yes, you would be looking at needing to know PHP or hiring that out.
If you get stuck or need assistance with developing a template or with the PHP, I'd be happy to help you out.
The good thing about the templates is, that you basically separate all PHP Code from your HTML and CSS. In my opinion this is an ideal way for designers and programmers, because the designer can freely change the look of the site (by altering the .ss and .css files) without messing with the php code. And if you - as designer - need some custom functionality, you just tell a PHP developer to write that code for you and then you access it in your templates. You could even work with "dummy" HTML code, that is later being replaced by dynamically generated code.
To cut this short: You can create virtually any visual style you want, because you have complete control over XHMTL output and CSS. Even image cropping and resizing can be done within a template.
I have to admit that this kind of template system is indeed a nice way to separate all that code from your layout. And I have to admit, it is one of the best ways. I just stepped into some of the details of SilverStripe CMS, but I am already convinced of many conventions.
And I hate to say that - in the past years - I used some kinds of CMS that weren't optimally separated in question of code and design. I really think that SilverStripe may be one solution to many of the problems I had with creating CMS based websites.
1. I'm way better at HTML than I am at CSS. Will I need to depend on CSS expertise in order to get my custom site up and running, or can I do it all in HTML if that's how I like to do it?
2. I want my navigation to be images with rollover states, rather than HTML text nav. I know this makes no sense from an SEO perspective, but it's what I want. Can I have that with SilverStripe? Is it fairly straightforward?
1. Yes. How you make it is up to you. The template system allows you to code the html/css (or lack thereof) however you want, and just drop in certain variables to show the content.
2. Sure. The easiest way would be to hard code it. If your site has a fixed amount of pages, then design the template in html like you want, and just manually link the pages to the proper URL that you make in the CMS. If you want to be able to create new pages and therefore new image rollovers on the fly, that would be tricky with any content management system.