Reputation: 4446
I am working on developing a drupal site right now. I have created a custom homepage and it works fine with a module called (front page). However, I need to create a custom page for an internal page. Meaning, I need to have a different design than the general drupal theme I have right now but I am not sure how to do that (in an easy way that wouldn't take much time). I have the design in HTML and CSS ready but i just need to have something like (custom page) in the menu so when i click on it it takes me to that design (not external link though!)
I hope this was not confusing but if you have any questions I will be glad to answer them.
Thank you for your help in advance :)
Upvotes: 13
Views: 28034
Reputation: 60413
If you simply need a different template for ALL internal pages and one for the front page you can just use page.tpl.php (thats for internal/default pages) and page-front.tpl.php (for the front page).
Otherwise, there isn't a "quick and easy" way to do that. However, there are multiple ways. Read the theming guide as Aaron suggests and figure out what best meets your needs.
Upvotes: 0
Reputation: 87
You can use the module Themekey which is a generic theme switching module.
If you want to switch the theme
then ThemeKey is probably worth a try.
Another solution is to use a preprocess function and change the 'theme' keyword in the variables.
Upvotes: 0
Reputation: 4446
So the solution is have something like :
page-node-7.tpl.php
for page that has a path of (node/7) for example. And then it will load that page instead of the drupal page node/7
Thanks everyone :)
Upvotes: 3
Reputation: 33265
For a single page, you can create whatever html you like with drupal, using
Since you want a unique layout you want to look into a custom page.tpl.php. You can create a page.tpl.php for any url, which will allow you to modify the entire page html for that page, or just tweak it here and there.
Drupal has a quite flexible theming system, so there are many ways to change the markup. All of this stuff would need to go into your theme or a module.
You will still have the css files that are used in the drupal site.
If your aim is to create one on only on page, with different layout ect, the quickest and easiest way, would be to create our own page.tpl.php file, and just write all your html in there and forget what Drupal can do. It's not generally a best practice, but in this case, doing stuff with the flexibility of Drupal might be a bit overkill, especially if you don't know Drupal well. You could possibly with the page template naming convention do this aproach, just adding a file with your markup in your theme. This approach would be good for a static site, but can also be done with a bit more effort for other pages. If you want to use a lot of modules, this wont be the solution for you. You should instead look at the theming functions / template.php and what can be done there.
If your aim is to create a backend theme, drupal has several modules for this, the most used these days is probably the admin module. Even if this is not your aim, this is a great module to make your backend a bit more user friendly.
Upvotes: 15
Reputation: 2689
Unfortunately there's not really any way to do it "in an easy way that wouldn't take much time". If you want to theme your site you have to learn to theme. How long it takes you will depend on how much you want to deviate from the default theme templates. Here's a good place to start reading: http://drupal.org/theme-guide/6
Also, you may want to consider the Zen theme as a base theme. It will help you follow best practices. http://drupal.org/project/zen
Upvotes: 0