Hello Themers!
How do I theme a page based on content type?
I’ve got a site with a few different custom pages and separate .tpl.php
files for their custom layouts and CSS/XHTML. The “Blog” page
is a View with a list of teasers. How do I create a custom .tpl.php file
that only targets the “page” (and layout) that the individual/full blog
entries are displayed on?
The Theme Developer list these as the candidate files:
page-node-#.tpl.php < page-node.tpl.php < page.tpl.php.
But I don’t want to use “page.tpl.php” as
its too broad in its reach and I may decide to add other pages non-blog
pages in the future.
I’ve tried “page-blog.tpl.php” – but
it broke my layout. I still have some unresolved CSS/XHTML issues, so I’m
wondering if “page-blog.tpl.php” is the correct naming
convention, but I just have a few bugs in my code to work out?
A second (less important) question:
Keeping track of all those .tpl.php files is getting
confusing! The Views pages are easy
(“page-blog.tpl.php” or “page-work.tpl.php”
for example), but Theme Developer is telling me that for all pages using the “page”
content type, that I have to style them by their ID
(“page-node-1.tpl.php” for the “about” page). Is
there any way to name a .tpl.php file for a page content type in a more
semantic/meaningful way?
Such as “page-contact.tpl.php” instead of
“page-node-392.tpl.php”
Thanks!
brendan, fresh-off.com
Creative Direction &
Consultation: Web | Print | Brand
206.328.1067