List of all topics

Last modified: August 23, 2009 - 14:40

This is a flat list of all topics in the Theming Guide generated by a web crawler at the time of this post. It gives us an unstructured overview of the whole handbook while the navigation links in the sidebar provides a hierarchy view.

You are welcome to use this list creatively and give your comments and suggestions.

  1. Theming guide
  2. About theming
  3. Theming without code
  4. Understanding CSS in Drupal
  5. Drupal 6 theme guide
  6. Anatomy of a Drupal 6 theme
  7. Specifying theme components and settings
  8. Sub-themes, their structure and inheritance
  9. Structure of the .info file
  10. Default .info values
  11. Assigning content to regions
  12. Checking to see if a region is occupied
  13. Making settings available to the administration page
  14. Advanced theme settings
  15. Integrating color module
  16. Clearing the theme cache
  17. Working with CSS
  18. Adding style sheets
  19. Adding styles through the API
  20. Overriding style sheets from modules and base themes
  21. Standard Drupal core styles and classes
  22. Supporting "right to left" (RTL) languages
  23. Overriding themable output
  24. Beginners guide to overriding themable output
  25. About overriding themable output
  26. Setting up variables for use in a template (preprocess functions)
  27. Default baseline variables
  28. Customizing and Overriding User Login page, Register, and Password Reset in Drupal 6
  29. Introduction to PHP for theming
  30. The theme registry for special cases
  31. Working with template suggestions
  32. Core templates and suggestions
  33. Architectural view of theming
  34. Theming with contributed modules
  35. Working with JavaScript and jQuery
  36. Drupal 5 and earlier theme guide
  37. Theming overview
  38. Regions in themes
  39. PHPTemplate theme engine
  40. Creating a new PHPTemplate
  41. Block.tpl.php
  42. Add an "Edit this Block" link
  43. Theming blocks individually, by region, or by module
  44. Alternative templates for different block types (4.7)
  45. Box.tpl.php
  46. Comment.tpl.php
  47. Node.tpl.php
  48. Theming nodes by content type
  49. Theming the Node Teaser
  50. Example: Theming a Specific CCK Content Type
  51. Separate node template for a specific node
  52. Theming Organic Groups Home Page Nodes
  53. Node Templates for Flexinode Content Types
  54. $page==0 or $is_front
  55. Page.tpl.php
  56. $layout (drupal 5.x) and $body_classes (drupal 6.x)
  57. How to Call Additional CSS Files
  58. Using different page templates depending on the current path
  59. Customizing themes for node types, terms, sections, paths, and front page (4.x)
  60. How to generate <body> class/id attributes for each page
  61. Node matches primary menu link
  62. Different node templates depending on URL aliases
  63. Different page templates depending on URL aliases
  64. Different page templates depending on node type
  65. Making additional variables available to your templates
  66. Regions in PHPTemplate
  67. XTemplate to PHPTemplate conversion
  68. template.php: Overriding other theme functions
  69. Custom Theme the maintenance ("Site Offline") page
  70. Doing CSS aggregation in your theme
  71. Example: Hide Log Message
  72. Not including drupal.css
  73. Replace the Feed (RSS) icon with a custom image
  74. Making a theme customizable
  75. Colorizing a theme from a PSD with color.module
  76. Practical Example: Changing Garland
  77. Theming with contributed modules
  78. Using Theme Override Functions
  79. Using Theme Override Functions For Forms
  80. Other theme engines
  81. XTemplate theme engine
  82. Creating a new XTemplate
  83. Template basics
  84. HOWTO: Allow PHP in primary links in XTemplate
  85. Header section
  86. now a contrib module
  87. Node section
  88. Comment
  89. Blocks
  90. Footer
  91. Editing with Golive
  92. Plain PHP themes
  93. Smarty theme engine
  94. Installing Smarty theme engine
  95. 'templates_c' Directory Permissions
  96. Customizing Smarty Themes
  97. Making additional variables available to your templates
  98. smartytemplate.php: Your theme's powerhouse
  99. Converting a theme to a later Drupal version
  100. Converting 6.x themes to 7.x
  101. Converting 5.x themes to 6.x
  102. Converting 4.7.x themes to 5.x
  103. Drupal 7 theme guide
  104. Tools, best practices and conventions
  105. Safe theme development
  106. Theme coding conventions
  107. Theming the Drupal 6 maintenance page
  108. Adding your theme to Drupal.org
  109. Accessibility
  110. Validation
  111. Semantics, Structure and Presentation
  112. Navigation
  113. Images and Media
  114. Color and Contrast
  115. Fonts
  116. Designing Accessibility into Themes
  117. JavaScript and AJAX
  118. Tutorials and Tips
  119. Accessible Techniques for Hiding Content
  120. Adding WAI-ARIA landmark roles with jQuery
  121. Skip Navigation
  122. Accessibility 11 Point Checklist
  123. Recommended target browsers
  124. Creating a screenshot for the administration page
  125. Making your theme semantically correct
  126. HTML and CSS techniques and tools
  127. Image Stretch in Internet Explorer
  128. Doctype, XML, and XHTML
  129. Contributed themes
  130. Types of Contributed Themes
  131. Starter Themes
  132. Acquia Marina
  133. Acquia Slate
  134. Blueprint
  135. Chai Garam
  136. Decayed
  137. Genesis Starter Theme
  138. Subtheme Setup
  139. Setting up your layout
  140. Theming Site Sections
  141. Gpanels
  142. IE Conditional Styles
  143. Theming the Maintenance Page
  144. Accessibility Features
  145. Genesis Starter Subthemes Compared
  146. Known Issues
  147. Collapsiblock and Feedback Module Issues
  148. Theme Developer Module Breaks the Layout
  149. Genesis 6.x-1.x Docs (deprecated)
  150. The 7 Layouts (6.x-1.x)
  151. Newswire
  152. RootCandy
  153. Zen
  154. Why use Zen?
  155. Testimonials
  156. Feature list (5.x)
  157. Getting started (5.x)
  158. How to build your own sub-theme (5.x)
  159. Shell Script to build sub-theme
  160. Using the Views Theme Wizard (5.x)
  161. Getting started (6.x)
  162. How to build your own sub-theme (6.x)
  163. Automated ways to build a sub-theme (6.x)
  164. Upgrading Zen
  165. Layout methods used in Zen's CSS
  166. Contributing Zen sub-themes
  167. Version history of Zen
  168. Troubleshooting
  169. SiteZen builder causes "Page not found" errors for images, css, etc.
  170. Zero Point
  171. Subtheming Quick and Dirty
  172. Theme HowTos
  173. Add "first" and "last" classes on blocks
  174. Add "first" and "last" classes on list view LI's
  175. Add "first" and "last" classes on menu blocks
  176. Isolate a specific menu item with $mid
  177. Add Default Menu to node without menu
  178. Add Regions to your Frontpage
  179. Front page blocks for plain PHP themes
  180. Change the favicon
  181. Clearing floats with class="clear-block"
  182. Convert XHTML template to Drupal theme in 5
  183. Convert any website layout or template into a Drupal theme - easily!
  184. Create a CSS-Only Theme
  185. Create a Views event list grouped by month
  186. Create a custom user login bar
  187. Custom ul list-style
  188. Customize the search results page
  189. Displaying random images
  190. Emulate "preprocess" theme functions
  191. Hide the Node Title on a Page (5.x)
  192. HowTo: Replace node title with a related image
  193. Hide the Node Title on a Page (6.x)
  194. Look and feel
  195. Adding a collapsible fieldset to your nodes
  196. CSS Tips, Tricks, and Techniques
  197. Block quotes
  198. Highlight the expandable section of a menu
  199. How to use style.css to theme CCK
  200. IE Conditional Comments
  201. Iconification : adding UI icons using (mostly) CSS
  202. Prefixing Node Title with Icon
  203. adding icons to module operator links
  204. prefixing Block Titles with an icon
  205. Include style sheets for specific browsers
  206. Making your content look "fixed width" yet be fluid
  207. Showing which Menu item you're on
  208. Styling more usable form buttons
  209. Change the size of a CCK input field
  210. Generate tabs for blocks using jQuery
  211. How can I change Drupal's character encoding? (UTF-8 and Unicode)
  212. How to change text-links to image links in the pager
  213. Remove "Login to post comments" from Drupal 6 sites
  214. Merge multiple _phptemplate_variables functions
  215. Mod of Garland background
  216. How to: Modify the Garland theme to include a custom image in the background
  217. Overriding Theme Templates in Drupal 6
  218. Porting A Joomla Template To Drupal - a simple approach.
  219. Prototyping XHTML/CSS with Drupal
  220. Recipe for two column block of recent comments
  221. Style a horizontal login block in the footer
  222. Theme a CCK input form
  223. Tips for designing themes in Dreamweaver, GoLive etc.
  224. Totally customize the LOOK of your front page
  225. Videos and slides
  226. Theme snippets
  227. A guide to adding your own snippets
  228. Block-related snippets
  229. Add an "Edit" Tab to Every Block
  230. Create more readable (and portable) block id attributes based on the block title
  231. Extend block, so it behaves like it should
  232. Customize a block title
  233. Expanding/Contracting Blocks Persistently
  234. Customizing Contributed Modules
  235. Customizing table views generated by the views.module
  236. Theming table views generated by the views.module using your style sheet (CSS)
  237. Shazamgallery snippets
  238. Large image on top
  239. Full page layout and section-related Snippets
  240. Customizing the full page layout and sections based on node type
  241. Customizing the full page layout and sections using CSS and unique BODY Class & IDs
  242. Customizing the full page layout and sections based on path
  243. Customising the full page layout based on path when using the language.module
  244. Customizing the full page layout and sections based on path when using aliased paths
  245. Add Descriptive Text at the Top of Taxonomy-Generated Pages
  246. Customizing page layout using taxonomy terms
  247. Customizing the CSS class of the body based on node type
  248. Customizing the login, registration and request password full page layout
  249. Focus caret automatically at www.example.com/?q=user
  250. Different Header Images for Different Nodes
  251. HOWTO: Display some arbitrary HTML on a specific page based on the URL you are on
  252. How to make the 'sidebars' visible even when there's no visible block!
  253. How to split the results into separate pages if the snippet returns lots of results
  254. Show a block depending on node type and node id
  255. display/hide content only on the front page
  256. Split theme('page') $content into multiple sections
  257. Menu-related snippets
  258. Customizing the primary and secondary links
  259. Overriding the delimiter (the character that separates links) in primary/secondary links
  260. Override or add a primary links delimiter in Drupal 5
  261. Adding images to secondary links
  262. Changing Primary Links to Images
  263. Changing the delimiter on primary/secondary links
  264. Display children of the actual menu node (Not all the menu tree)
  265. How to make the Home link (primary link) active.
  266. Primary Links: "active" class for ancestors of current page and unique ID for each menu item
  267. Primary links menu active trail - yet another method
  268. Showing the child items of primary links / Turning primary links into "primary menu"
  269. theme_menu_item template
  270. Primary links "active" or "selected" highlight snippet
  271. Add an icon to menu links
  272. Add unique IDs to menu items
  273. Add unique class to menu items
  274. Classes per level of menu items links
  275. Expanding a menu tree based on node types
  276. Generate markup for drop-down menus
  277. Insert an image instead of text in a menu item.
  278. International menus
  279. Menu items that are not links
  280. Non-linking menu items with javascript
  281. Output children menus of collapsed elements
  282. Tertiary links in the header region
  283. Node layout and display snippets
  284. Add a status message indicating if a node has not yet been published
  285. Add class names to the attachments table cells
  286. Add header above comments (below content)
  287. Add og group name and author to node
  288. Adding "last updated" node informations to the $submitted variable in node.tpl.php (and variations)
  289. Adding CCK node references to the taxonomy terms
  290. Adding a Divider Line to a node listing
  291. Adding icons to attachment display
  292. Customize "submitted by" information based on node type
  293. Customizing how links ($links) are displayed in your pages
  294. A way to add styling to individual parts of $links
  295. Display only some of the links
  296. Customizing image gallery layouts
  297. Display images that have been created between any two story entries in the node-story.tpl.php
  298. Display links to uploaded files of the current node wherever you want
  299. Display list of attachments in teaser view for each node.
  300. Display only tags (and not other category types) below nodes
  301. Display public/non-public node status
  302. Display taxonomy terms broken out by vocabulary
  303. Embed a Region in a node.tpl.php file (D5)
  304. Expand term display to show complete paths of related terms
  305. Extract the 'read more' link and display it separately somewhere else in your nodes
  306. Formatting the way the date/time is displayed
  307. Get a contextual array for your node-links
  308. Inserting HTML into node titles
  309. Inserting Taxonomy Images into nodes
  310. Can't decide between $taxonomy_images[0] or [1]?
  311. Node Attachments: Display and Theme File Size
  312. Node taxonomy into classes (full page & teaser)
  313. Optionally theming a node
  314. Print the content-type name or label with the 'submitted' info
  315. Quick 'edit' link of the nodes
  316. Replacing certain taxonomy terms with icons
  317. Separate 'free tagging' terms from normal taxonomy terms
  318. Show user picture on certain content types only
  319. Simpler author / date / comment links
  320. Sort taxonomy links ($terms) by vocabulary ($vid)
  321. Teaser Small image & body medium image link to full size with CCK Image and Imagecache
  322. Theme-switching and CSS-switching by page snippets
  323. Admin and Edit/Add theme switcher using your template.php file
  324. Admin theme for node (add, edit) and user (edit)
  325. Changing theme based on http headers
  326. How to force a different theme for specific Admin pages when the Administration theme is set (eg. node/add or node/edit)
  327. Optional CSS configurable by your visitors
  328. Use a different style sheet for each page
  329. admin theme switcher snippet for your page.tpl.php file
  330. User login and registration form snippets
  331. Advanced custom login form
  332. Custom login script
  333. Customizing the "user account' title for register/login pages
  334. Customizing the login form
  335. Customizing the user registration form
  336. custom login form examples
  337. displaying all variables available and debugging your advanced custom login form
  338. Customizing the user list layout
  339. Customizing the user list layout (Drupal v4.7 - 5.x)
  340. HOWTO: Make the user list page compact (two or three columns, by css only)
  341. hide a user profile depending on role or a custom field
  342. Customizing the user profile layout
  343. A basic User Profile Page to help get you started
  344. Customizing the user profile pages (a "before" and "after" example with screenshots)
  345. User Profile avatar/picture Snippet
  346. Handling single-line profile fields
  347. Handling multi-line profile fields
  348. Handling checkbox profile fields
  349. Handling freeform profile fields
  350. Handling URL profile fields
  351. Recent weblog entries (titles) snippet
  352. Recent weblog entries (titles & teasers) snippet
  353. Add/delete to/from buddylist snippet
  354. Display a list of buddies snippet
  355. Display list of (x) recent posts (titles) snippet
  356. User "history" or "member for: (time)" snippet
  357. Adding LinkedIn and Facebook badges to user profile
  358. Adding layout and content to the default user profile theme
  359. Allowing users to customize their profile
  360. Custom User Blocks and User Tables PHP Snippets
  361. Customizing the user profile layout per role
  362. Display link to user's embedded gallery (or not if it does not exist)
  363. Display a customizable "this user is [online/offline]" status message in the User Profile page
  364. Display a user friendly text message when profile fields are left blank
  365. Display a user's points value from the userpoints.module
  366. Display recent nodes (titles & teasers) snippet
  367. Displaying counts from the Invite module
  368. Drupal V5.x warning: Cannot add header information
  369. Handling date profile fields
  370. Howto: Make the user profile layout compact (with css only)
  371. Insert Subscribed Organic Groups List
  372. Messages for unpublished profiles
  373. My Comments Block for Profiles
  374. Outputting full civiCRM profile to custom profile
  375. Profile Name
  376. Outputting individual CiviCRM profile fields into custom Drupal profile
  377. Profile edit form on same page as account information
  378. User Profile Page
  379. User referral module
  380. Weight sorting for input fields (when the user fill the form) doesn't apply - fix
  381. allow users to choose whether certain profile fields are visible or hidden
  382. Insert user friendly "click here to add your.." links when user profile fields are left blank
  383. Display a date related notice or countdown snippet
  384. Send private message snippet
  385. Display a Skype "Call me" or "leave a voicemail" button depending on Users' online/offline status
  386. Display users age based on a date-of-birth field
  387. Show/hide certain profile fields depending on user role or user permissions
  388. insert a "view your order history" and "view [username]s store" link
  389. Customizing blog layouts
  390. Splitting your main blog content into (x) multiple columns
  391. Customizing the breadcrumbs
  392. Add attributes to drupal breadcrumb links.
  393. Customize breadcrumbs to include parent level book terms
  394. Display full Breadcrumb in node
  395. How to remove "blogs » user's blog" from breadcrumbs
  396. Theming Breadcrumb Output HTML
  397. Customizing the forum
  398. Adding a default forum image
  399. Customizing the forum containers ( Collapsible Containers )
  400. Customizing the main forum list layout
  401. Creating a forum similar to gallery.menalto.com/forum
  402. Keep your custom page-forum.tpl.php layout file when viewing a thread
  403. Customizing the pager (next, previous navigation)
  404. Add a << first < previous next > last >> Pager to Image Nodes Within a Gallery.
  405. Add a << first < previous next > last >> Pager to Image Nodes Within a Gallery with localization
  406. Pager with thumbnails
  407. Pager with thumbnails and CSS
  408. Pager, Multiple taxonomy terms and Nodeorder
  409. Putting both pager methods together
  410. Adding next & previous links for node types within taxonomy terms (e.g. Image Galleries)
  411. For Acidfree images
  412. Next and Previous link ordered desc creation time
  413. Next/Previous with images by date
  414. Next/previous ordered by title
  415. Simplified for just next/prev
  416. Adding next & previous links for same node type, translation-aware
  417. Customize pager to use number of results e.g. 1-10, 11-20, etc instead of page number
  418. add a first, previous, next, last to any page, for any node type
  419. Customizing the search forms
  420. Custom search box for a specific content type
  421. Customizing the block search form
  422. Customizing the site logo and name based on path
  423. Changing the site logo and name for each section based on path
  424. Add newlines to theme_item_list
  425. Adding an embedded player for audio in 5.0
  426. Adding stylesheets for alternate media
  427. Alternating Teaser Classes
  428. Block Visibility And Parent Term CSS Class Function
  429. Change submit buttons to images for a given form
  430. Create an alias instead of user username
  431. Debugging: display all Drupal variables at the bottom of a page
  432. Determine what level of the menu hierarchy a page is on
  433. Disable re-sizable functionality on a textarea
  434. Embedding CCK content type create form in your page
  435. Embedding Contact form in a node
  436. Garland Simple modification Tutorial
  437. Generalized list function
  438. Get nodes as an array for greater flexibility
  439. How to add "submitted date" to only 'child pages' of a 'book'
  440. How to display mission on every page?
  441. Image rotator snippet for phpTemplate
  442. Inserting a "last updated" value into your footer
  443. Move the help/description text
  444. Nicely Formatted Calendar Dates:
  445. Overriding drupal.css; two approaches
  446. Overriding the core and module stylesheets
  447. Pager at top and bottom of comments
  448. Placing ads in your theme
  449. Remove unwanted form elements (example: removing Your name: <username> from comment forms)
  450. Remove unwanted tabs from pages
  451. More tab control with a mini-module
  452. Example: Remove View and Edit tabs only on user page
  453. Remove tabs using hook_menu_alter
  454. Transparent PNG in IE5 & IE6
  455. Two columns of teasers
  456. Using jquery to group tabs
  457. Zebra stripes on taxonomy list
  458. have a primary and secondary front page - useful for flash or splash graphic front pages
  459. obfuscate (hide) all emails from spammers
  460. overridding the the default sidebar layout
  461. Customizing how your page headers are displayed for search engines
  462. How other famous sites format their page title tags
  463. Make images square
  464. Override the max-width of textareas in content submission forms
  465. Engine-independent snippets
  466. Display A Database Table With Fields
  467. Flexinode - Grab Field Info
  468. Flexinode - Grab Node Type Info
  469. Getting A Node's Information From The Database Table {node}
  470. search results as teasers (make data not show up)
  471. Split a text field into multiple columns, like a newspaper/magazine article.
  472. Trim a text field to a certain word length
  473. Request for increased functionality: drupalicious_summarise
  474. List of all topics
  475. Missing topics
 
 

Drupal is a registered trademark of Dries Buytaert.