New theme base for SuiteDesk
|
@ -1,8 +0,0 @@
|
||||||
This directory is reserved for core theme files. Custom or contributed
|
|
||||||
themes should be placed in their own subdirectory of the sites/all/themes
|
|
||||||
directory. For multisite installations, they can also be placed in a subdirectory
|
|
||||||
under /sites/{sitename}/themes/, where {sitename} is the name of your site
|
|
||||||
(e.g., www.example.com). This will allow you to more easily update Drupal core files.
|
|
||||||
|
|
||||||
For more details, see: http://drupal.org/node/176043
|
|
||||||
|
|
390
themes/zen/CHANGELOG.txt
Normal file
|
@ -0,0 +1,390 @@
|
||||||
|
Zen 6.x-2.1, 2011-04-05
|
||||||
|
-----------------------
|
||||||
|
- #774836 by hefox: Check if node $title is set before outputting
|
||||||
|
- #705264 by JohnAlbin, Jehu, mlncn and zenic: Allow Zen (and subthemes) to be used without a database
|
||||||
|
- #1046090 by daniels and JohnAlbin: $styles is destroyed by rare bug with APC
|
||||||
|
- #1083700: Add $submitted variable back into node.tpl
|
||||||
|
- #1086820 by tacituseu: Views classes redundant since Views 6.x-2.9
|
||||||
|
- #1017062 by adrinux: Block edit links span entire block on RTL pages
|
||||||
|
- #774838 by bangpound, hefox and JohnAlbin: Add default case for build_mode
|
||||||
|
- #919838 by saem, rgbivens and JohnAlbin: Theme description links to wrong docs
|
||||||
|
- #992616 by JohnAlbin and adrinux: Comments in layout RTL stylesheets are incorrect
|
||||||
|
- #822570 by JohnAlbin and AaronCollier: Add focus styling to tabs
|
||||||
|
- #1072268: Zen theme doesn't load RTL styles
|
||||||
|
- #929630 by juan_g and akalata: URL for overriding stylesheets documentation has changed
|
||||||
|
- #742208: Conflict with domain theme module
|
||||||
|
- #1063226 by tacituseu, danillonunes and barraponto: Unpublished comment style is not applied
|
||||||
|
- #962356: Convert region template suggestions into theme hook suggestions
|
||||||
|
- #978640 by marcvangend: Whitespace before comment causes jQuery error
|
||||||
|
- #1046394 by n8tron and JohnAlbin: Add first and last classes to blocks
|
||||||
|
- #870080 by mverbaar: Correction to README.TXT for STARTERKIT
|
||||||
|
- #707410 by AdrianB: improve detection of Panels pages
|
||||||
|
- #634552 by JohnAlbin and tim.plunkett: Conflict with context module
|
||||||
|
- #941714: Modules setting $classes in preprocess functions breaks expected Zen classes
|
||||||
|
- #932826: mytheme_links__system_main_menu() doesn't work as expected
|
||||||
|
- Fix PHP warning on maintenance page
|
||||||
|
- #690026: Cannot override region.tpl.php
|
||||||
|
|
||||||
|
Zen 6.x-2.0, 2010-06-26
|
||||||
|
-----------------------
|
||||||
|
- #791056 by meatsack and JohnAlbin: Zen clobbers Views 3 classes
|
||||||
|
- #838338: element-invisible class doesn't fully hide elements
|
||||||
|
- #723514 by kmonty: Link in STARTERKIT description incorrect
|
||||||
|
- Skip navigation's ID changed from #skip-to-nav to #skip-link
|
||||||
|
- Added $block_html_id to block.tpl.php
|
||||||
|
- #772488 by andreiashu: Fatal error: Call to undefined function
|
||||||
|
ctools_menu_primary_local_tasks()
|
||||||
|
- #707410 by agentrickard and JohnAlbin: Add page-views and page-panels body classes
|
||||||
|
- #691426: Add D7-style named implementations of theme_links in page.tpl
|
||||||
|
- #683904: SUBTHEME_process functions do not work
|
||||||
|
- #552156: broken clearfix class causes overlapping containers in IE7
|
||||||
|
- #593290 by sfyn and JohnAlbin: Chaos Tools/Panels edit tab not working with Zen
|
||||||
|
- #661628 by Jacine and JohnAlbin: Integration with Skinr module
|
||||||
|
- by Jacine: Added views-view.tpl.php with support for $classes variables
|
||||||
|
- by caroltron, gleroux02, _natron, and JohnAlbin: Add panels 3 layouts using
|
||||||
|
Zen layout method
|
||||||
|
|
||||||
|
Zen 6.x-2.0-beta1, 2009-11-10
|
||||||
|
-----------------------------
|
||||||
|
- #478134 by mithrill: Improve docs about sites/all/themes and sites/default/themes folders
|
||||||
|
- #628070 by Aren Cambre: Change "jquery" to "JavaScript" in STARTERKIT.info.txt
|
||||||
|
- #626868 by alefteris: Replace Bitstream Vera with DejaVu fonts
|
||||||
|
- #624818 by Aren Cambre and Garrett Albright: Tahoma shouldn't be first font pick
|
||||||
|
- #600344 by mgifford: Use of absolute font size in block editing links breaks WCAG 2.0
|
||||||
|
- #546904 by Jennifer_M: List $node as available variable in page.tpl.php
|
||||||
|
- #583716 by droidenator: Empty title can cause breadcrumbs to display incorrectly
|
||||||
|
- #600920 by kto.3decb: Fix incorrect comment block class name
|
||||||
|
- #624046: Replace zen_id_safe() with drupal_html_class() and drupal_html_id()
|
||||||
|
- Renamed $closure_region region to $page_closure
|
||||||
|
- #622324: Update page.tpl to use ideas from D7
|
||||||
|
- Renamed #page and #page-inner to #page-wrapper and #page
|
||||||
|
- Added <span> around site name
|
||||||
|
- Moved #skip-to-nav styling to pages.css
|
||||||
|
- Removed #navigation link anchor
|
||||||
|
- Renamed div#header-inner to div.section which can be themed with #header .section
|
||||||
|
- Renamed #main and #main-inner to #main-wrapper and #main
|
||||||
|
- Renamed div#content-inner to div.section which can be themed with #content .section
|
||||||
|
- Removed #content-header div
|
||||||
|
- Added $highlight region
|
||||||
|
- Renamed #navbar div to #navigation
|
||||||
|
- Renamed $navbar region to $navigation
|
||||||
|
- Renamed .with-navbar class to .with-navigation
|
||||||
|
- Added #navigation .section div
|
||||||
|
- Removed #sidebar-first, #sidebar-first-inner, #sidebar-second, #sidebar-second-inner and moved styles to .region-sidebar-first, .region-sidebar-first .section, .region-sidebar-second, .region-sidebar-second .section
|
||||||
|
- Added #footer .section div
|
||||||
|
- Added region-sidebar.tpl.php template suggestion
|
||||||
|
- #308254: Make "skip to nav" styling more useful and less intrusive
|
||||||
|
- #621798: Change sidebar variables to be RTL friendly and $shows_blocks compatible
|
||||||
|
- #547696: Update node.tpl to use ideas from D7
|
||||||
|
- Renamed $picture to $user_picture in node.tpl.php
|
||||||
|
- Renamed .sticky class to .node-sticky in node.tpl.php
|
||||||
|
- Removed #node-inner div
|
||||||
|
- Added $display_submitted variable and deprecated $submitted variable
|
||||||
|
- Renamed the .node-mine class to .node-by-viewer
|
||||||
|
- #620794: Update block.tpl to use ideas from D7
|
||||||
|
- Removed .block-inner div
|
||||||
|
- Renamed $block->subject variable to $title
|
||||||
|
- Renamed $block->content variable to $content
|
||||||
|
- #548994: Update comment.tpl and comment-wrapper.tpl to use ideas from D7
|
||||||
|
- Renamed comment-wrapper's h2#comments-title to #comments h2.title
|
||||||
|
- Added $created to comment.tpl and deprecated $submitted
|
||||||
|
- Removed #comment-inner div
|
||||||
|
- comment div classes changed:
|
||||||
|
- .comment-by-anon changed to .comment-by-anonymous
|
||||||
|
- .comment-by-author changed to .comment-by-node-author
|
||||||
|
- .comment-mine changed to .comment-by-viewer
|
||||||
|
- .comment-published was removed
|
||||||
|
- #311458: Search box gets disabled after arbitrary amount of time
|
||||||
|
- Added $classes and $classes_array to all templates, not just Zen's templates
|
||||||
|
- Renamed page.tpl's $body_classes and $body_classes_array to $classes and $classes_array
|
||||||
|
- #564068: Views classes are missing from $classes variable
|
||||||
|
- Simplified header, content_top, content_bottom, navbar, and footer region markup
|
||||||
|
- Add region.tpl.php template
|
||||||
|
- Render $edit_links_array in zen_process_block
|
||||||
|
- #546858: Add THEME_process_HOOK functions to Zen
|
||||||
|
- #317417 by JohnAlbin and quicksketch: Fix off-line maintenance page since drupal_get_path('theme', 'zen') won't work
|
||||||
|
- #549798 by caroltron: page-backgrounds.css missing from .info file
|
||||||
|
- Remove ie5.css from STARTERKIT and deprecate support for IE5
|
||||||
|
- #547696: Update node.tpl to use ideas from D7
|
||||||
|
- Renamed $picture to $user_picture in node.tpl.php
|
||||||
|
- Renamed sticky class to node-sticky in node.tpl.php
|
||||||
|
- Added $build_mode variable to node.tpl.php
|
||||||
|
- #445814: Change primary/secondary link rendering and move secondary menu to footer
|
||||||
|
- #445822: Simplify wrapper divs around logo, site name, slogan
|
||||||
|
- #546862: Add D7's element-hidden and element-invisible for accessibility features
|
||||||
|
- #547382: Rename Zen's reset stylesheet to html-reset.css from html-elements.css
|
||||||
|
- #527494: Follow Drupal's proposed CSS coding standards
|
||||||
|
- #480610 by kdebaas: css class .field-type-image does not exist anymore in 6.x version of the module
|
||||||
|
- #545320 by Deslack: Use of split() generate E_DEPRECATED warnings on PHP 5.3.0
|
||||||
|
- #542818: Using alternate layout method causes .clearfix class to disappear
|
||||||
|
- #546828: Move tpl.php files to a templates folder in the root zen directory
|
||||||
|
- #546792: Remove box.tpl.php
|
||||||
|
- #513926: Sub-themes cannot reorder the stylesheets of the base theme
|
||||||
|
- #456136: Move zen stylesheets into STARTERKIT/css
|
||||||
|
- #544750 by kdebaas: Wrong sidebar class naming in maintenance-page.tpl.php
|
||||||
|
- #529796: Make block edit links easier to edit/turn off individually
|
||||||
|
- Added $classes_array variable to node, block and comment templates
|
||||||
|
- Add layout.css in Zen's .info file to properly position sub-theme's layout.css
|
||||||
|
- #379902: Make all stylesheets RTL compatible
|
||||||
|
- #472694: Drupal 6.11 broke Zen's OpenID overrides
|
||||||
|
- #375976 by JohnAlbin and Amitaibu: Flip sidebar positioning on RTL
|
||||||
|
- #375953 by Amitaibu and JohnAlbin: Change sidebar names to be RTL friendly
|
||||||
|
- Updated screenshot.png to use Zen logo since an actual screenshot is boring
|
||||||
|
- Changed "or" back to "||" in node.tpl.php since themers do need to learn a little PHP
|
||||||
|
- #254821: Sub-theme's .info file triggers incorrect "out of date" flag in update module
|
||||||
|
- Added blockquote indent stlying
|
||||||
|
- Removed navigation-top named anchor from page templates
|
||||||
|
- #382598: .node div.links ruleset doesn't match html in node template
|
||||||
|
- #452118: Removed redundant wrapper div around comment links
|
||||||
|
- #382480 by Ognyan Kulev: #block-menu-2 should be #block-menu-primary-links
|
||||||
|
- #374349: breadcrumb often broken when zen_breadcrumb_title is on
|
||||||
|
- #426750: Removed Zen Classic sub theme
|
||||||
|
- #445830: Rename clear-block CSS class to clearfix
|
||||||
|
- #445790: Move search box to header
|
||||||
|
- #445562: q0rban and JohnAlbin: Allow modules to declare their own block edit links
|
||||||
|
- Added optional node-type-specific preprocess functions
|
||||||
|
- Added notes about mobile stylesheets to STARTERKIT.info
|
||||||
|
- #200495 by JohnAlbin, caroltron, and Toe: Split up monolithic zen.css into smaller, logical stylesheets
|
||||||
|
- #328221 by kmonty and JohnAlbin: Split up ie.css to remove CSS hacks
|
||||||
|
|
||||||
|
Zen 6.x-1.2, 2011-02-26
|
||||||
|
-----------------------
|
||||||
|
- #593290 by sfyn and JohnAlbin: Chaos Tools/Panels edit tab not working with Zen
|
||||||
|
|
||||||
|
Zen 6.x-1.1, 2009-11-10
|
||||||
|
-----------------------
|
||||||
|
- #478134 by mithrill: Improve docs about sites/all/themes and sites/default/themes folders
|
||||||
|
- #600758 by mattyoung: Secondary links run together in one line with primary links
|
||||||
|
- #600344 by mgifford: Use of absolute font size in block editing links breaks WCAG 2.0
|
||||||
|
- #546904 by Jennifer_M: List $node as available variable in page.tpl.php
|
||||||
|
- #583716 by droidenator: Empty title can cause breadcrumbs to display incorrectly
|
||||||
|
- #600920 by kto.3decb: Fix incorrect comment block class name
|
||||||
|
- #297084: Remove ctype_lower() from zen_id_safe() to prevent WSOD/Fatal error on some systems
|
||||||
|
- #317417 by JohnAlbin and quicksketch: Fix off-line maintenance page since drupal_get_path('theme', 'zen') won't work
|
||||||
|
- #545320 by Deslack: Use of split() generate E_DEPRECATED warnings on PHP 5.3.0
|
||||||
|
- #472694: Drupal 6.11 broke Zen's OpenID overrides
|
||||||
|
- Updated screenshot.png to use Zen logo since an actual screenshot is boring
|
||||||
|
- Changed "or" back to "||" in node.tpl.php since themers do need to learn a little PHP
|
||||||
|
- #254821: Sub-theme's .info file triggers incorrect "out of date" flag in update module
|
||||||
|
- #327455 by grendzy and erifneerg: name and id mismatch in named anchor causing validation error
|
||||||
|
- #382598: .node div.links ruleset doesn't match html in node template
|
||||||
|
- #382480 by Ognyan Kulev: #block-menu-2 should be #block-menu-primary-links
|
||||||
|
- #374349: breadcrumb often broken when zen_breadcrumb_title is on
|
||||||
|
- #426750: Removed Zen Classic sub theme
|
||||||
|
- #445562: q0rban and JohnAlbin: Allow modules to declare their own block edit links
|
||||||
|
|
||||||
|
Zen 6.x-1.0, 2009-02-14
|
||||||
|
-----------------------
|
||||||
|
- #342004 by Amitaibu: Add css hint to prevent cramped-looking tables
|
||||||
|
- #290657: Liquid layout does not have min-width enforced
|
||||||
|
- #329769 by kmonty: Update zen_id_safe to remove underscores
|
||||||
|
- #275832: hook_theme implementation breaks maintenance page when database is down
|
||||||
|
- #362104: layout breaks on Zen-themed maintenance page
|
||||||
|
- Changed "or" back to "||" in template files since themers do need to learn a little PHP
|
||||||
|
- #346867 by debonator: navbar-inner is missing the "clear-block" class
|
||||||
|
- #325610 by Garrett Albright: Site name and logo don't link to frontpage on multilingual site
|
||||||
|
- #281106: Erroneous whitespace when div.clear-block touches bottom edge of viewport
|
||||||
|
- #365631: Zen's table-styling-fix breaks update module's styling
|
||||||
|
- #322480 by grendzy, mr.baileys, Bevan, and JohnAlbin: Make registry rebuild warning less obtrusive
|
||||||
|
- #325630: Broken link in "Theme registry rebuilt" warning when Clean URLs is off
|
||||||
|
- #324104 by JohnAlbin and dalin: Broken block editing link for Views 2
|
||||||
|
- #365205: block editing link doesn't work with Menu Block 6.x-2.1 and later
|
||||||
|
- #308251 by Garrett Albright: Improve icon placement on status, warning, and error messages
|
||||||
|
- Added $body_classes_array variable to page template
|
||||||
|
- #343945: Fix zen_breadcrumb_title setting to use proper menu_get_active_item()
|
||||||
|
- #279896 by lutegrass: Help prevent double H1 tags on homepage that is not /node
|
||||||
|
- #310507 by MikeyLikesIt: Footer region not output in Zen Classic
|
||||||
|
- #347195: Remove theme registry fix that was needed for broken Drupal 6.0 - 6.6
|
||||||
|
- #346706 by jsaints: Content clipped after page one when printing in Firefox
|
||||||
|
- #311529: Remove core's page-ARG0 body class, leaving zen's page-PATH
|
||||||
|
- Simplified body class generation code
|
||||||
|
- #334956 by hansrossel: Remove no-longer-needed fix for "Flash of Unstyled Content in IE"
|
||||||
|
- Fixed theme settings CSS for IE6 users
|
||||||
|
- Added Photoshop file for STARTERKIT screenshot
|
||||||
|
- Added Photoshop file for messages
|
||||||
|
- Allow easier CSS rule overriding by including THEMENAME.css file last
|
||||||
|
- Fixed message styling in Zen Classic
|
||||||
|
- #308957: html-elements.css not enabled in STARTERKIT
|
||||||
|
- #288213 by budda: Tabs in IE have a text select cursor rather than hand pointer
|
||||||
|
- #310818: Auto theme-registry rebuild warns themer multiple times
|
||||||
|
|
||||||
|
Zen 6.x-1.0-beta3, 2008-09-15
|
||||||
|
-----------------------------
|
||||||
|
- #308251: Add useful styling for status, warning, and error messages
|
||||||
|
- #307309: Add feature to rebuild theme registry during theme development
|
||||||
|
- Removed path_to_zentheme() since we're not conditionally including wireframes.css or block-editing.css
|
||||||
|
- #245832: Add IE conditional stylesheets to .info file
|
||||||
|
- #263228: Allow sub-themes to override wireframes.css
|
||||||
|
- #260605: Can't override block-editing.css
|
||||||
|
- #308266: Don't display footer if no footer message or footer blocks
|
||||||
|
- Changed $block_classes to $classes and $comment_classes to $classes and $node_classes to $classes
|
||||||
|
- #290838 by thehong: Only display comments block when comments content is not empty
|
||||||
|
- Don't display comment wrapper title on forums
|
||||||
|
- #299397: Synchronize Zen's tpl files with core's tpl files
|
||||||
|
- #281106 by kmonty: Erroneous whitespace when div.clear-block touches bottom edge of viewport
|
||||||
|
- Changed "||" to "or" in template files since its more intuitive to PHP newbies
|
||||||
|
- #279896: Help prevent double H1 tags on homepage that is not /node
|
||||||
|
- #279896: Moved styles to zen.css that should never have been in layout.css
|
||||||
|
- #255265 by kmonty: Don't "skip to nav" if there's no nav
|
||||||
|
- Re-arranged sidebar classes so they are in no-sidebars -> two-sidebars order in the layout CSS files
|
||||||
|
- #306856: Optimize code by adding conditional includes
|
||||||
|
- Moved some comments from zen to STARTERKIT where they belong
|
||||||
|
- Optimized zen_breadcrumb()
|
||||||
|
- Folded template-menus.php back into template.php since its not conditionally included
|
||||||
|
- Removed theme_username from STARTERKIT and zen_classic since it was fixed in Drupal 6.3
|
||||||
|
- Optimized zen_menu_item_link()
|
||||||
|
- #305311: CSS files makes reference to to drupal5-reference.css
|
||||||
|
- #299419: Remove empty zen.css in sub-themes
|
||||||
|
- #284798: PHP warning when settings section of .info file is missing
|
||||||
|
- #272655: Make STARTERKIT_theme easier to extend
|
||||||
|
|
||||||
|
Zen 6.x-1.0-beta2, 2008-05-20
|
||||||
|
-----------------------------
|
||||||
|
- #260016: PHP 4 Parse error: syntax error, unexpected '&'
|
||||||
|
|
||||||
|
Zen 6.x-1.0-beta1, 2008-05-15
|
||||||
|
-----------------------------
|
||||||
|
- #253609 by jjeff: Add 'region' class to regions
|
||||||
|
- #258123 by jjeff: Rearrange placement of #site-name strong
|
||||||
|
- #248103: Allow themes to set defaults for settings in their .info files
|
||||||
|
- #249532: Allow subthemes to have preprocess hooks without tpl files
|
||||||
|
- #223518: Option to show page title in breadcrumbs
|
||||||
|
- #253249: zen_id_safe fails when first character is extended latin
|
||||||
|
- #251632: Make the closure region more useful
|
||||||
|
- #199682: 'Submitted by' text is shown for content even if setting is disabled
|
||||||
|
- #222339: Blocks in Zen Classic header and closure lack padding
|
||||||
|
- #248780: admin table styles override update_status styling
|
||||||
|
- #232840: OpenID login block displaying incorrectly
|
||||||
|
- #246110 by jjeff: zen.css breaks .container-inline
|
||||||
|
- #229661: Search Box doesn't return any results or warnings
|
||||||
|
- #244023 by jjeff: Make block editing links go to actual menu edit pages
|
||||||
|
- #245968 by jjeff: Put the word "Comments" above comments
|
||||||
|
- #238387: Update README on how to edit the .info file
|
||||||
|
- #227297 by Aragorn450: CSS Include for wireframes broken
|
||||||
|
- Prevented "notice: Undefined variable: edit_links" for anonymous users
|
||||||
|
- Made block-editing.css a "theme"-type CSS file
|
||||||
|
- #224416 by sykora: <span> displaying on mouse over on block heading
|
||||||
|
- Added complete Drupal 6 CSS for easy reference by theme developers
|
||||||
|
- Added Photoshop file for tabs
|
||||||
|
- #222299: Block editing link in Zen Classic footer is white on white
|
||||||
|
|
||||||
|
Zen 5.x-1.2, 2009-02-15
|
||||||
|
-----------------------
|
||||||
|
- #342004 by Amitaibu: Add css hint to prevent cramped-looking tables
|
||||||
|
- #290657: Liquid layout does not have min-width enforced
|
||||||
|
- #279896 by lutegrass: Help prevent double H1 tags on homepage that is not /node
|
||||||
|
- #346706 by jsaints: Content clipped after page one when printing in Firefox
|
||||||
|
- Added $body_classes_array variable to page template
|
||||||
|
- Simplified body class generation code
|
||||||
|
- Fixed theme settings CSS for IE6 users
|
||||||
|
- #288213 by budda: Tabs in IE have a text select cursor rather than hand pointer
|
||||||
|
- #249823: Add options to toggle display of primary and secondary links
|
||||||
|
- #281106 by kmonty: Erroneous whitespace when div.clear-block touches bottom edge of viewport
|
||||||
|
- #279896: Help prevent double H1 tags on homepage that is not /node
|
||||||
|
- #279896: Moved styles to zen.css that should never have been in layout.css
|
||||||
|
- #255265 by kmonty: Don't "skip to nav" if there's no nav
|
||||||
|
- #263228: Allow sub-themes to override wireframes.css
|
||||||
|
- Added sample override template file for search block's form
|
||||||
|
- Fixed _zen_hook() to look in sub-theme directory when $hook is not valid PHP function name
|
||||||
|
- #223518: Option to show page title in breadcrumbs
|
||||||
|
- #255263: Don't call preprocess functions twice when Zen is active theme
|
||||||
|
- #253249: zen_id_safe fails when first character is extended latin
|
||||||
|
|
||||||
|
Zen 5.x-1.1, 2008-04-21
|
||||||
|
-----------------------
|
||||||
|
- #246109: Add MODULE_preprocess_HOOK functions to Zen
|
||||||
|
- #199682: 'Submitted by' text is shown for content even if setting is disabled
|
||||||
|
- #247960: Add THEME_preprocess() hook to Zen
|
||||||
|
- #222339: Blocks in Zen Classic header and closure lack padding
|
||||||
|
- #248720 by matt@antinomia: Only UPDATE {system} table WHERE type = 'theme'
|
||||||
|
- #248780: admin table styles override update_status styling
|
||||||
|
- #246110 by jjeff: zen.css breaks .container-inline
|
||||||
|
- Prevented "notice: Undefined variable: edit_links" for anonymous users
|
||||||
|
- Made block-editing.css a "theme"-type CSS file
|
||||||
|
- Added Photoshop file for tabs
|
||||||
|
- #222299: Block editing link in Zen Classic footer is white on white
|
||||||
|
|
||||||
|
Zen 5.x-1.0, 2008-02-14
|
||||||
|
-----------------------
|
||||||
|
- #220161: Change SUBTHEME to STARTERKIT to prevent accidental WSOD
|
||||||
|
- #221545 by jjeff: Add theme_comment_wrapper() and theme_username() from Zengine
|
||||||
|
- #220551: IE6: sidebars disappear when resizing window
|
||||||
|
- Added body classes: section-node-add, section-node-edit, section-node-delete
|
||||||
|
- Prevented display of empty help from node_help()
|
||||||
|
- #219401: Add theme override examples for all functions used in Zen core
|
||||||
|
|
||||||
|
Zen 5.x-1.0-beta2, 2008-01-29
|
||||||
|
-----------------------------
|
||||||
|
- #214777: sub-theme's search-theme-form.tpl is ignored
|
||||||
|
- #206707: tr.even/odd border-bottom is missing in IE
|
||||||
|
- #207743 by jjeff: Added translatable "Unpublished" text as background
|
||||||
|
- #207743 by jjeff: Added block editing links on hover
|
||||||
|
- Added extended block classes (zebra class by jjeff)
|
||||||
|
- #207743 by jjeff: Allow a sub-theme to add/alter block variables
|
||||||
|
- #110897: oversize content causes IE6 layout breakage (now fixed in Zen Classic)
|
||||||
|
- #211156 by jjeff: $subtheme_directory variable in page.tpl.php never gets populated
|
||||||
|
- #206060: changed inline styling method for navbar links from inline to float
|
||||||
|
|
||||||
|
Zen 5.x-1.0-beta1, 2008-01-06
|
||||||
|
-----------------------------
|
||||||
|
- Removed named anchors from doc flow to prevent any styles from appearing
|
||||||
|
- #203213 by kdebaas: Add node-teaser class to nodes displayed as teasers
|
||||||
|
- #203112 by kdebaas: Un-localizable string in search-theme-form.tpl.php
|
||||||
|
- #201793: Fixed fatal error when no settings are added to a sub-theme's settings
|
||||||
|
- #196181: _phptemplate_callback doesn't look in sub-theme folder for .tpl.php files
|
||||||
|
- Added sample override template file for drupal search form
|
||||||
|
- Added SUBTHEME directory as a starter sub-theme for developers
|
||||||
|
- #199036 by joachim: Make padding on #squeeze conditional
|
||||||
|
- #199578: Fatal error on Zen Classic theme settings when using admin theme
|
||||||
|
- #200380 by psynaptic: missing semi-colon in layout-fixed.css
|
||||||
|
- #196230: Tabs broken in IE5 and IE6
|
||||||
|
- #199682: 'Submitted by' text is shown even if setting is disabled
|
||||||
|
- #171201: Remove un-localizable date/time format from base theme
|
||||||
|
- Added theme settings to control layout method and wireframes inclusion
|
||||||
|
- Added fixed layout stylesheet
|
||||||
|
|
||||||
|
Zen 5.x-0.8, 2007-11-29
|
||||||
|
-----------------------
|
||||||
|
- #196223: IE5 always loads @import print stylesheet
|
||||||
|
- #184232: Add README documentation
|
||||||
|
- #121991: Source rendering order needs adjustment
|
||||||
|
- #110897: oversize content causes IE6 layout breakage
|
||||||
|
- Added unique classes for each page and website section
|
||||||
|
- Added customizable breadcrumb settings
|
||||||
|
- Split template.php into multiple files to ease theme developer overload
|
||||||
|
- Add prettier tab styling
|
||||||
|
- #141784: Add conditional IE stylesheets
|
||||||
|
- Merge zen-fixed with zen_classic
|
||||||
|
- Add optional Theme Settings API integration
|
||||||
|
- #169359: Base CSS and tpl files don't get loaded (sub-theme with page.tpl.php)
|
||||||
|
- #171464: Create starter theme; migrate current style to a sub-theme
|
||||||
|
- Add ability to change regions in a sub-theme
|
||||||
|
- Add complete Drupal 5 CSS for easy reference by theme developers
|
||||||
|
- #183936: Backport Drupal 6 $body_classes
|
||||||
|
|
||||||
|
Zen 5.x-0.7, 2007-10-15
|
||||||
|
-----------------------
|
||||||
|
- #100894: For SEO, H1#site-name should be div#site-name strong
|
||||||
|
- #118467 by leandrosiow: Screen redraw errors with resizable textareas in Firefox
|
||||||
|
- #154937 by msonnabaum: add skip navigation for screen readers/mobility impaired
|
||||||
|
- #122592: Ability to theme each primary link
|
||||||
|
- #178560 by incognito: Shifting avatars in the comment blocks
|
||||||
|
- #110553 by rport: Use png instead of gif for images
|
||||||
|
- #120052: Add linux fonts
|
||||||
|
- #183360: Empty H2 appears on blocks with no titles
|
||||||
|
- #121101: zen.css does not validate
|
||||||
|
- #110902: IE6: text falls outside and to the left of content area
|
||||||
|
- #183354: Add a div around the feed icons
|
||||||
|
- #120341: Sidebar has unwanted 5em bottom margin
|
||||||
|
- #122938: Enabling CSS aggregation messes up the CSS in Safari
|
||||||
|
- #110897: oversize content causes IE6 layout breakage
|
||||||
|
- #119270: profile pictures indenting
|
||||||
|
- #118170 by mr700: blockquote css border has two widths
|
||||||
|
- #110810: change .submitted span to div
|
||||||
|
- #100899: don't use sidebar class for widths
|
||||||
|
- #182130 by joachim: links in h2 and h3 different sizes
|
||||||
|
- #182556: Added CHANGELOG
|
||||||
|
|
||||||
|
Zen 5.x-0.6, 2007-01-17
|
||||||
|
-----------------------
|
||||||
|
- Initial pre-release
|
274
themes/zen/LICENSE.txt
Normal file
|
@ -0,0 +1,274 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
|
||||||
|
Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
|
||||||
|
verbatim copies of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your freedom to
|
||||||
|
share and change it. By contrast, the GNU General Public License is
|
||||||
|
intended to guarantee your freedom to share and change free software--to
|
||||||
|
make sure the software is free for all its users. This General Public License
|
||||||
|
applies to most of the Free Software Foundation's software and to any other
|
||||||
|
program whose authors commit to using it. (Some other Free Software
|
||||||
|
Foundation software is covered by the GNU Library General Public License
|
||||||
|
instead.) You can apply it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the
|
||||||
|
freedom to distribute copies of free software (and charge for this service if
|
||||||
|
you wish), that you receive source code or can get it if you want it, that you
|
||||||
|
can change the software or use pieces of it in new free programs; and that
|
||||||
|
you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid anyone to
|
||||||
|
deny you these rights or to ask you to surrender the rights. These restrictions
|
||||||
|
translate to certain responsibilities for you if you distribute copies of the
|
||||||
|
software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or for
|
||||||
|
a fee, you must give the recipients all the rights that you have. You must make
|
||||||
|
sure that they, too, receive or can get the source code. And you must show
|
||||||
|
them these terms so they know their rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||||
|
offer you this license which gives you legal permission to copy, distribute
|
||||||
|
and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain that
|
||||||
|
everyone understands that there is no warranty for this free software. If the
|
||||||
|
software is modified by someone else and passed on, we want its recipients
|
||||||
|
to know that what they have is not the original, so that any problems
|
||||||
|
introduced by others will not reflect on the original authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software patents. We
|
||||||
|
wish to avoid the danger that redistributors of a free program will individually
|
||||||
|
obtain patent licenses, in effect making the program proprietary. To prevent
|
||||||
|
this, we have made it clear that any patent must be licensed for everyone's
|
||||||
|
free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
|
||||||
|
MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains a notice
|
||||||
|
placed by the copyright holder saying it may be distributed under the terms
|
||||||
|
of this General Public License. The "Program", below, refers to any such
|
||||||
|
program or work, and a "work based on the Program" means either the
|
||||||
|
Program or any derivative work under copyright law: that is to say, a work
|
||||||
|
containing the Program or a portion of it, either verbatim or with
|
||||||
|
modifications and/or translated into another language. (Hereinafter, translation
|
||||||
|
is included without limitation in the term "modification".) Each licensee is
|
||||||
|
addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not covered
|
||||||
|
by this License; they are outside its scope. The act of running the Program is
|
||||||
|
not restricted, and the output from the Program is covered only if its contents
|
||||||
|
constitute a work based on the Program (independent of having been made
|
||||||
|
by running the Program). Whether that is true depends on what the Program
|
||||||
|
does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's source
|
||||||
|
code as you receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice and
|
||||||
|
disclaimer of warranty; keep intact all the notices that refer to this License
|
||||||
|
and to the absence of any warranty; and give any other recipients of the
|
||||||
|
Program a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and you
|
||||||
|
may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion of it,
|
||||||
|
thus forming a work based on the Program, and copy and distribute such
|
||||||
|
modifications or work under the terms of Section 1 above, provided that you
|
||||||
|
also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices stating that
|
||||||
|
you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in whole or in
|
||||||
|
part contains or is derived from the Program or any part thereof, to be
|
||||||
|
licensed as a whole at no charge to all third parties under the terms of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively when run,
|
||||||
|
you must cause it, when started running for such interactive use in the most
|
||||||
|
ordinary way, to print or display an announcement including an appropriate
|
||||||
|
copyright notice and a notice that there is no warranty (or else, saying that
|
||||||
|
you provide a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this License.
|
||||||
|
(Exception: if the Program itself is interactive but does not normally print such
|
||||||
|
an announcement, your work based on the Program is not required to print
|
||||||
|
an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If identifiable
|
||||||
|
sections of that work are not derived from the Program, and can be
|
||||||
|
reasonably considered independent and separate works in themselves, then
|
||||||
|
this License, and its terms, do not apply to those sections when you distribute
|
||||||
|
them as separate works. But when you distribute the same sections as part
|
||||||
|
of a whole which is a work based on the Program, the distribution of the
|
||||||
|
whole must be on the terms of this License, whose permissions for other
|
||||||
|
licensees extend to the entire whole, and thus to each and every part
|
||||||
|
regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest your rights to
|
||||||
|
work written entirely by you; rather, the intent is to exercise the right to
|
||||||
|
control the distribution of derivative or collective works based on the
|
||||||
|
Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of a
|
||||||
|
storage or distribution medium does not bring the other work under the scope
|
||||||
|
of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it, under
|
||||||
|
Section 2) in object code or executable form under the terms of Sections 1
|
||||||
|
and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable source
|
||||||
|
code, which must be distributed under the terms of Sections 1 and 2 above
|
||||||
|
on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three years, to give
|
||||||
|
any third party, for a charge no more than your cost of physically performing
|
||||||
|
source distribution, a complete machine-readable copy of the corresponding
|
||||||
|
source code, to be distributed under the terms of Sections 1 and 2 above on
|
||||||
|
a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer to distribute
|
||||||
|
corresponding source code. (This alternative is allowed only for
|
||||||
|
noncommercial distribution and only if you received the program in object
|
||||||
|
code or executable form with such an offer, in accord with Subsection b
|
||||||
|
above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source code
|
||||||
|
means all the source code for all modules it contains, plus any associated
|
||||||
|
interface definition files, plus the scripts used to control compilation and
|
||||||
|
installation of the executable. However, as a special exception, the source
|
||||||
|
code distributed need not include anything that is normally distributed (in
|
||||||
|
either source or binary form) with the major components (compiler, kernel,
|
||||||
|
and so on) of the operating system on which the executable runs, unless that
|
||||||
|
component itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering access to
|
||||||
|
copy from a designated place, then offering equivalent access to copy the
|
||||||
|
source code from the same place counts as distribution of the source code,
|
||||||
|
even though third parties are not compelled to copy the source along with the
|
||||||
|
object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program except as
|
||||||
|
expressly provided under this License. Any attempt otherwise to copy,
|
||||||
|
modify, sublicense or distribute the Program is void, and will automatically
|
||||||
|
terminate your rights under this License. However, parties who have received
|
||||||
|
copies, or rights, from you under this License will not have their licenses
|
||||||
|
terminated so long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not signed it.
|
||||||
|
However, nothing else grants you permission to modify or distribute the
|
||||||
|
Program or its derivative works. These actions are prohibited by law if you
|
||||||
|
do not accept this License. Therefore, by modifying or distributing the
|
||||||
|
Program (or any work based on the Program), you indicate your acceptance
|
||||||
|
of this License to do so, and all its terms and conditions for copying,
|
||||||
|
distributing or modifying the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the original
|
||||||
|
licensor to copy, distribute or modify the Program subject to these terms and
|
||||||
|
conditions. You may not impose any further restrictions on the recipients'
|
||||||
|
exercise of the rights granted herein. You are not responsible for enforcing
|
||||||
|
compliance by third parties to this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues), conditions
|
||||||
|
are imposed on you (whether by court order, agreement or otherwise) that
|
||||||
|
contradict the conditions of this License, they do not excuse you from the
|
||||||
|
conditions of this License. If you cannot distribute so as to satisfy
|
||||||
|
simultaneously your obligations under this License and any other pertinent
|
||||||
|
obligations, then as a consequence you may not distribute the Program at all.
|
||||||
|
For example, if a patent license would not permit royalty-free redistribution
|
||||||
|
of the Program by all those who receive copies directly or indirectly through
|
||||||
|
you, then the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
|
particular circumstance, the balance of the section is intended to apply and
|
||||||
|
the section as a whole is intended to apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any patents or
|
||||||
|
other property right claims or to contest validity of any such claims; this
|
||||||
|
section has the sole purpose of protecting the integrity of the free software
|
||||||
|
distribution system, which is implemented by public license practices. Many
|
||||||
|
people have made generous contributions to the wide range of software
|
||||||
|
distributed through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing to
|
||||||
|
distribute software through any other system and a licensee cannot impose
|
||||||
|
that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to be a
|
||||||
|
consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in certain
|
||||||
|
countries either by patents or by copyrighted interfaces, the original copyright
|
||||||
|
holder who places the Program under this License may add an explicit
|
||||||
|
geographical distribution limitation excluding those countries, so that
|
||||||
|
distribution is permitted only in or among countries not thus excluded. In such
|
||||||
|
case, this License incorporates the limitation as if written in the body of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will be
|
||||||
|
similar in spirit to the present version, but may differ in detail to address new
|
||||||
|
problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program specifies
|
||||||
|
a version number of this License which applies to it and "any later version",
|
||||||
|
you have the option of following the terms and conditions either of that
|
||||||
|
version or of any later version published by the Free Software Foundation. If
|
||||||
|
the Program does not specify a version number of this License, you may
|
||||||
|
choose any version ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free programs
|
||||||
|
whose distribution conditions are different, write to the author to ask for
|
||||||
|
permission. For software which is copyrighted by the Free Software
|
||||||
|
Foundation, write to the Free Software Foundation; we sometimes make
|
||||||
|
exceptions for this. Our decision will be guided by the two goals of
|
||||||
|
preserving the free status of all derivatives of our free software and of
|
||||||
|
promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
|
||||||
|
PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
|
||||||
|
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
|
||||||
|
NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
|
||||||
|
AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
|
||||||
|
ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
|
||||||
|
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
|
||||||
|
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
|
||||||
|
ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||||
|
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
|
||||||
|
OR DATA BEING RENDERED INACCURATE OR LOSSES
|
||||||
|
SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||||
|
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
|
||||||
|
IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
|
||||||
|
THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
79
themes/zen/README-FIRST.txt
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
WHERE TO START
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Yay! You opened the correct file first. The first thing that people notice when
|
||||||
|
they download the Zen theme is that there are A LOT of files -- way more than
|
||||||
|
other themes.
|
||||||
|
|
||||||
|
Don't worry! You don't need to learn everything all at once in order to make a
|
||||||
|
drupal theme. Zen will do the bits you haven't learned and patiently wait for
|
||||||
|
you to discover the documentation and inline comments about them.
|
||||||
|
|
||||||
|
|
||||||
|
SUGGESTED READING
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Installation
|
||||||
|
If you don't know how to install a Drupal theme, there is a quick primer later
|
||||||
|
in this document.
|
||||||
|
|
||||||
|
Building a sub-theme
|
||||||
|
See the STARTERKIT/README.txt file for full instructions.
|
||||||
|
|
||||||
|
Theme .info file
|
||||||
|
Your sub-theme's .info file holds the basic information about your theme that
|
||||||
|
Drupal needs to know: its name, description, features, template regions, CSS
|
||||||
|
files, and JavaScript. Don't worry about all these lines just yet.
|
||||||
|
|
||||||
|
CSS
|
||||||
|
Once you have created your sub-theme, look at the README.txt in your
|
||||||
|
sub-theme's css folder.
|
||||||
|
|
||||||
|
Templates
|
||||||
|
Now take a look at the README.txt in your sub-theme's templates folder.
|
||||||
|
|
||||||
|
|
||||||
|
ONLINE READING
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Full documentation on the Zen theme can be found in Drupal's Handbook:
|
||||||
|
http://drupal.org/node/193318
|
||||||
|
|
||||||
|
Excellent documentation on Drupal theming can be found in the Theme Guide:
|
||||||
|
http://drupal.org/theme-guide
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION
|
||||||
|
------------
|
||||||
|
|
||||||
|
1. Download Zen from http://drupal.org/project/zen
|
||||||
|
|
||||||
|
2. Unpack the downloaded file, take the entire zen folder and place it in your
|
||||||
|
Drupal installation under one of the following locations:
|
||||||
|
sites/all/themes
|
||||||
|
making it available to the default Drupal site and to all Drupal sites
|
||||||
|
in a multi-site configuration
|
||||||
|
sites/default/themes
|
||||||
|
making it available to only the default Drupal site
|
||||||
|
sites/example.com/themes
|
||||||
|
making it available to only the example.com site if there is a
|
||||||
|
sites/example.com/settings.php configuration file
|
||||||
|
|
||||||
|
Please note: you will need to create the "theme" folder under "sites/all/"
|
||||||
|
or "sites/default/".
|
||||||
|
|
||||||
|
For more information about acceptable theme installation directories, read
|
||||||
|
the sites/default/default.settings.php file in your Drupal installation.
|
||||||
|
|
||||||
|
3. Log in as an administrator on your Drupal site and go to Administer > Site
|
||||||
|
building > Themes (admin/build/themes). You will see the Zen theme there
|
||||||
|
with links on how to create your own sub-theme. You can optionally make Zen
|
||||||
|
the default theme.
|
||||||
|
|
||||||
|
4. Now build your own sub-theme by reading the STARTERKIT/README.txt file.
|
||||||
|
|
||||||
|
5. Internet explorer has a nasty bug that limits you to 31 stylsheets total. To
|
||||||
|
get around this limitation during theme development, download, install and
|
||||||
|
configure the "IE CSS Optimizer" module.
|
||||||
|
|
||||||
|
http://drupal.org/project/ie_css_optimizer
|
127
themes/zen/STARTERKIT/README.txt
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
BUILD YOUR OWN SUB-THEME
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
*** IMPORTANT ***
|
||||||
|
|
||||||
|
* In Drupal 6, the theme system caches template files and which theme functions
|
||||||
|
should be called. What that means is if you add a new theme or preprocess
|
||||||
|
function to your template.php file or add a new template (.tpl.php) file to
|
||||||
|
your sub-theme, you will need to rebuild the "theme registry." See
|
||||||
|
http://drupal.org/node/173880#theme-registry
|
||||||
|
|
||||||
|
* Drupal 6 also stores a cache of the data in .info files. If you modify any
|
||||||
|
lines in your sub-theme's .info file, you MUST refresh Drupal 6's cache by
|
||||||
|
simply visiting the admin/build/themes page.
|
||||||
|
|
||||||
|
|
||||||
|
The base Zen theme is designed to be easily extended by its sub-themes. You
|
||||||
|
shouldn't modify any of the CSS or PHP files in the zen/ folder; but instead you
|
||||||
|
should create a sub-theme of zen which is located in a folder outside of the
|
||||||
|
root zen/ folder. The examples below assume zen and your sub-theme will be
|
||||||
|
installed in sites/all/themes/, but any valid theme directory is acceptable
|
||||||
|
(read the sites/default/default.settings.php for more info.)
|
||||||
|
|
||||||
|
Why? To learn why you shouldn't modify any of the files in the zen/ folder,
|
||||||
|
see http://drupal.org/node/245802
|
||||||
|
|
||||||
|
1. Copy the STARTERKIT folder out of the zen/ folder and rename it to be your
|
||||||
|
new sub-theme. IMPORTANT: The name of your sub-theme must start with an
|
||||||
|
alphabetic character and can only contain lowercase letters, numbers and
|
||||||
|
underscores.
|
||||||
|
|
||||||
|
For example, copy the sites/all/themes/zen/STARTERKIT folder and rename it
|
||||||
|
as sites/all/themes/foo.
|
||||||
|
|
||||||
|
Why? Each theme should reside in its own folder. To make it easier to
|
||||||
|
upgrade Zen, sub-themes should reside in a folder separate from their base
|
||||||
|
theme.
|
||||||
|
|
||||||
|
2. In your new sub-theme folder, rename the STARTERKIT.info.txt file to include
|
||||||
|
the name of your new sub-theme and remove the ".txt" extension. Then edit
|
||||||
|
the .info file by editing the name and description field.
|
||||||
|
|
||||||
|
For example, rename the foo/STARTERKIT.info.txt file to foo/foo.info. Edit
|
||||||
|
the foo.info file and change "name = Zen Sub-theme Starter Kit" to
|
||||||
|
"name = Foo" and "description = Read..." to "description = A Zen sub-theme".
|
||||||
|
|
||||||
|
Why? The .info file describes the basic things about your theme: its
|
||||||
|
name, description, features, template regions, CSS files, and JavaScript
|
||||||
|
files. See the Drupal 6 Theme Guide for more info:
|
||||||
|
http://drupal.org/node/171205
|
||||||
|
|
||||||
|
Then, visit your site's admin/build/themes to refresh Drupal 6's cache of
|
||||||
|
.info file data.
|
||||||
|
|
||||||
|
3. By default your new sub-theme is using a fixed-width layout. If you want a
|
||||||
|
liquid layout for your theme, delete the unneeded layout-fixed.css and
|
||||||
|
layout-fixed-rtl.css files and edit your sub-theme's .info file and replace
|
||||||
|
the reference to layout-fixed.css with layout-liquid.css.
|
||||||
|
|
||||||
|
For example, edit foo/foo.info and change this line:
|
||||||
|
stylesheets[all][] = css/layout-fixed.css
|
||||||
|
to:
|
||||||
|
stylesheets[all][] = css/layout-liquid.css
|
||||||
|
|
||||||
|
Why? The "stylesheets" lines in your .info file describe the media type
|
||||||
|
and path to the CSS file you want to include. The format for these lines
|
||||||
|
is: stylesheets[MEDIA][] = path/to/file.css
|
||||||
|
|
||||||
|
Then, visit your site's admin/build/themes to refresh Drupal 6's cache of
|
||||||
|
.info file data.
|
||||||
|
|
||||||
|
Alternatively, if you are more familiar with a different CSS layout method,
|
||||||
|
such as Blueprint or 960.gs, you can replace the "css/layout-fixed.css" line
|
||||||
|
in your .info file with a line pointing at your choice of layout CSS file.
|
||||||
|
|
||||||
|
4. Edit the template.php and theme-settings.php files in your sub-theme's
|
||||||
|
folder; replace ALL occurrences of "STARTERKIT" with the name of your
|
||||||
|
sub-theme.
|
||||||
|
|
||||||
|
For example, edit foo/template.php and foo/theme-settings.php and replace
|
||||||
|
every occurrence of "STARTERKIT" with "foo".
|
||||||
|
|
||||||
|
It is recommended to use a text editing application with search and
|
||||||
|
"replace all" functionality.
|
||||||
|
|
||||||
|
5. Log in as an administrator on your Drupal site and go to Administer > Site
|
||||||
|
building > Themes (admin/build/themes) and enable your new sub-theme.
|
||||||
|
|
||||||
|
6. Internet explorer has a nasty bug that limits you to 31 stylsheets total. To
|
||||||
|
get around this limitation during theme development, download, install and
|
||||||
|
configure the "IE CSS Optimizer" module.
|
||||||
|
|
||||||
|
http://drupal.org/project/ie_css_optimizer
|
||||||
|
|
||||||
|
On a production server, you should enable full optimization of the "Optimize
|
||||||
|
CSS files" option on the Admin Performance page at
|
||||||
|
admin/settings/performance.
|
||||||
|
|
||||||
|
|
||||||
|
Optional:
|
||||||
|
|
||||||
|
7. MODIFYING ZEN CORE TEMPLATE FILES:
|
||||||
|
If you decide you want to modify any of the .tpl.php template files in the
|
||||||
|
zen folder, copy them to your sub-theme's folder before making any changes.
|
||||||
|
And then rebuild the theme registry.
|
||||||
|
|
||||||
|
For example, copy zen/templates/page.tpl.php to foo/templates/page.tpl.php.
|
||||||
|
|
||||||
|
8. THEMEING DRUPAL'S SEARCH FORM:
|
||||||
|
Copy the search-theme-form.tpl.php template file from the modules/search/
|
||||||
|
folder and place it in your sub-theme's folder. And then rebuild the theme
|
||||||
|
registry.
|
||||||
|
|
||||||
|
You can find a full list of Drupal templates that you can override in the
|
||||||
|
templates/README.txt file or http://drupal.org/node/190815
|
||||||
|
|
||||||
|
Why? In Drupal 6 theming, if you want to modify a template included by a
|
||||||
|
module, you should copy the template file from the module's directory to
|
||||||
|
your sub-theme's directory and then rebuild the theme registry. See the
|
||||||
|
Drupal 6 Theme Guide for more info: http://drupal.org/node/173880
|
||||||
|
|
||||||
|
9. FURTHER EXTENSIONS OF YOUR SUB-THEME:
|
||||||
|
Discover further ways to extend your sub-theme by reading Zen's
|
||||||
|
documentation online at:
|
||||||
|
http://drupal.org/node/193318
|
||||||
|
and Drupal 6's Theme Guide online at:
|
||||||
|
http://drupal.org/theme-guide
|
96
themes/zen/STARTERKIT/STARTERKIT.info.txt
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
; The name and description of the theme used on the admin/build/themes page.
|
||||||
|
name = Zen Sub-theme Starter Kit
|
||||||
|
description = Read the <a href="http://drupal.org/node/629510">online docs</a> or the included README.txt on how to create a Zen sub-theme.
|
||||||
|
|
||||||
|
; The screenshot used on the admin/build/themes page.
|
||||||
|
screenshot = screenshot.png
|
||||||
|
|
||||||
|
; "core" specifies the version of Drupal that this theme is compatible with.
|
||||||
|
; "base theme" specifies that this is a theme that uses the "zen" theme as its
|
||||||
|
; base theme. Its unlikely you will ever need to change these, but they are
|
||||||
|
; required fields for a Zen sub-theme. The "engine" field is not used in a
|
||||||
|
; sub-theme since the engine is inherited from its base theme.
|
||||||
|
core = 6.x
|
||||||
|
base theme = zen
|
||||||
|
|
||||||
|
; This section adds CSS files to your theme. The media type is specified in
|
||||||
|
; the brackets. Typical CSS media types include "all", "screen", "print", and
|
||||||
|
; "handheld". See http://www.w3.org/TR/CSS21/media.html#media-types for a full
|
||||||
|
; list of stylesheet media types in CSS 2.1. The iPhone's preferred media type
|
||||||
|
; is based on the CSS3 Media queries. http://www.w3.org/TR/css3-mediaqueries/
|
||||||
|
;
|
||||||
|
; You can also override any of Zen's stylesheets or any module's stylesheets,
|
||||||
|
; an /extremely/ useful feature. See the excellent Drupal 6 Theme Guide at
|
||||||
|
; http://drupal.org/node/263967 for more details.
|
||||||
|
stylesheets[all][] = css/html-reset.css
|
||||||
|
stylesheets[all][] = css/wireframes.css
|
||||||
|
stylesheets[all][] = css/layout-fixed.css
|
||||||
|
stylesheets[all][] = css/page-backgrounds.css
|
||||||
|
stylesheets[all][] = css/tabs.css
|
||||||
|
stylesheets[all][] = css/messages.css
|
||||||
|
stylesheets[all][] = css/pages.css
|
||||||
|
stylesheets[all][] = css/block-editing.css
|
||||||
|
stylesheets[all][] = css/blocks.css
|
||||||
|
stylesheets[all][] = css/navigation.css
|
||||||
|
stylesheets[all][] = css/panels-styles.css
|
||||||
|
stylesheets[all][] = css/views-styles.css
|
||||||
|
stylesheets[all][] = css/nodes.css
|
||||||
|
stylesheets[all][] = css/comments.css
|
||||||
|
stylesheets[all][] = css/forms.css
|
||||||
|
stylesheets[all][] = css/fields.css
|
||||||
|
stylesheets[print][] = css/print.css
|
||||||
|
; stylesheets[handheld][] = css/mobile.css
|
||||||
|
; stylesheets[only screen and (max-device-width: 480px)][] = css/iphone.css
|
||||||
|
|
||||||
|
; Set the conditional stylesheets that are processed by IE.
|
||||||
|
conditional-stylesheets[if IE][all][] = css/ie.css
|
||||||
|
conditional-stylesheets[if lte IE 6][all][] = css/ie6.css
|
||||||
|
|
||||||
|
; Optionally add some JavaScripts to your theme.
|
||||||
|
; scripts[] = js/script.js
|
||||||
|
|
||||||
|
; The regions defined in Zen's default page.tpl.php file. The name in
|
||||||
|
; brackets is the name of the variable in the page.tpl.php file, (e.g.
|
||||||
|
; "[content_top]" in the .info file means there should be a $content_top
|
||||||
|
; variable in the page.tpl.php file.) The text after the equals sign is a
|
||||||
|
; descriptive text used on the admin/build/blocks page.
|
||||||
|
;
|
||||||
|
; To add a new region, copy Zen's page.tpl.php to your sub-theme's directory,
|
||||||
|
; add a line line to this file, and then add the new variable to your
|
||||||
|
; page.tpl.php template.
|
||||||
|
regions[sidebar_first] = First sidebar
|
||||||
|
regions[sidebar_second] = Second sidebar
|
||||||
|
regions[navigation] = Navigation bar
|
||||||
|
regions[highlight] = Highlighted content
|
||||||
|
regions[content_top] = Content top
|
||||||
|
regions[content_bottom] = Content bottom
|
||||||
|
regions[header] = Header
|
||||||
|
regions[footer] = Footer
|
||||||
|
regions[page_closure] = Page closure
|
||||||
|
|
||||||
|
; Various page elements output by the theme can be toggled on and off. The
|
||||||
|
; "features" control which of these check boxes display on the
|
||||||
|
; admin/build/themes config page. This is useful for suppressing check boxes
|
||||||
|
; for elements not used by your sub-theme. To suppress a check box, omit the
|
||||||
|
; entry for it below. See the Drupal 6 Theme Guide for more info:
|
||||||
|
; http://drupal.org/node/171205#features
|
||||||
|
features[] = logo
|
||||||
|
features[] = name
|
||||||
|
features[] = slogan
|
||||||
|
features[] = mission
|
||||||
|
features[] = node_user_picture
|
||||||
|
features[] = comment_user_picture
|
||||||
|
features[] = search
|
||||||
|
features[] = favicon
|
||||||
|
features[] = primary_links
|
||||||
|
features[] = secondary_links
|
||||||
|
|
||||||
|
; Set the default settings to be used in theme-settings.php
|
||||||
|
settings[zen_block_editing] = 1
|
||||||
|
settings[zen_breadcrumb] = yes
|
||||||
|
settings[zen_breadcrumb_separator] = ' › '
|
||||||
|
settings[zen_breadcrumb_home] = 1
|
||||||
|
settings[zen_breadcrumb_trailing] = 1
|
||||||
|
settings[zen_breadcrumb_title] = 0
|
||||||
|
settings[zen_rebuild_registry] = 1
|
||||||
|
settings[zen_wireframes] = 0
|
134
themes/zen/STARTERKIT/css/README.txt
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
ZEN'S STYLESHEETS
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Don't panic!
|
||||||
|
|
||||||
|
There are 28 CSS files in this sub-theme, but its not as bad as it first seems:
|
||||||
|
- The drupal6-reference.css is just a reference file and isn't used directly by
|
||||||
|
your sub-theme. See below.
|
||||||
|
- There are 9 CSS files whose names end in "-rtl.css". Those are CSS files
|
||||||
|
needed to style content written in Right-to-Left languages, such as Arabic and
|
||||||
|
Hebrew. If your website doesn't use such languages, you can safely delete all
|
||||||
|
of those CSS files.
|
||||||
|
- If you aren't using this theme while doing wireframes of the functionality of
|
||||||
|
your sub-theme, you can remove wireframes.css from your sub-theme's .info file
|
||||||
|
and delete the file as well.
|
||||||
|
|
||||||
|
That leaves just 17 CSS files. (Okay, still quite a few, but better than 28.)
|
||||||
|
|
||||||
|
- Instead of one monolithic stylesheet, your sub-theme's CSS files are organized
|
||||||
|
into several smaller stylesheets that are grouped to allow cascading across
|
||||||
|
common Drupal template files.
|
||||||
|
- The order of the stylesheets is designed to allow CSS authors to use the
|
||||||
|
lowest specificity possible to achieve the required styling.
|
||||||
|
|
||||||
|
|
||||||
|
ORDER AND PURPOSE OF DEFAULT STYLESHEETS
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
First off, if you find you don't like this organization of stylesheets, you are
|
||||||
|
free to change it; simply edit the stylesheet declarations in your sub-theme's
|
||||||
|
.info file. This structure was crafted based on several years of experience
|
||||||
|
theming Drupal websites.
|
||||||
|
|
||||||
|
- html-reset.css:
|
||||||
|
This is the place where you should set the default styling for all HTML
|
||||||
|
elements and standardize the styling across browsers. If you prefer a specific
|
||||||
|
reset method, feel free to add it.
|
||||||
|
|
||||||
|
- layout-fixed.css:
|
||||||
|
- layout-liquid.css:
|
||||||
|
Zen's default layout is based on the Zen Columns layout method. The
|
||||||
|
layout-fixed.css file is used by default and can be swapped with the
|
||||||
|
layout-liquid.css file. These files are designed to be easily replaced. If you
|
||||||
|
are more familiar with a different CSS layout method, such as Blueprint or
|
||||||
|
960.gs, you can replace these files with your choice of layout CSS file.
|
||||||
|
|
||||||
|
- page-backgrounds.css:
|
||||||
|
Layered backgrounds across scattered divs can be easier to manage if they are
|
||||||
|
centralized in one location.
|
||||||
|
|
||||||
|
- tabs.css:
|
||||||
|
- messages.css:
|
||||||
|
While most of the CSS rulesets in your sub-theme are guidelines without any
|
||||||
|
actual properties, the tabs and messages stylesheets contain actual styling
|
||||||
|
for Drupal tabs and Drupal status messages; two common Drupal elements that
|
||||||
|
are often neglected by site desiners. Zen provides some basic styling which
|
||||||
|
you are free to use or to rip out and replace.
|
||||||
|
|
||||||
|
- pages.css:
|
||||||
|
Page styling for the markup in the page.tpl.php template.
|
||||||
|
|
||||||
|
- blocks.css:
|
||||||
|
Block styling for the markup in the block.tpl.php template.
|
||||||
|
|
||||||
|
- navigation.css:
|
||||||
|
The styling for your site's menus can get quite bulky and its easier to see
|
||||||
|
all the styles if they are grouped together rather then across the
|
||||||
|
header/footer sections of pages.css and in blocks.css.
|
||||||
|
|
||||||
|
- views-styles.css:
|
||||||
|
Views styling for the markup in various views templates. You'll notice this
|
||||||
|
stylesheet isn't called "views.css" as that would override (remove) the Views
|
||||||
|
module's stylesheet.
|
||||||
|
|
||||||
|
- nodes.css:
|
||||||
|
Node styling for the markkup in the node.tpl.php template.
|
||||||
|
|
||||||
|
- comments.css:
|
||||||
|
Comment styling for the markup in the comment-wrapper.tpl.php and
|
||||||
|
comments.tpl.php templates.
|
||||||
|
|
||||||
|
- forms.css:
|
||||||
|
Form styling for the markup in various Drupal forms.
|
||||||
|
|
||||||
|
- fields.css:
|
||||||
|
Field styling for the markup produced by theme_field().
|
||||||
|
|
||||||
|
- print.css:
|
||||||
|
The print styles for all markup.
|
||||||
|
|
||||||
|
- ie.css:
|
||||||
|
- ie6.css:
|
||||||
|
The Internet Explorer stylesheets are added via conditional comments. Many CSS
|
||||||
|
authors find using IE "conditional stylesheets" much easier then writing
|
||||||
|
rulesets with CSS hacks that are known to only apply to various versions of
|
||||||
|
IE. An alternative method presented by Paul Irish can be found at
|
||||||
|
http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
|
||||||
|
|
||||||
|
In these stylesheets, we have included all of the classes and IDs from this
|
||||||
|
theme's tpl.php files. We have also included many of the useful Drupal core
|
||||||
|
styles to make it easier for theme developers to see them.
|
||||||
|
|
||||||
|
|
||||||
|
DRUPAL CORE'S STYLESHEETS
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Many of these styles are over-riding Drupal's core stylesheets, so if you remove
|
||||||
|
a declaration from them, the styles may still not be what you want since
|
||||||
|
Drupal's core stylesheets are still styling the element. See the
|
||||||
|
drupal6-reference.css file for a complete list of all Drupal 6.x core styles.
|
||||||
|
|
||||||
|
In addition to the style declarations in these stylesheets, other Drupal styles
|
||||||
|
that you might want to override or augment are those for:
|
||||||
|
|
||||||
|
Book Navigation See line 74 of drupal6-reference.css file
|
||||||
|
Forum See line 197 of drupal6-reference.css file
|
||||||
|
Menus See line 667 of drupal6-reference.css file
|
||||||
|
News Aggregator See line 20 of drupal6-reference.css file
|
||||||
|
Polls See line 287 of drupal6-reference.css file
|
||||||
|
Search See line 320 of drupal6-reference.css file
|
||||||
|
User Profiles See line 945 of drupal6-reference.css file
|
||||||
|
|
||||||
|
|
||||||
|
INTERNET EXLORER HATES YOU
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
All versions of IE limit you to 31 stylesheets total. What that means is that
|
||||||
|
only the first 31 stylesheets will load, ignoring the others. So you'll have
|
||||||
|
missing styles in IE7 and later and a broken layout in IE6.
|
||||||
|
|
||||||
|
This is a known bug in IE: http://support.microsoft.com/kb/262161
|
||||||
|
|
||||||
|
Please read http://john.albin.net/css/ie-stylesheets-not-loading for the gory
|
||||||
|
details.
|
10
themes/zen/STARTERKIT/css/block-editing-rtl.css
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the block-editing.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
div.block.with-block-editing div.edit {
|
||||||
|
left: 0;
|
||||||
|
right: auto;
|
||||||
|
}
|
25
themes/zen/STARTERKIT/css/block-editing.css
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen's rollover edit links for blocks.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
div.block.with-block-editing {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.block.with-block-editing div.edit {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
right: 0; /* LTR */
|
||||||
|
top: 0;
|
||||||
|
z-index: 40;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
padding: 0 2px;
|
||||||
|
font-size: 0.75em;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.block.with-block-editing:hover div.edit {
|
||||||
|
display: block;
|
||||||
|
}
|
96
themes/zen/STARTERKIT/css/blocks.css
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Block Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.block /* Block wrapper */ {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.first /* The first block in the region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.last /* The last block in the region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.region-odd /* Zebra striping for each block in the region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.region-even /* Zebra striping for each block in the region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.odd /* Zebra striping independent of each region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block.even /* Zebra striping independent of each region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-count-1 /* Incremental count for each block in the region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.count-1 /* Incremental count independent of each region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block h2.title /* Block title */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.block .content /* Block's content wrapper */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-aggregator-category-1 /* Block for the latest news items in the first category */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-aggregator-feed-1 /* Block for the latest news items in the first feed */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-block-1 /* First administrator-defined block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-blog-0 /* "Recent blog posts" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-book-0 /* "Book navigation" block for the current book's table of contents */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-comment-0 /* "Recent comments" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-forum-0 /* "Active forum topics" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-forum-1 /* "New forum topics" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-menu-primary-links /* "Primary links" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-menu-secondary-links /* "Secondary links" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-node-0 /* "Syndicate" block for primary RSS feed */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-poll-0 /* "Most recent poll" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-profile-0 /* "Author information" block for the profile of the page's author */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-search-0 /* "Search form" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-statistics-0 /* "Popular content" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-user-0 /* "User login form" block */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-user-1 /* "Navigation" block for Drupal navigation menu */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-user-2 /* "Who's new" block for a list of the newest users */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#block-user-3 /* "Who's online" block for a list of the online users */ {
|
||||||
|
}
|
79
themes/zen/STARTERKIT/css/comments.css
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Comment Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#comments /* Wrapper for the list of comments and its title */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#comments h2.title /* Heading for the list of comments */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment /* Wrapper for a single comment */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-preview /* Preview of the comment before submitting new or updated comment */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment.new /* A new comment since the user last viewed the page. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment.first /* The first comment in the list of comments */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment.last /* The last comment in the list of comments */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment.odd /* An odd-numbered comment in the list of comments */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment.even /* An even-numbered comment in the list of comments */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-unpublished /* Unpublished comments */ {
|
||||||
|
/* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. See also the div.unpublished declaration in the nodes.css. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-by-anonymous /* A comment created by an anonymous user */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-by-node-author /* A comment created by the node's author */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-by-viewer /* A comment created by the current user */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment h3.title /* Comment title */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.new /* "New" marker for comments that are new for the current user */ {
|
||||||
|
color: #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment .picture /* The picture of the comment author */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment .submitted /* The "posted by" information */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment .content /* Comment's content wrapper */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment .user-signature /* The user's signature */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment ul.links /* Comment links. See also the ul.links declaration in the pages.css. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.indented /* Nested comments are indented */ {
|
||||||
|
/* margin-left: 25px; */ /* Drupal core uses a 25px left margin */
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview .comment /* Preview of the comment before submitting new or updated comment */ {
|
||||||
|
/* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */
|
||||||
|
}
|
1983
themes/zen/STARTERKIT/css/drupal6-reference.css
Normal file
44
themes/zen/STARTERKIT/css/fields.css
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Field Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Field types
|
||||||
|
*/
|
||||||
|
|
||||||
|
.field /* Wrapper for any CCK field. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-datetime /* Always use "datetime" when creating new CCK date fields. "date" and "datestamp" are legacy types. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-filefield /* Field from filefield module */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-nodereference {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-number-decimal {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-number-float {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-number-integer {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-text {
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-type-userreference {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Named fields
|
||||||
|
*/
|
||||||
|
|
||||||
|
.field-field-FIELDNAME /* Underscores in field name are replaced with dashes. */ {
|
||||||
|
}
|
46
themes/zen/STARTERKIT/css/forms-rtl.css
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the forms.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal's default login form block
|
||||||
|
*/
|
||||||
|
#user-login-form {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenID
|
||||||
|
*
|
||||||
|
* The default styling for the OpenID login link seems to assume Garland's
|
||||||
|
* styling of list items.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#user-login-form li.openid-link /* The "Log in using OpenID" link. */ {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: -20px; /* Un-do some of the padding on the ul list. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#user-login li.openid-link,
|
||||||
|
#user-login li.user-link /* The OpenID links on the /user form. */ {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: -2em; /* Un-do all of the padding on the ul list. */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal admin tables
|
||||||
|
*
|
||||||
|
* We overrode these styles in html-elements.css, but restore them for the admin
|
||||||
|
* section of the site.
|
||||||
|
*/
|
||||||
|
|
||||||
|
form th,
|
||||||
|
form thead th {
|
||||||
|
text-align: right;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
134
themes/zen/STARTERKIT/css/forms.css
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Form Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.form-item,
|
||||||
|
.form-checkboxes,
|
||||||
|
.form-radios /* Wrapper for a form element (or group of form elements) and its label */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item input.error,
|
||||||
|
.form-item textarea.error,
|
||||||
|
.form-item select.error /* Highlight the form elements that caused a form submission error */ {
|
||||||
|
border: 2px solid #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item label /* The label for a form element */ {
|
||||||
|
display: block;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item label.option /* The label for a radio button or checkbox */ {
|
||||||
|
display: inline;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-required /* The part of the label that indicates a required field */ {
|
||||||
|
color: #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item .description /* The descriptive help text (separate from the label) */ {
|
||||||
|
font-size: 0.85em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-checkboxes .form-item,
|
||||||
|
.form-radios .form-item /* Pack groups of checkboxes and radio buttons closer together */ {
|
||||||
|
margin: 0.4em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-submit /* The submit button */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.container-inline div,
|
||||||
|
.container-inline label /* Inline labels and form divs */ {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips /* Tips for Drupal's input formats */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Search (search-theme-form.tpl.php)
|
||||||
|
*/
|
||||||
|
#search-box /* Wrapper for the search form */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#edit-search-theme-form-1-wrapper label /* Label that says "Search this site:" */ {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Search (search-block-form.tpl.php)
|
||||||
|
*/
|
||||||
|
#search-block-form /* Wrapper for the search form */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
#edit-search-block-form-1-wrapper label /* Label that says "Search this site:" */ {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal's default login form block
|
||||||
|
*/
|
||||||
|
#user-login-form {
|
||||||
|
text-align: left; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenID
|
||||||
|
*
|
||||||
|
* The default styling for the OpenID login link seems to assume Garland's
|
||||||
|
* styling of list items.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#user-login-form ul /* OpenID creates a new ul above the login form's links. */ {
|
||||||
|
margin-bottom: 0; /* Position OpenID's ul next to the rest of the links. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#user-login-form li.openid-link /* The "Log in using OpenID" link. */ {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-left: -20px; /* LTR */ /* Un-do some of the padding on the ul list. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#user-login-form li.user-link /* The "Cancel OpenID login" link. */ {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#user-login ul {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#user-login li.openid-link,
|
||||||
|
#user-login li.user-link /* The OpenID links on the /user form. */ {
|
||||||
|
margin-left: -2em; /* LTR */ /* Un-do all of the padding on the ul list. */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal admin tables
|
||||||
|
*
|
||||||
|
* We overrode these styles in html-elements.css, but restore them for the admin
|
||||||
|
* section of the site.
|
||||||
|
*/
|
||||||
|
|
||||||
|
form tbody {
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
form th,
|
||||||
|
form thead th {
|
||||||
|
text-align: left; /* LTR */
|
||||||
|
padding-right: 1em; /* LTR */
|
||||||
|
border-bottom: 3px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
form tbody th {
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
}
|
37
themes/zen/STARTERKIT/css/html-reset-rtl.css
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the html-reset.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Lists
|
||||||
|
*
|
||||||
|
* We need to standardize the list item indentation.
|
||||||
|
*/
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block ul,
|
||||||
|
.item-list ul /* Drupal overrides */ {
|
||||||
|
padding: 0 2em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0 2em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tables
|
||||||
|
*
|
||||||
|
* Drupal provides table styling which is only useful for its admin section
|
||||||
|
* forms, so we override this default CSS. (We set it back in forms.css.)
|
||||||
|
*/
|
||||||
|
th,
|
||||||
|
thead th,
|
||||||
|
tbody th {
|
||||||
|
text-align: right;
|
||||||
|
}
|
291
themes/zen/STARTERKIT/css/html-reset.css
Normal file
|
@ -0,0 +1,291 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* HTML Element Styling
|
||||||
|
*
|
||||||
|
* Ok, I admit it. I fooled you. This isn't a "reset" stylesheet. Instead this
|
||||||
|
* is the place where you should set (not reset) the default styling for all
|
||||||
|
* HTML elements.
|
||||||
|
*
|
||||||
|
* @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/
|
||||||
|
* @see http://snook.ca/archives/html_and_css/no_css_reset/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fonts
|
||||||
|
*
|
||||||
|
* Our font size and line height declarations are based on the following ALA
|
||||||
|
* article:
|
||||||
|
* http://www.alistapart.com/articles/howtosizetextincss
|
||||||
|
*
|
||||||
|
* All modern browsrs use a 16px default font size. Specifying the font-size
|
||||||
|
* and line-height in ems (relative to the 16px default font) allows the user
|
||||||
|
* to resize the font in the browser and produces the most consistent results
|
||||||
|
* across different browsers.
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
font-size: 100%; /* Fixes exaggerated text resizing in IE6 and IE7 */
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link,
|
||||||
|
#page {
|
||||||
|
/*
|
||||||
|
* To use a 12px font size on the page, delete the 14px declarations.
|
||||||
|
* to use a 14px font size on the page, delete the 12px declarations.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Use a 12px base font size with a 16px line height */
|
||||||
|
font-size: 0.75em; /* 16px x .75 = 12px */
|
||||||
|
line-height: 1.333em; /* 12px x 1.333 = 16px */
|
||||||
|
|
||||||
|
/* Use a 14px base font size with a 18px line height */
|
||||||
|
font-size: 0.875em; /* 16px x .875 = 14px */
|
||||||
|
line-height: 1.286em; /* 14px x 1.286 = 18px */
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
caption,
|
||||||
|
th,
|
||||||
|
td,
|
||||||
|
input,
|
||||||
|
textarea,
|
||||||
|
select,
|
||||||
|
option,
|
||||||
|
legend,
|
||||||
|
fieldset {
|
||||||
|
/* The following font family declarations are based on the Microsoft core web
|
||||||
|
* fonts which are common fonts available on most computer systems. The DejaVu
|
||||||
|
* fonts are commonly available on Linux systems where the MS fonts are less
|
||||||
|
* common. Tahoma and Helvetica are also widely available.
|
||||||
|
*
|
||||||
|
* A user's web browser will look at the comma-separated list and will
|
||||||
|
* attempt to use each font in turn until it finds one that is available
|
||||||
|
* on the user's computer. The final "generic" font (sans-serif or serif)
|
||||||
|
* hints at what type of font to use if the web browser doesn't find any
|
||||||
|
* of the fonts in the list.
|
||||||
|
|
||||||
|
font-family: "Times New Roman", Times, Georgia, "DejaVu Serif", serif;
|
||||||
|
font-family: Times, "Times New Roman", Georgia, "DejaVu Serif", serif;
|
||||||
|
font-family: Georgia, "Times New Roman", "DejaVu Serif", serif;
|
||||||
|
|
||||||
|
font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif;
|
||||||
|
font-family: Tahoma, Verdana, "DejaVu Sans", sans-serif;
|
||||||
|
font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif;
|
||||||
|
font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif;
|
||||||
|
|
||||||
|
font-family: "Courier New", "DejaVu Sans Mono", monospace;
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-size: 1.1em; /* Monospace fonts can be hard to read */
|
||||||
|
font-family: "Courier New", "DejaVu Sans Mono", monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Headings
|
||||||
|
*/
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
line-height: 1.3em;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0.5em; /* 0.5em is equavalent to 1em in the page's base font.
|
||||||
|
Remember, a margin specified in ems is relative to
|
||||||
|
the element's font-size, not to the pages' base
|
||||||
|
font size. So, for example, if we want a 1em margin
|
||||||
|
(relative to the base font), we have to divide that
|
||||||
|
length by the element's font-size:
|
||||||
|
1em / 2em = 0.5em */
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
line-height: 1.3em;
|
||||||
|
margin-top: 0.667em; /* Equivalent to 1em in the page's base font: 1 / 1.5 = 0.667em */
|
||||||
|
margin-bottom: 0.667em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.3em;
|
||||||
|
line-height: 1.3em;
|
||||||
|
margin-top: 0.769em; /* Equivalent to 1em in the page's base font: 1 / 1.3 = 0.769 */
|
||||||
|
margin-bottom: 0.769em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-size: 1.1em;
|
||||||
|
line-height: 1.3em;
|
||||||
|
margin-top: 0.909em; /* Equivalent to 1em in the page's base font: 1 / 1.1 = 0.909 */
|
||||||
|
margin-bottom: 0.909em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Block-level elements
|
||||||
|
*/
|
||||||
|
p,
|
||||||
|
ul,
|
||||||
|
ol,
|
||||||
|
dl,
|
||||||
|
pre,
|
||||||
|
table,
|
||||||
|
fieldset {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin: 1em 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Lists
|
||||||
|
*
|
||||||
|
* We need to standardize the list item indentation.
|
||||||
|
*/
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin-left: 0;
|
||||||
|
padding-left: 2em; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
.block ul,
|
||||||
|
.item-list ul /* Drupal overrides */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: 0 0 0 2em; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul ul, ul ol,
|
||||||
|
ol ol, ol ul,
|
||||||
|
.block ul ul, .block ul ol,
|
||||||
|
.block ol ol, .block ol ul,
|
||||||
|
.item-list ul ul, .item-list ul ol,
|
||||||
|
.item-list ol ol, .item-list ol ul {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-list ul li /* Drupal override */ {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.menu li,
|
||||||
|
li.expanded,
|
||||||
|
li.collapsed,
|
||||||
|
li.leaf /* Drupal override */ {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul { list-style-type: disc; }
|
||||||
|
ul ul { list-style-type: circle; }
|
||||||
|
ul ul ul { list-style-type: square; }
|
||||||
|
ul ul ul ul { list-style-type: circle; }
|
||||||
|
ol { list-style-type: decimal; }
|
||||||
|
ol ol { list-style-type: lower-alpha; }
|
||||||
|
ol ol ol { list-style-type: decimal; }
|
||||||
|
|
||||||
|
dt {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0 0 0 2em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Links
|
||||||
|
*
|
||||||
|
* The order of link states are based on Eric Meyer's article:
|
||||||
|
* http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states
|
||||||
|
*/
|
||||||
|
a:link {
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover,
|
||||||
|
a:focus {
|
||||||
|
}
|
||||||
|
|
||||||
|
a:active {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tables
|
||||||
|
*
|
||||||
|
* Drupal provides table styling which is only useful for its admin section
|
||||||
|
* forms, so we override this default CSS. (We set it back in forms.css.)
|
||||||
|
*/
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
/* width: 100%; */ /* Prevent cramped-looking tables */
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
thead th,
|
||||||
|
tbody th {
|
||||||
|
text-align: left; /* LTR */
|
||||||
|
padding: 0;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tbody {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Abbreviations
|
||||||
|
*/
|
||||||
|
abbr {
|
||||||
|
border-bottom: 1px dotted #666;
|
||||||
|
cursor: help;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr.created /* Date-based "abbreviations" show computer-friendly timestamps which are not human-friendly. */ {
|
||||||
|
border: none;
|
||||||
|
cursor: auto;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Images
|
||||||
|
*/
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Horizontal rules
|
||||||
|
*/
|
||||||
|
hr {
|
||||||
|
height: 1px;
|
||||||
|
border: 1px solid #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Forms
|
||||||
|
*/
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
47
themes/zen/STARTERKIT/css/ie.css
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* CSS targeted specifically for Internet Explorer for Windows.
|
||||||
|
*
|
||||||
|
* Any CSS in this file will apply to all versions of IE. You can target
|
||||||
|
* specific versions of IE by using conditional comments. See your sub-theme's
|
||||||
|
* .info file for an easy way to use them.
|
||||||
|
*
|
||||||
|
* While building your theme, you should be aware that IE limits Drupal to 31
|
||||||
|
* stylesheets total. The work-around for the bug is to enable CSS aggregation
|
||||||
|
* under: admin / settings / performance.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tabs
|
||||||
|
*/
|
||||||
|
ul.primary li a,
|
||||||
|
ul.primary li a .tab,
|
||||||
|
ul.secondary li a,
|
||||||
|
ul.secondary li a .tab {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal nodes
|
||||||
|
*/
|
||||||
|
.node-unpublished .node-inner>* {
|
||||||
|
position: relative; /* Otherwise these elements will appear below the "Unpublished" text. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal admin tables
|
||||||
|
*/
|
||||||
|
tr.even th,
|
||||||
|
tr.even td,
|
||||||
|
tr.odd th,
|
||||||
|
tr.odd td {
|
||||||
|
border-bottom: 1px solid #ccc; /* IE doesn't display borders on table rows */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Markup free clearing
|
||||||
|
*/
|
||||||
|
.clearfix {
|
||||||
|
zoom: 1;
|
||||||
|
}
|
12
themes/zen/STARTERKIT/css/ie6-rtl.css
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the ie6.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Layout CSS
|
||||||
|
*/
|
||||||
|
#page {
|
||||||
|
text-align: right; /* 2nd part of IE5/IE6quirks centering hack */
|
||||||
|
}
|
105
themes/zen/STARTERKIT/css/ie6.css
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* CSS targeted specifically for Internet Explorer 5 and 6 for Windows.
|
||||||
|
*
|
||||||
|
* Any CSS in this file will override the rules specified in the ie.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Layout CSS
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
text-align: center; /* 1st part of IE5/IE6quirks centering hack */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
text-align: left; /* LTR */ /* 2nd part of IE5/IE6quirks centering hack */
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-wrapper {
|
||||||
|
zoom: 1; /* Otherwise with a liquid layout, sidebars disappear when resizing the windows in IE6 */
|
||||||
|
}
|
||||||
|
|
||||||
|
#content,
|
||||||
|
#navigation,
|
||||||
|
.region-sidebar-first,
|
||||||
|
.region-sidebar-second /* Floating divs */ {
|
||||||
|
display: inline; /* display inline or double your floated margin! [1] */
|
||||||
|
overflow: hidden; /* in ie6, overflow auto is broken [2] and so is overflow visible [3] */
|
||||||
|
overflow-y: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tabs - IE 5 and 6 don't support PNGs with alpha transparency.
|
||||||
|
*/
|
||||||
|
|
||||||
|
ul.primary li a,
|
||||||
|
ul.primary li a .tab,
|
||||||
|
ul.secondary li a,
|
||||||
|
ul.secondary li a .tab {
|
||||||
|
display: inline-block; /* Otherwise the blocks mistakenly get 100% width in IE6 */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a {
|
||||||
|
background: url(../images/tab-left-ie6.png) no-repeat left -38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a .tab {
|
||||||
|
background: url(../images/tab-right-ie6.png) no-repeat right -38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a:hover,
|
||||||
|
ul.primary li a:focus {
|
||||||
|
background: url(../images/tab-left-ie6.png) no-repeat left -76px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a:hover .tab,
|
||||||
|
ul.primary li a:focus .tab {
|
||||||
|
background: url(../images/tab-right-ie6.png) no-repeat right -76px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li.active a,
|
||||||
|
ul.primary li.active a:hover,
|
||||||
|
ul.primary li.active a:focus {
|
||||||
|
background: url(../images/tab-left-ie6.png) no-repeat left 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li.active a .tab,
|
||||||
|
ul.primary li.active a:hover .tab,
|
||||||
|
ul.primary li.active a:focus .tab {
|
||||||
|
background: url(../images/tab-right-ie6.png) no-repeat right 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Messages - IE 5 and 6 don't support PNGs with alpha transparency.
|
||||||
|
*/
|
||||||
|
|
||||||
|
div.messages,
|
||||||
|
div.status,
|
||||||
|
div.warning,
|
||||||
|
div.error /* Important messages (status, warning, and error) for the user */ {
|
||||||
|
background-image: url(../images/messages-status-ie6.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning /* Medium priority messages */ {
|
||||||
|
background-image: url(../images/messages-warning-ie6.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.error /* High priority messages. See also the .error declaration below. */ {
|
||||||
|
background-image: url(../images/messages-error-ie6.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* REFERENCES
|
||||||
|
*
|
||||||
|
|
||||||
|
1. http://www.positioniseverything.net/explorer/doubled-margin.html
|
||||||
|
2. http://browservulsel.blogspot.com/2005/04/ie-overflow-auto-scrollbar-overlap.html
|
||||||
|
3. http://www.howtocreate.co.uk/wrongWithIE/?chapter=overflow%3Avisible%3B
|
||||||
|
4. http://www.ryanbrill.com/archives/multiple-classes-in-ie
|
||||||
|
|
||||||
|
*
|
||||||
|
*/
|
74
themes/zen/STARTERKIT/css/layout-fixed-rtl.css
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the layout-fixed.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
#content,
|
||||||
|
.no-sidebars #content {
|
||||||
|
float: right;
|
||||||
|
margin-left: -960px; /* Negative value of #content's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-first #content {
|
||||||
|
margin-left: -960px; /* Negative value of #content's width + right margin. */
|
||||||
|
margin-right: 200px; /* The width of .region-sidebar-first. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-second #content {
|
||||||
|
margin-left: -760px; /* Negative value of #content's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.two-sidebars #content {
|
||||||
|
margin-left: -760px; /* Negative value of #content's width + right margin. */
|
||||||
|
margin-right: 200px; /* The width of .region-sidebar-first */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Navigation
|
||||||
|
*/
|
||||||
|
#navigation {
|
||||||
|
float: right;
|
||||||
|
margin-left: -100%; /* Negative value of #navigation's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation ul /* Primary and secondary links */ {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li /* A simple method to get navigation links to appear in one line. */ {
|
||||||
|
float: right;
|
||||||
|
padding: 0 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-first {
|
||||||
|
float: right;
|
||||||
|
margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-first .section {
|
||||||
|
margin: 0 0 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Second sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-second {
|
||||||
|
float: right;
|
||||||
|
margin-left: -960px; /* Negative value of .region-sidebar-second's width + right margin. */
|
||||||
|
margin-right: 760px; /* Width of content + sidebar-first. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-second .section {
|
||||||
|
margin: 0 20px 0 0;
|
||||||
|
}
|
212
themes/zen/STARTERKIT/css/layout-fixed.css
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Layout Styling (DIV Positioning)
|
||||||
|
*
|
||||||
|
* Define CSS classes to create a table-free, 3-column, 2-column, or single
|
||||||
|
* column layout depending on whether blocks are enabled in the left or right
|
||||||
|
* columns.
|
||||||
|
*
|
||||||
|
* This layout is based on the Zen Columns layout method.
|
||||||
|
* http://drupal.org/node/201428
|
||||||
|
*
|
||||||
|
* Only CSS that affects the layout (positioning) of major elements should be
|
||||||
|
* listed here. Such as:
|
||||||
|
* display, position, float, clear, width, height, min-width, min-height
|
||||||
|
* margin, border, padding, overflow
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Body
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-wrapper,
|
||||||
|
.region-page-closure {
|
||||||
|
/*
|
||||||
|
* If you want to make the page a fixed width and centered in the viewport,
|
||||||
|
* this is the standards-compliant way to do that. See also the ie6.css file
|
||||||
|
* for the necessary IE5/IE6quirks hack to center a div.
|
||||||
|
*/
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 960px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header
|
||||||
|
*/
|
||||||
|
#header {
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-box {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-header {
|
||||||
|
clear: both; /* Clear the logo */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main (container for everything else)
|
||||||
|
*/
|
||||||
|
#main-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
#content,
|
||||||
|
.no-sidebars #content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 960px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-first #content {
|
||||||
|
width: 760px;
|
||||||
|
margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first. */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-second #content {
|
||||||
|
width: 760px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.two-sidebars #content {
|
||||||
|
width: 560px;
|
||||||
|
margin-left: 200px; /* LTR */ /* The width of .region-sidebar-first */
|
||||||
|
margin-right: -760px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#content .section {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Navigation
|
||||||
|
*/
|
||||||
|
#navigation {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 100%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */
|
||||||
|
height: 2.3em; /* The navigation can have any arbritrary height. We picked one
|
||||||
|
that is the line-height plus 1em: 1.3 + 1 = 2.3
|
||||||
|
Set this to the same value as the margin-top below. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.with-navigation #content,
|
||||||
|
.with-navigation .region-sidebar-first,
|
||||||
|
.with-navigation .region-sidebar-second {
|
||||||
|
margin-top: 2.3em; /* Set this to the same value as the navigation height above. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation ul /* Primary and secondary links */ {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
text-align: left; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li /* A simple method to get navigation links to appear in one line. */ {
|
||||||
|
float: left; /* LTR */
|
||||||
|
padding: 0 10px 0 0; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 200px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-first .section {
|
||||||
|
margin: 0 20px 0 0; /* LTR */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Second sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 200px;
|
||||||
|
margin-left: 760px; /* LTR */ /* Width of content + sidebar-first. */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of .region-sidebar-second's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-second .section {
|
||||||
|
margin: 0 0 0 20px; /* LTR */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Footer
|
||||||
|
*/
|
||||||
|
#footer {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Closure
|
||||||
|
*/
|
||||||
|
.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevent overflowing content
|
||||||
|
*/
|
||||||
|
#header,
|
||||||
|
#content,
|
||||||
|
#navigation,
|
||||||
|
.region-sidebar-first,
|
||||||
|
.region-sidebar-second,
|
||||||
|
#footer,
|
||||||
|
.region-page-closure {
|
||||||
|
overflow: visible;
|
||||||
|
word-wrap: break-word; /* A very nice CSS3 property */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation {
|
||||||
|
overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If a div.clearfix doesn't have any content after it and its bottom edge
|
||||||
|
* touches the bottom of the viewport, Firefox and Safari will mistakenly
|
||||||
|
* place several pixels worth of space between the bottom of the div and the
|
||||||
|
* bottom of the viewport. Uncomment this CSS property to fix this.
|
||||||
|
* Note: with some over-large content, this property might cause scrollbars
|
||||||
|
* to appear on the #page-wrapper div.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
#page-wrapper {
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
*/
|
68
themes/zen/STARTERKIT/css/layout-liquid-rtl.css
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the layout-liquid.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
#content {
|
||||||
|
float: right;
|
||||||
|
margin-left: -100%; /* Negative value of #content's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-first #content .section {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 200px; /* The width + right margin of .region-sidebar-first. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-second #content .section {
|
||||||
|
padding-left: 200px; /* The width + left margin of .region-sidebar-second. */
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Navigation
|
||||||
|
*/
|
||||||
|
#navigation {
|
||||||
|
float: right;
|
||||||
|
margin-left: -100%; /* Negative value of #navigation's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation ul /* Primary and secondary links */ {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li /* A simple method to get navigation links to appear in one line. */ {
|
||||||
|
float: right;
|
||||||
|
padding: 0 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-first {
|
||||||
|
float: right;
|
||||||
|
margin-left: -200px; /* Negative value of .region-sidebar-first's width + right margin. */
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-first .section {
|
||||||
|
margin: 0 0 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Second sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-second {
|
||||||
|
float: left;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: -200px; /* Negative value of .region-sidebar-second's width + left margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-second .section {
|
||||||
|
margin: 0 20px 0 0;
|
||||||
|
}
|
202
themes/zen/STARTERKIT/css/layout-liquid.css
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Layout Styling (DIV Positioning)
|
||||||
|
*
|
||||||
|
* Define CSS classes to create a table-free, 3-column, 2-column, or single
|
||||||
|
* column layout depending on whether blocks are enabled in the left or right
|
||||||
|
* columns.
|
||||||
|
*
|
||||||
|
* This layout is based on the Zen Columns layout method.
|
||||||
|
* http://drupal.org/node/201428
|
||||||
|
*
|
||||||
|
* Only CSS that affects the layout (positioning) of major elements should be
|
||||||
|
* listed here. Such as:
|
||||||
|
* display, position, float, clear, width, height, min-width, min-height
|
||||||
|
* margin, border, padding, overflow
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Body
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-wrapper,
|
||||||
|
.region-page-closure {
|
||||||
|
min-width: 960px; /* Don't allow the browser to make the site unreadable. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header
|
||||||
|
*/
|
||||||
|
#header {
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-box {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-header {
|
||||||
|
clear: both; /* Clear the logo */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main (container for everything else)
|
||||||
|
*/
|
||||||
|
#main-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
#content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 100%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#content .section,
|
||||||
|
.no-sidebars #content .section {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-first #content .section {
|
||||||
|
padding-left: 200px; /* LTR */ /* The width + left margin of .region-sidebar-first. */
|
||||||
|
padding-right: 0; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-second #content .section {
|
||||||
|
padding-left: 0; /* LTR */
|
||||||
|
padding-right: 200px; /* LTR */ /* The width + right margin of .region-sidebar-second. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.two-sidebars #content .section {
|
||||||
|
padding-left: 200px; /* The width + left margin of .region-sidebar-first. */
|
||||||
|
padding-right: 200px; /* The width + right margin of .region-sidebar-second. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Navigation
|
||||||
|
*/
|
||||||
|
#navigation {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 100%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */
|
||||||
|
height: 2.3em; /* The navigation can have any arbritrary height. We picked one
|
||||||
|
that is the line-height plus 1em: 1.3 + 1 = 2.3
|
||||||
|
Set this to the same value as the margin-top below. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.with-navigation #content,
|
||||||
|
.with-navigation .region-sidebar-first,
|
||||||
|
.with-navigation .region-sidebar-second {
|
||||||
|
margin-top: 2.3em; /* Set this to the same value as the navigation height above. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation ul /* Primary and secondary links */ {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
text-align: left; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li /* A simple method to get navigation links to appear in one line. */ {
|
||||||
|
float: left; /* LTR */
|
||||||
|
padding: 0 10px 0 0; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 200px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -200px; /* LTR */ /* Negative value of .region-sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-first .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-first .section {
|
||||||
|
margin: 0 20px 0 0; /* LTR */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Second sidebar
|
||||||
|
*/
|
||||||
|
.region-sidebar-second {
|
||||||
|
float: right; /* LTR */
|
||||||
|
width: 200px;
|
||||||
|
margin-left: -200px; /* LTR */ /* Negative value of .region-sidebar-second's width + right margin. */
|
||||||
|
margin-right: 0; /* LTR */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-sidebar-second .section. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-second .section {
|
||||||
|
margin: 0 0 0 20px; /* LTR */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Footer
|
||||||
|
*/
|
||||||
|
#footer {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Closure
|
||||||
|
*/
|
||||||
|
.region-page-closure /* See also the #page-wrapper declaration above that this div shares. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevent overflowing content
|
||||||
|
*/
|
||||||
|
#header,
|
||||||
|
#content,
|
||||||
|
#navigation,
|
||||||
|
.region-sidebar-first,
|
||||||
|
.region-sidebar-second,
|
||||||
|
#footer,
|
||||||
|
.region-page-closure {
|
||||||
|
overflow: visible;
|
||||||
|
word-wrap: break-word; /* A very nice CSS3 property */
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation {
|
||||||
|
overflow: hidden; /* May need to be removed if using a dynamic drop-down menu */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If a div.clearfix doesn't have any content after it and its bottom edge
|
||||||
|
* touches the bottom of the viewport, Firefox and Safari will mistakenly
|
||||||
|
* place several pixels worth of space between the bottom of the div and the
|
||||||
|
* bottom of the viewport. Uncomment this CSS property to fix this.
|
||||||
|
* Note: with some over-large content, this property might cause scrollbars
|
||||||
|
* to appear on the #page-wrapper div.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
#page-wrapper {
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
*/
|
13
themes/zen/STARTERKIT/css/messages-rtl.css
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the messages.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
div.messages,
|
||||||
|
div.status,
|
||||||
|
div.warning,
|
||||||
|
div.error /* Important messages (status, warning, and error) for the user */ {
|
||||||
|
padding: 5px 35px 5px 5px;
|
||||||
|
background-position: 99.5% 5px;
|
||||||
|
}
|
53
themes/zen/STARTERKIT/css/messages.css
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Message Styling
|
||||||
|
*
|
||||||
|
* Sensible styling for Drupal's error/warning/status messages.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
div.messages,
|
||||||
|
div.status,
|
||||||
|
div.warning,
|
||||||
|
div.error /* Important messages (status, warning, and error) for the user */ {
|
||||||
|
min-height: 21px;
|
||||||
|
margin: 0 1em 5px 1em;
|
||||||
|
border: 2px solid #ff7;
|
||||||
|
padding: 5px 5px 5px 35px; /* LTR */
|
||||||
|
color: #000;
|
||||||
|
background-color: #ffc;
|
||||||
|
background-image: url(../images/messages-status.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 5px 5px; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
div.status /* Normal priority messages */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning /* Medium priority messages */ {
|
||||||
|
border-color: #fc0;
|
||||||
|
background-image: url(../images/messages-warning.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning,
|
||||||
|
tr.warning {
|
||||||
|
color: #000; /* Drupal core uses #220 */
|
||||||
|
background-color: #ffc;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.error /* High priority messages. See also the .error declaration in pages.css. */ {
|
||||||
|
/* border: 1px solid #d77; */ /* Drupal core uses: 1px solid #d77 */
|
||||||
|
border-color: #c00;
|
||||||
|
background-image: url(../images/messages-error.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.error,
|
||||||
|
tr.error {
|
||||||
|
color: #900; /* Drupal core uses #200 */
|
||||||
|
background-color: #fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.messages ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
44
themes/zen/STARTERKIT/css/navigation.css
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Navigation Styling
|
||||||
|
*
|
||||||
|
* Default menu styling (ul.menu) is defined in system-menus.css.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The active item in a Drupal menu
|
||||||
|
*/
|
||||||
|
li a.active {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Navigation bar
|
||||||
|
*/
|
||||||
|
#navigation {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-navigation {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Primary and Secondary menu links
|
||||||
|
*/
|
||||||
|
#main-menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
#secondary-menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Menu blocks
|
||||||
|
*/
|
||||||
|
.block-menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "Menu block" blocks. See http://drupal.org/project/menu_block
|
||||||
|
*/
|
||||||
|
.block-menu_block {
|
||||||
|
}
|
81
themes/zen/STARTERKIT/css/nodes.css
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Node Styling
|
||||||
|
*
|
||||||
|
* Style anything that isn't in the $content variable.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.node /* Node wrapper */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-sticky /* A sticky node (displayed before others in a list) */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-unpublished /* Unpublished nodes */ {
|
||||||
|
/* background-color: #fff4f4; */ /* Drupal core uses a #fff4f4 background */
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-unpublished div.unpublished,
|
||||||
|
.comment-unpublished div.unpublished /* The word "Unpublished" displayed underneath the content. */ {
|
||||||
|
height: 0;
|
||||||
|
overflow: visible;
|
||||||
|
color: #d8d8d8;
|
||||||
|
font-size: 75px;
|
||||||
|
line-height: 1;
|
||||||
|
font-family: Impact, "Arial Narrow", Helvetica, sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-align: center;
|
||||||
|
word-wrap: break-word; /* A very nice CSS3 property */
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-by-viewer /* A node created by the current user */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-teaser /* A node displayed as teaser */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All nodes are given a node-type-FOO class that describes the type of
|
||||||
|
* content that it is. If you create a new content type called
|
||||||
|
* "my-custom-type", it will receive a "node-type-my-custom-type" class.
|
||||||
|
*/
|
||||||
|
.node-type-page /* Page content node */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-type-story /* Story content node */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node h2.title /* Node title */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.marker /* "New" or "Updated" marker for content that is new or updated for the current user */ {
|
||||||
|
color: #c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .picture /* The picture of the node author */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node.node-unpublished .picture,
|
||||||
|
.comment.comment-unpublished .picture {
|
||||||
|
position: relative; /* Otherwise floated pictures will appear below the "Unpublished" text. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .meta /* Wrapper for submitted and terms data */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .submitted /* The "posted by" information */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .terms /* Node terms (taxonomy) */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .content /* Node's content wrapper */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.node ul.links /* Node links. See also the ul.links declaration in the pages.css. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview .node /* Preview of the content before submitting new or updated content */ {
|
||||||
|
/* background-color: #ffffea; */ /* Drupal core uses a #ffffea background */
|
||||||
|
}
|
38
themes/zen/STARTERKIT/css/page-backgrounds.css
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page Background Styling
|
||||||
|
*
|
||||||
|
* The default layout method of Zen doesn't give themers equal-height columns.
|
||||||
|
* However, equal-height columns are difficult to achieve and totally
|
||||||
|
* unnecessary. Instead, use the Faux Columns method described in the following
|
||||||
|
* ALA article:
|
||||||
|
* http://www.alistapart.com/articles/fauxcolumns/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
body {
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-wrapper {
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-wrapper {
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer .section {
|
||||||
|
}
|
19
themes/zen/STARTERKIT/css/pages-rtl.css
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the pages.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header
|
||||||
|
*/
|
||||||
|
#logo /* Wrapping link for logo */ {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
.more-link /* Aggregator, blog, and forum more link */ {
|
||||||
|
text-align: left;
|
||||||
|
}
|
314
themes/zen/STARTERKIT/css/pages.css
Normal file
|
@ -0,0 +1,314 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page Styling
|
||||||
|
*
|
||||||
|
* Style the markup found in page.tpl.php. Also includes some styling of
|
||||||
|
* miscellaneous Drupal elements that appear in the $content variable, such as
|
||||||
|
* ul.links, .pager, .more-link, etc.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Body
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-wrapper {
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The skip navigation link will be completely hidden until a user tabs to the
|
||||||
|
* link. See http://www.webaim.org/techniques/skipnav/
|
||||||
|
*/
|
||||||
|
#skip-link a,
|
||||||
|
#skip-link a:visited {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
left: 0;
|
||||||
|
top: -500px;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #666;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#skip-link a:hover,
|
||||||
|
#skip-link a:active,
|
||||||
|
#skip-link a:focus {
|
||||||
|
position: static;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
padding: 2px 0 3px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header
|
||||||
|
*/
|
||||||
|
#header {
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo /* Wrapping link for logo */ {
|
||||||
|
float: left; /* LTR */
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo img {
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
#name-and-slogan /* Wrapper for website name and slogan */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
h1#site-name,
|
||||||
|
div#site-name /* The name of the website */ {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 2em;
|
||||||
|
line-height: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#site-name a:link,
|
||||||
|
#site-name a:visited {
|
||||||
|
color: #000;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#site-name a:hover,
|
||||||
|
#site-name a:focus {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
#site-slogan /* The slogan (or tagline) of a website */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-header /* Wrapper for any blocks placed in the header region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main (container for everything else)
|
||||||
|
*/
|
||||||
|
#main-wrapper {
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Content
|
||||||
|
*/
|
||||||
|
#content {
|
||||||
|
}
|
||||||
|
|
||||||
|
#content .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#mission /* The mission statement of the site (displayed on homepage) */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-content-top /* Wrapper for any blocks placed in the "content top" region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb /* The path to the current page in the form of a list of links */ {
|
||||||
|
padding-bottom: 0; /* Undo system.css */
|
||||||
|
}
|
||||||
|
|
||||||
|
h1.title, /* The title of the page */
|
||||||
|
h2.title, /* Block title or the title of a piece of content when it is given in a list of content */
|
||||||
|
h3.title /* Comment title */ {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.even /* Some tables have rows marked even or odd. */ {
|
||||||
|
/* background-color: #eee; */ /* Drupal core uses a #eee background */
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.odd {
|
||||||
|
/* background-color: #eee; */ /* Drupal core uses a #eee background */
|
||||||
|
}
|
||||||
|
|
||||||
|
div.messages /* Important messages (status, warning, and error) for the user. See also the declarations in messages.css. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
div.status /* Normal priority messages */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning,
|
||||||
|
tr.warning /* Medium priority messages */ {
|
||||||
|
/* border: 1px solid #f0c020; */ /* Drupal core uses: 1px solid #f0c020 */
|
||||||
|
}
|
||||||
|
|
||||||
|
div.error,
|
||||||
|
tr.error /* High priority messages. See also the .error declaration below. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.error /* Errors that are separate from div.messages status messages. */ {
|
||||||
|
/* color: #e55; */ /* Drupal core uses a #e55 background */
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning /* Warnings that are separate from div.messages status messages. */ {
|
||||||
|
/* color: #e09010; */ /* Drupal core uses a #e09010 background */
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tabs /* See also the tabs.css file. */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.help /* Help text on a page */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more-help-link /* Link to more help */ {
|
||||||
|
font-size: 0.85em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content-area /* Wrapper for the actual page content */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.links /* List of links */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.links.inline {
|
||||||
|
margin: 0;
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.links li {
|
||||||
|
display: inline;
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager /* A list of page numbers when more than 1 page of content is available */ {
|
||||||
|
clear: both;
|
||||||
|
margin: 1em 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager a,
|
||||||
|
.pager strong.pager-current /* Each page number in the pager list */ {
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feed-icons /* The links to the RSS or Atom feeds for the current list of content */ {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more-link /* Aggregator, blog, and forum more link */ {
|
||||||
|
text-align: right; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-content-bottom /* Wrapper for any blocks placed in the "content bottom" region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First sidebar (on left in LTR languages, on right in RTL)
|
||||||
|
*
|
||||||
|
* Remember to NOT add padding or margin to your .region-sidebar-first
|
||||||
|
* (see the layout.css file.)
|
||||||
|
*/
|
||||||
|
.region-sidebar-first {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-first .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Second sidebar (on right in LTR languages, on left in RTL)
|
||||||
|
*
|
||||||
|
* Remember to NOT add padding or margin to your .region-sidebar-second
|
||||||
|
* (see the layout.css file.)
|
||||||
|
*/
|
||||||
|
.region-sidebar-second {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-sidebar-second .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Footer
|
||||||
|
*/
|
||||||
|
#footer {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer .section {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer-message /* Wrapper for the footer message from Drupal's "Site information"
|
||||||
|
and for any blocks placed in the footer region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.region-footer {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Closure
|
||||||
|
*/
|
||||||
|
.region-page-closure /* Wrapper for any blocks placed in the closure region */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drupal boxes
|
||||||
|
*
|
||||||
|
* Wrapper for Comment form, Comment viewing options, Menu admin, and
|
||||||
|
* Search results.
|
||||||
|
*/
|
||||||
|
.box /* Wrapper for box */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.box h2 /* Box title */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
.box .content /* Box's content wrapper */ {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Markup free clearing (See: http://www.positioniseverything.net/easyclearing.html )
|
||||||
|
*/
|
||||||
|
.clearfix:after {
|
||||||
|
content: ".";
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide elements from all users.
|
||||||
|
*
|
||||||
|
* Used for elements which should not be immediately displayed to any user. An
|
||||||
|
* example would be a collapsible fieldset that will be expanded with a click
|
||||||
|
* from a user. The effect of this class can be toggled with the jQuery show()
|
||||||
|
* and hide() functions.
|
||||||
|
*/
|
||||||
|
.element-hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide elements visually, but keep them available for screen-readers.
|
||||||
|
*
|
||||||
|
* Used for information required for screen-reader users to understand and use
|
||||||
|
* the site where visual display is undesirable. Information provided in this
|
||||||
|
* manner should be kept concise, to avoid unnecessary burden on the user. Must
|
||||||
|
* not be used for focusable elements (such as links and form elements) as this
|
||||||
|
* causes issues for keyboard only or voice recognition users. "!important" is
|
||||||
|
* used to prevent unintentional overrides.
|
||||||
|
*/
|
||||||
|
.element-invisible {
|
||||||
|
position: absolute !important;
|
||||||
|
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
|
||||||
|
clip: rect(1px, 1px, 1px, 1px);
|
||||||
|
}
|
6
themes/zen/STARTERKIT/css/panels-styles.css
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Panels Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
73
themes/zen/STARTERKIT/css/print.css
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Print styling
|
||||||
|
*
|
||||||
|
* We provide some sane print styling for Drupal using Zen's layout method.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* underline all links */
|
||||||
|
a:link,
|
||||||
|
a:visited {
|
||||||
|
text-decoration: underline !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Don't underline header */
|
||||||
|
#site-name a:link,
|
||||||
|
#site-name a:visited {
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CSS2 selector to add visible href after links */
|
||||||
|
#content a:link:after,
|
||||||
|
#content a:visited:after {
|
||||||
|
content: " (" attr(href) ") ";
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Un-float the content */
|
||||||
|
#content,
|
||||||
|
#content .section {
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Turn off any background colors or images */
|
||||||
|
body,
|
||||||
|
#page-wrapper,
|
||||||
|
#page,
|
||||||
|
#main-wrapper,
|
||||||
|
#main,
|
||||||
|
#content,
|
||||||
|
#content .section {
|
||||||
|
color: #000;
|
||||||
|
background-color: transparent !important;
|
||||||
|
background-image: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide sidebars and nav elements */
|
||||||
|
#skip-link,
|
||||||
|
#navigation,
|
||||||
|
.region-sidebar-first,
|
||||||
|
.region-sidebar-second,
|
||||||
|
#footer,
|
||||||
|
.breadcrumb,
|
||||||
|
div.tabs,
|
||||||
|
.links,
|
||||||
|
.taxonomy,
|
||||||
|
.book-navigation,
|
||||||
|
.forum-topic-navigation,
|
||||||
|
.pager,
|
||||||
|
.feed-icons {
|
||||||
|
visibility: hidden;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If you un-comment the "page { overflow-y: hidden; }" ruleset, Firefox clips
|
||||||
|
the content after the first page. */
|
||||||
|
#page-wrapper {
|
||||||
|
overflow-y: visible;
|
||||||
|
}
|
22
themes/zen/STARTERKIT/css/tabs-rtl.css
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* RTL companion for the tabs.css file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
ul.primary {
|
||||||
|
padding: 0 10px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary {
|
||||||
|
padding: 0 5px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary li {
|
||||||
|
float: right;
|
||||||
|
border-left: none;
|
||||||
|
}
|
128
themes/zen/STARTERKIT/css/tabs.css
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Tabs Styling
|
||||||
|
*
|
||||||
|
* Adds styles for the primary and secondary tabs.
|
||||||
|
*
|
||||||
|
* Compare this with default CSS found in the system module's stylesheet (a copy
|
||||||
|
* of which is in drupal6-reference.css, line 510.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
div.tabs {
|
||||||
|
margin: 0 0 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 0 10px; /* LTR */
|
||||||
|
border-width: 0;
|
||||||
|
list-style: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
line-height: normal;
|
||||||
|
background: url(../images/tab-bar.png) repeat-x left bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li {
|
||||||
|
float: left; /* LTR */
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a {
|
||||||
|
display: block;
|
||||||
|
height: 24px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 0 5px; /* width of tab-left.png */
|
||||||
|
border-width: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #777;
|
||||||
|
background-color: transparent;
|
||||||
|
background: url(../images/tab-left.png) no-repeat left -38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a .tab {
|
||||||
|
display: block;
|
||||||
|
height: 20px; /* 24px (parent) - 4px (padding) */
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px 13px 0 6px;
|
||||||
|
border-width: 0;
|
||||||
|
line-height: 20px;
|
||||||
|
background: url(../images/tab-right.png) no-repeat right -38px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a:hover,
|
||||||
|
ul.primary li a:focus {
|
||||||
|
border-width: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
background: url(../images/tab-left.png) no-repeat left -76px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li a:hover .tab,
|
||||||
|
ul.primary li a:focus .tab {
|
||||||
|
background: url(../images/tab-right.png) no-repeat right -76px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li.active a,
|
||||||
|
ul.primary li.active a:hover,
|
||||||
|
ul.primary li.active a:focus {
|
||||||
|
border-width: 0;
|
||||||
|
color: #000;
|
||||||
|
background-color: transparent;
|
||||||
|
background: url(../images/tab-left.png) no-repeat left 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.primary li.active a .tab,
|
||||||
|
ul.primary li.active a:hover .tab,
|
||||||
|
ul.primary li.active a:focus .tab {
|
||||||
|
background: url(../images/tab-right.png) no-repeat right 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 0 5px; /* LTR */
|
||||||
|
border-bottom: 1px solid #c0c0c0;
|
||||||
|
list-style: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
background: url(../images/tab-secondary-bg.png) repeat-x left bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary li {
|
||||||
|
float: left; /* LTR */
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
padding: 5px 0;
|
||||||
|
border-right: none; /* LTR */
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary a {
|
||||||
|
display: block;
|
||||||
|
height: 24px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #777;
|
||||||
|
background: url(../images/tab-secondary.png) repeat-x left -56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary a .tab {
|
||||||
|
display: block;
|
||||||
|
height: 18px; /* 24px (parent) - 6px (padding) */
|
||||||
|
margin: 0;
|
||||||
|
padding: 3px 8px;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary a:hover,
|
||||||
|
ul.secondary a:focus {
|
||||||
|
background: url(../images/tab-secondary.png) repeat-x left bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.secondary a.active,
|
||||||
|
ul.secondary a.active:hover,
|
||||||
|
ul.secondary a.active:focus {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
color: #000;
|
||||||
|
background: url(../images/tab-secondary.png) repeat-x left top;
|
||||||
|
}
|
6
themes/zen/STARTERKIT/css/views-styles.css
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Views Styling
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
24
themes/zen/STARTERKIT/css/wireframes.css
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Wireframes Styling
|
||||||
|
*
|
||||||
|
* Add wireframes to the basic layout elements.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.with-wireframes #header .section,
|
||||||
|
.with-wireframes #content .section,
|
||||||
|
.with-wireframes #navigation .section,
|
||||||
|
.with-wireframes .region-sidebar-first .section,
|
||||||
|
.with-wireframes .region-sidebar-second .section,
|
||||||
|
.with-wireframes #footer .section {
|
||||||
|
margin: 1px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.with-wireframes .region-page-closure {
|
||||||
|
margin-top: 1px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
BIN
themes/zen/STARTERKIT/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
themes/zen/STARTERKIT/images-source/messages.psd
Normal file
BIN
themes/zen/STARTERKIT/images-source/panels-layouts.psd
Normal file
BIN
themes/zen/STARTERKIT/images-source/screenshot.psd
Normal file
BIN
themes/zen/STARTERKIT/images-source/tabs.psd
Normal file
BIN
themes/zen/STARTERKIT/images/messages-error-ie6.png
Normal file
After Width: | Height: | Size: 719 B |
BIN
themes/zen/STARTERKIT/images/messages-error.png
Normal file
After Width: | Height: | Size: 727 B |
BIN
themes/zen/STARTERKIT/images/messages-status-ie6.png
Normal file
After Width: | Height: | Size: 610 B |
BIN
themes/zen/STARTERKIT/images/messages-status.png
Normal file
After Width: | Height: | Size: 560 B |
BIN
themes/zen/STARTERKIT/images/messages-warning-ie6.png
Normal file
After Width: | Height: | Size: 693 B |
BIN
themes/zen/STARTERKIT/images/messages-warning.png
Normal file
After Width: | Height: | Size: 664 B |
BIN
themes/zen/STARTERKIT/images/tab-bar.png
Normal file
After Width: | Height: | Size: 160 B |
BIN
themes/zen/STARTERKIT/images/tab-left-ie6.png
Normal file
After Width: | Height: | Size: 331 B |
BIN
themes/zen/STARTERKIT/images/tab-left.png
Normal file
After Width: | Height: | Size: 303 B |
BIN
themes/zen/STARTERKIT/images/tab-right-ie6.png
Normal file
After Width: | Height: | Size: 473 B |
BIN
themes/zen/STARTERKIT/images/tab-right.png
Normal file
After Width: | Height: | Size: 685 B |
BIN
themes/zen/STARTERKIT/images/tab-secondary-bg.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
themes/zen/STARTERKIT/images/tab-secondary.png
Normal file
After Width: | Height: | Size: 195 B |
14
themes/zen/STARTERKIT/js/README.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Your theme can add JavaScript files in two ways:
|
||||||
|
|
||||||
|
1. To add a JavaScript file to all pages on your website, edit your sub-theme's
|
||||||
|
.info file and add a line like this one:
|
||||||
|
|
||||||
|
scripts[] = js/my-jquery-script.js
|
||||||
|
|
||||||
|
2. To add a JavaScript file depending on a certain condition, you can add it
|
||||||
|
using some PHP code in a preprocess function:
|
||||||
|
|
||||||
|
drupal_add_js('js/my-jquery-script.js', 'theme');
|
||||||
|
|
||||||
|
For the full documentation of drupal_add_js(), see:
|
||||||
|
http://api.drupal.org/api/function/drupal_add_js
|
BIN
themes/zen/STARTERKIT/logo.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
themes/zen/STARTERKIT/screenshot.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
155
themes/zen/STARTERKIT/template.php
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Contains theme override functions and preprocess functions for the theme.
|
||||||
|
*
|
||||||
|
* ABOUT THE TEMPLATE.PHP FILE
|
||||||
|
*
|
||||||
|
* The template.php file is one of the most useful files when creating or
|
||||||
|
* modifying Drupal themes. You can add new regions for block content, modify
|
||||||
|
* or override Drupal's theme functions, intercept or make additional
|
||||||
|
* variables available to your theme, and create custom PHP logic. For more
|
||||||
|
* information, please visit the Theme Developer's Guide on Drupal.org:
|
||||||
|
* http://drupal.org/theme-guide
|
||||||
|
*
|
||||||
|
* OVERRIDING THEME FUNCTIONS
|
||||||
|
*
|
||||||
|
* The Drupal theme system uses special theme functions to generate HTML
|
||||||
|
* output automatically. Often we wish to customize this HTML output. To do
|
||||||
|
* this, we have to override the theme function. You have to first find the
|
||||||
|
* theme function that generates the output, and then "catch" it and modify it
|
||||||
|
* here. The easiest way to do it is to copy the original function in its
|
||||||
|
* entirety and paste it here, changing the prefix from theme_ to STARTERKIT_.
|
||||||
|
* For example:
|
||||||
|
*
|
||||||
|
* original: theme_breadcrumb()
|
||||||
|
* theme override: STARTERKIT_breadcrumb()
|
||||||
|
*
|
||||||
|
* where STARTERKIT is the name of your sub-theme. For example, the
|
||||||
|
* zen_classic theme would define a zen_classic_breadcrumb() function.
|
||||||
|
*
|
||||||
|
* If you would like to override any of the theme functions used in Zen core,
|
||||||
|
* you should first look at how Zen core implements those functions:
|
||||||
|
* theme_breadcrumbs() in zen/template.php
|
||||||
|
* theme_menu_item_link() in zen/template.php
|
||||||
|
* theme_menu_local_tasks() in zen/template.php
|
||||||
|
*
|
||||||
|
* For more information, please visit the Theme Developer's Guide on
|
||||||
|
* Drupal.org: http://drupal.org/node/173880
|
||||||
|
*
|
||||||
|
* CREATE OR MODIFY VARIABLES FOR YOUR THEME
|
||||||
|
*
|
||||||
|
* Each tpl.php template file has several variables which hold various pieces
|
||||||
|
* of content. You can modify those variables (or add new ones) before they
|
||||||
|
* are used in the template files by using preprocess functions.
|
||||||
|
*
|
||||||
|
* This makes THEME_preprocess_HOOK() functions the most powerful functions
|
||||||
|
* available to themers.
|
||||||
|
*
|
||||||
|
* It works by having one preprocess function for each template file or its
|
||||||
|
* derivatives (called template suggestions). For example:
|
||||||
|
* THEME_preprocess_page alters the variables for page.tpl.php
|
||||||
|
* THEME_preprocess_node alters the variables for node.tpl.php or
|
||||||
|
* for node-forum.tpl.php
|
||||||
|
* THEME_preprocess_comment alters the variables for comment.tpl.php
|
||||||
|
* THEME_preprocess_block alters the variables for block.tpl.php
|
||||||
|
*
|
||||||
|
* For more information on preprocess functions and template suggestions,
|
||||||
|
* please visit the Theme Developer's Guide on Drupal.org:
|
||||||
|
* http://drupal.org/node/223440
|
||||||
|
* and http://drupal.org/node/190815#template-suggestions
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of HOOK_theme().
|
||||||
|
*/
|
||||||
|
function STARTERKIT_theme(&$existing, $type, $theme, $path) {
|
||||||
|
$hooks = zen_theme($existing, $type, $theme, $path);
|
||||||
|
// Add your theme hooks like this:
|
||||||
|
/*
|
||||||
|
$hooks['hook_name_here'] = array( // Details go here );
|
||||||
|
*/
|
||||||
|
// @TODO: Needs detailed comments. Patches welcome!
|
||||||
|
return $hooks;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into all templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered (name of the .tpl.php file.)
|
||||||
|
*/
|
||||||
|
/* -- Delete this line if you want to use this function
|
||||||
|
function STARTERKIT_preprocess(&$vars, $hook) {
|
||||||
|
$vars['sample_variable'] = t('Lorem ipsum.');
|
||||||
|
}
|
||||||
|
// */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the page templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("page" in this case.)
|
||||||
|
*/
|
||||||
|
/* -- Delete this line if you want to use this function
|
||||||
|
function STARTERKIT_preprocess_page(&$vars, $hook) {
|
||||||
|
$vars['sample_variable'] = t('Lorem ipsum.');
|
||||||
|
|
||||||
|
// To remove a class from $classes_array, use array_diff().
|
||||||
|
//$vars['classes_array'] = array_diff($vars['classes_array'], array('class-to-remove'));
|
||||||
|
}
|
||||||
|
// */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the node templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("node" in this case.)
|
||||||
|
*/
|
||||||
|
/* -- Delete this line if you want to use this function
|
||||||
|
function STARTERKIT_preprocess_node(&$vars, $hook) {
|
||||||
|
$vars['sample_variable'] = t('Lorem ipsum.');
|
||||||
|
|
||||||
|
// Optionally, run node-type-specific preprocess functions, like
|
||||||
|
// STARTERKIT_preprocess_node_page() or STARTERKIT_preprocess_node_story().
|
||||||
|
$function = __FUNCTION__ . '_' . $vars['node']->type;
|
||||||
|
if (function_exists($function)) {
|
||||||
|
$function($vars, $hook);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the comment templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("comment" in this case.)
|
||||||
|
*/
|
||||||
|
/* -- Delete this line if you want to use this function
|
||||||
|
function STARTERKIT_preprocess_comment(&$vars, $hook) {
|
||||||
|
$vars['sample_variable'] = t('Lorem ipsum.');
|
||||||
|
}
|
||||||
|
// */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the block templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("block" in this case.)
|
||||||
|
*/
|
||||||
|
/* -- Delete this line if you want to use this function
|
||||||
|
function STARTERKIT_preprocess_block(&$vars, $hook) {
|
||||||
|
$vars['sample_variable'] = t('Lorem ipsum.');
|
||||||
|
}
|
||||||
|
// */
|
82
themes/zen/STARTERKIT/templates/README.txt
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
TEMPLATES
|
||||||
|
---------
|
||||||
|
|
||||||
|
Drupal 6 contains the following template files which you can override and modify
|
||||||
|
by copying them to your sub-theme. The Zen theme overrides a handful of Drupal's
|
||||||
|
templates. In order to override those templates, you should copy them from the
|
||||||
|
zen/templates folder to your sub-theme's templates folder.
|
||||||
|
|
||||||
|
As always, when adding a new template file to your sub-theme, you will need to
|
||||||
|
rebuild the "theme registry" in order for Drupal to see it. For more info, see:
|
||||||
|
http://drupal.org/node/173880#theme-registry
|
||||||
|
|
||||||
|
Located in zen/templates:
|
||||||
|
page.tpl.php
|
||||||
|
maintenance-page.tpl.php
|
||||||
|
node.tpl.php
|
||||||
|
block.tpl.php
|
||||||
|
comment-wrapper.tpl.php
|
||||||
|
comment.tpl.php
|
||||||
|
views-view.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/aggregator:
|
||||||
|
aggregator-feed-source.tpl.php
|
||||||
|
aggregator-item.tpl.php
|
||||||
|
aggregator-summary-item.tpl.php
|
||||||
|
aggregator-summary-items.tpl.php
|
||||||
|
aggregator-wrapper.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/block:
|
||||||
|
block-admin-display-form.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/book:
|
||||||
|
book-all-books-block.tpl.php
|
||||||
|
book-export-html.tpl.php
|
||||||
|
book-navigation.tpl.php
|
||||||
|
book-node-export-html.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/comment:
|
||||||
|
comment-folded.tpl.php
|
||||||
|
comment-wrapper.tpl.php (overridden by Zen)
|
||||||
|
comment.tpl.php (overridden by Zen)
|
||||||
|
|
||||||
|
Located in /modules/forum:
|
||||||
|
forum-icon.tpl.php
|
||||||
|
forum-list.tpl.php
|
||||||
|
forum-submitted.tpl.php
|
||||||
|
forum-topic-list.tpl.php
|
||||||
|
forum-topic-navigation.tpl.php
|
||||||
|
forums.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/node:
|
||||||
|
node.tpl.php (overridden by Zen)
|
||||||
|
|
||||||
|
Located in /modules/poll:
|
||||||
|
poll-bar-block.tpl.php
|
||||||
|
poll-bar.tpl.php
|
||||||
|
poll-results-block.tpl.php
|
||||||
|
poll-results.tpl.php
|
||||||
|
poll-vote.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/profile:
|
||||||
|
profile-block.tpl.php
|
||||||
|
profile-listing.tpl.php
|
||||||
|
profile-wrapper.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/search:
|
||||||
|
search-block-form.tpl.php
|
||||||
|
search-result.tpl.php
|
||||||
|
search-results.tpl.php
|
||||||
|
search-theme-form.tpl.php
|
||||||
|
|
||||||
|
Located in /modules/system:
|
||||||
|
block.tpl.php (overridden by Zen)
|
||||||
|
box.tpl.php
|
||||||
|
maintenance-page.tpl.php (overridden by Zen)
|
||||||
|
page.tpl.php (overridden by Zen)
|
||||||
|
|
||||||
|
Located in /modules/user:
|
||||||
|
user-picture.tpl.php
|
||||||
|
user-profile-category.tpl.php
|
||||||
|
user-profile-item.tpl.php
|
||||||
|
user-profile.tpl.php
|
43
themes/zen/STARTERKIT/theme-settings.php
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
<?php
|
||||||
|
// Include the definition of zen_settings() and zen_theme_get_default_settings().
|
||||||
|
include_once './' . drupal_get_path('theme', 'zen') . '/theme-settings.php';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of THEMEHOOK_settings() function.
|
||||||
|
*
|
||||||
|
* @param $saved_settings
|
||||||
|
* An array of saved settings for this theme.
|
||||||
|
* @return
|
||||||
|
* A form array.
|
||||||
|
*/
|
||||||
|
function STARTERKIT_settings($saved_settings) {
|
||||||
|
|
||||||
|
// Get the default values from the .info file.
|
||||||
|
$defaults = zen_theme_get_default_settings('STARTERKIT');
|
||||||
|
|
||||||
|
// Merge the saved variables and their default values.
|
||||||
|
$settings = array_merge($defaults, $saved_settings);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create the form using Forms API: http://api.drupal.org/api/6
|
||||||
|
*/
|
||||||
|
$form = array();
|
||||||
|
/* -- Delete this line if you want to use this setting
|
||||||
|
$form['STARTERKIT_example'] = array(
|
||||||
|
'#type' => 'checkbox',
|
||||||
|
'#title' => t('Use this sample setting'),
|
||||||
|
'#default_value' => $settings['STARTERKIT_example'],
|
||||||
|
'#description' => t("This option doesn't do anything; it's just an example."),
|
||||||
|
);
|
||||||
|
// */
|
||||||
|
|
||||||
|
// Add the base theme's settings.
|
||||||
|
$form += zen_settings($saved_settings, $defaults);
|
||||||
|
|
||||||
|
// Remove some of the base theme's settings.
|
||||||
|
unset($form['themedev']['zen_layout']); // We don't need to select the base stylesheet.
|
||||||
|
|
||||||
|
// Return the form
|
||||||
|
return $form;
|
||||||
|
}
|
5
themes/zen/layouts/README.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
To build your own Panels layout follow the documentation provided by Panels:
|
||||||
|
http://drupal.org/node/495654
|
||||||
|
|
||||||
|
* Please note: These panels layouts will only show up if Zen is enabled. A
|
||||||
|
bugfix is in the works for this issue: http://drupal.org/node/657720
|
|
@ -0,0 +1,41 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page manager layout
|
||||||
|
*
|
||||||
|
* We are using percentages in the admin instead of fixed widths so that the
|
||||||
|
* admin can work nicely in different admin themes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#panels-dnd-main div.panels-display h2.label {
|
||||||
|
padding-left: 24px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-first .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 66%;
|
||||||
|
margin-left: 34%; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-first .panel-content .inside {
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-first .panel-header {
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-first .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 34%;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -34%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-first .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
36
themes/zen/layouts/one_sidebar_first/one-sidebar-first.css
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen panel layout
|
||||||
|
*
|
||||||
|
* This layout does include the standar Zen navbar, content and right sidebar
|
||||||
|
* layout. Markup has been reordered for Accessibility and SEO optimizations.
|
||||||
|
* The markup order is: content, sidebar but the display will show sidebar,
|
||||||
|
* content.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.zen-one-sidebar-first {
|
||||||
|
/* overflow: hidden; */
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-first .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 640px;
|
||||||
|
margin-left: 320px; /* LTR */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-first .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 320px;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -320px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-first .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
BIN
themes/zen/layouts/one_sidebar_first/one-sidebar-first.png
Normal file
After Width: | Height: | Size: 813 B |
20
themes/zen/layouts/one_sidebar_first/one_sidebar_first.inc
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implements hook_panels_layouts().
|
||||||
|
*/
|
||||||
|
function zen_one_sidebar_first_panels_layouts() {
|
||||||
|
$items['one_sidebar_first'] = array(
|
||||||
|
'title' => t('Zen Layout: one sidebar before content'),
|
||||||
|
'icon' => 'one-sidebar-first.png',
|
||||||
|
'theme' => 'zen_one_sidebar_first',
|
||||||
|
'admin theme' => 'zen_one_sidebar_first_admin',
|
||||||
|
'css' => 'one-sidebar-first.css',
|
||||||
|
'admin css' => 'one-sidebar-first-admin.css',
|
||||||
|
'panels' => array(
|
||||||
|
'content' => t('Content'),
|
||||||
|
'sidebar_first' => t('First sidebar'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-one-sidebar-first clear-block" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
</div> <!-- /.panel-zencontentfirst-inner, /.panel-zencontentfirst -->
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-one-sidebar-first clearfix" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-one-sidebar-first -->
|
|
@ -0,0 +1,42 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page manager layout
|
||||||
|
*
|
||||||
|
* We are using percentages in the admin instead of fixed widths so that the
|
||||||
|
* admin can work nicely in different admin themes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .panel-header {
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 66%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -66%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .panel-content .inside {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .with-panel-header .panel-content,
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .with-panel-header .panel-sidebar-first {
|
||||||
|
margin-top: 0; /* Set this to the same value as the navbar height above. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-one-sidebar-second .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 34%;
|
||||||
|
margin-left: 66%; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
}
|
50
themes/zen/layouts/one_sidebar_second/one-sidebar-second.css
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen panel layout
|
||||||
|
*
|
||||||
|
* This layout does include the standar Zen navbar, content and right sidebar
|
||||||
|
* layout. Markup has been reordered for Accessibility and SEO optimizations.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.zen-one-sidebar-second {
|
||||||
|
/* overflow: hidden; */
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .panel-navbar {
|
||||||
|
width: 100%;
|
||||||
|
float: left; /* LTR */
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #navbar's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to .region-navbar. */
|
||||||
|
height: 8.3em; /* The navbar can have any arbritrary height. We picked one
|
||||||
|
that is the line-height plus 1em: 1.3 + 1 = 2.3
|
||||||
|
Set this to the same value as the margin-top below. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .with-panel-header .panel-content,
|
||||||
|
.zen-one-sidebar-second .with-panel-header .panel-sidebar-first {
|
||||||
|
margin-top: 8.3em; /* Set this to the same value as the navbar height above. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 640px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -640px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 320px;
|
||||||
|
margin-left: 640px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-one-sidebar-second .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
BIN
themes/zen/layouts/one_sidebar_second/one-sidebar-second.png
Normal file
After Width: | Height: | Size: 812 B |
20
themes/zen/layouts/one_sidebar_second/one_sidebar_second.inc
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implements hook_panels_layouts().
|
||||||
|
*/
|
||||||
|
function zen_one_sidebar_second_panels_layouts() {
|
||||||
|
$items['one_sidebar_second'] = array(
|
||||||
|
'title' => t('Zen Layout: one sidebar after content'),
|
||||||
|
'icon' => 'one-sidebar-second.png',
|
||||||
|
'theme' => 'zen_one_sidebar_second',
|
||||||
|
'admin theme' => 'zen_one_sidebar_second_admin',
|
||||||
|
'css' => 'one-sidebar-second.css',
|
||||||
|
'admin css' => 'one-sidebar-second-admin.css',
|
||||||
|
'panels' => array(
|
||||||
|
'content' => t('Content'),
|
||||||
|
'sidebar_first' => t('First sidebar'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-one-sidebar-second clear-block" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-one-sidebar-second -->
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-one-sidebar-second clearfix" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-one-sidebar-second -->
|
53
themes/zen/layouts/two_sidebars/two-sidebars-admin.css
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page manager layout
|
||||||
|
*
|
||||||
|
* We are using percentages in the admin instead of fixed widths so that the
|
||||||
|
* admin can work nicely in different admin themes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#panels-dnd-main div.panels-display h2.label {
|
||||||
|
padding-left: 24px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-content .inside {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 50%;
|
||||||
|
margin-left: 25%; /* LTR */
|
||||||
|
margin-right: -75%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-header {
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 25%;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -25%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-sidebar-first-inner {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 25%;
|
||||||
|
margin-left: 75%; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars .panel-sidebar-second-inner {
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
51
themes/zen/layouts/two_sidebars/two-sidebars.css
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen panel layout
|
||||||
|
*
|
||||||
|
* This layout does include the standar Zen navbar, content and right sidebar
|
||||||
|
* layout. Markup has been reordered for Accessibility and SEO optimizations.
|
||||||
|
* The markup order is: content, sidebar, sidebar but the display will show
|
||||||
|
* sidebar, content, sidebar.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.zen-two-sidebars {
|
||||||
|
/* overflow: hidden; */
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-sidebar-first {
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 460px;
|
||||||
|
margin-left: 250px; /* LTR */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -250px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 710px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars .panel-sidebar-second .panel-sidebar-second-inner {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
BIN
themes/zen/layouts/two_sidebars/two-sidebars.png
Normal file
After Width: | Height: | Size: 817 B |
21
themes/zen/layouts/two_sidebars/two_sidebars.inc
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implements hook_panels_layouts().
|
||||||
|
*/
|
||||||
|
function zen_two_sidebars_panels_layouts() {
|
||||||
|
$items['two_sidebars'] = array(
|
||||||
|
'title' => t('Zen Layout: two sidebars with content'),
|
||||||
|
'icon' => 'two-sidebars.png',
|
||||||
|
'theme' => 'zen_two_sidebars',
|
||||||
|
'admin theme' => 'zen_two_sidebars_admin',
|
||||||
|
'css' => 'two-sidebars.css',
|
||||||
|
'admin css' => 'two-sidebars-admin.css',
|
||||||
|
'panels' => array(
|
||||||
|
'content' => t('Content'),
|
||||||
|
'sidebar_first' => t('First sidebar'),
|
||||||
|
'sidebar_second' => t('Second sidebar'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars clear-block"<?php if (!empty($css_id)) { print ' id="' . $css_id . '"'; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars -->
|
33
themes/zen/layouts/two_sidebars/zen-two-sidebars.tpl.php
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars clearfix"<?php if (!empty($css_id)) { print ' id="' . $css_id . '"'; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars -->
|
|
@ -0,0 +1,53 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page manager layout
|
||||||
|
*
|
||||||
|
* Because we're using fixed widths and not percentages, we need to adjust the
|
||||||
|
* panel page editing layout to fit reasonably on screen. We're assuming a
|
||||||
|
* 960px page width, leaving the main panel manager content well at 769px.
|
||||||
|
*/
|
||||||
|
#panels-dnd-main div.panels-display h2.label {
|
||||||
|
padding-left: 24px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-content .inside {
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 50%;
|
||||||
|
margin-left: 50%; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-header {
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 25%;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -25%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-sidebar-first-inner {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 25%;
|
||||||
|
margin-left: 25%; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -50%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-first .panel-sidebar-second-inner {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
51
themes/zen/layouts/two_sidebars_first/two-sidebars-first.css
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen panel layout
|
||||||
|
*
|
||||||
|
* This layout does include the standar Zen navbar, content and right sidebar
|
||||||
|
* layout. Markup has been reordered for Accessibility and SEO optimizations.
|
||||||
|
* The markup order is: content, sidebar, sidebar but the display will show
|
||||||
|
* sidebar, sidebar, content.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.zen-two-sidebars-first {
|
||||||
|
/* overflow: hidden; */
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-sidebar-first {
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 460px;
|
||||||
|
margin-left: 500px; /* LTR */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 0px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -250px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 250px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -500px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-first .panel-sidebar-second .panel-sidebar-second-inner {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
BIN
themes/zen/layouts/two_sidebars_first/two-sidebars-first.png
Normal file
After Width: | Height: | Size: 812 B |
21
themes/zen/layouts/two_sidebars_first/two_sidebars_first.inc
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implements hook_panels_layouts().
|
||||||
|
*/
|
||||||
|
function zen_two_sidebars_first_panels_layouts() {
|
||||||
|
$items['two_sidebars_first'] = array(
|
||||||
|
'title' => t('Zen Layout: two sidebars before content'),
|
||||||
|
'icon' => 'two-sidebars-first.png',
|
||||||
|
'theme' => 'zen_two_sidebars_first',
|
||||||
|
'admin theme' => 'zen_two_sidebars_first_admin',
|
||||||
|
'css' => 'two-sidebars-first.css',
|
||||||
|
'admin css' => 'two-sidebars-first-admin.css',
|
||||||
|
'panels' => array(
|
||||||
|
'content' => t('Content'),
|
||||||
|
'sidebar_first' => t('First sidebar'),
|
||||||
|
'sidebar_second' => t('Second sidebar'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars-first clear-block" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars-first -->
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars-first clearfix" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars-first -->
|
|
@ -0,0 +1,55 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Page manager layout
|
||||||
|
*
|
||||||
|
* We are using percentages in the admin instead of fixed widths so that the
|
||||||
|
* admin can work nicely in different admin themes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .admin-row {
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#panels-dnd-main div.panels-display h2.label {
|
||||||
|
padding-left: 24px;
|
||||||
|
padding-right: 0px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 51%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -51%; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-header {
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 24%;
|
||||||
|
margin-left: 51%; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -75%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-sidebar-first-inner {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 24%;
|
||||||
|
margin-left: 75%; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -99%; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-manager-edit .zen-two-sidebars-second .panel-sidebar-second-inner {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Zen panel layout
|
||||||
|
*
|
||||||
|
* This layout does include the standar Zen navbar, content and right sidebar
|
||||||
|
* layout. Markup has been reordered for Accessibility and SEO optimizations.
|
||||||
|
*/
|
||||||
|
.zen-two-sidebars-second {
|
||||||
|
/* overflow: hidden; */
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-content {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 460px;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -460px; /* LTR */ /* Negative value of #content's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #content-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-header {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 100%;
|
||||||
|
margin-left: 0; /* LTR */
|
||||||
|
margin-right: -100%; /* LTR */ /* Negative value of #navigation's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #navigation .section. */
|
||||||
|
height: 3.3em; /* The navigation can have any arbritrary height. We picked one
|
||||||
|
that is the line-height plus 1em: 1.3 + 1 = 2.3
|
||||||
|
Set this to the same value as the margin-top below. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .with-panel-header .panel-content,
|
||||||
|
.zen-two-sidebars-second .with-panel-header .panel-sidebar-first,
|
||||||
|
.zen-two-sidebars-second .with-panel-header .panel-sidebar-second {
|
||||||
|
margin-top: 3.3em; /* Set this to the same value as the navigation height above. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-sidebar-first {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 460px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -710px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-sidebar-first .panel-sidebar-first-inner {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-sidebar-second {
|
||||||
|
float: left; /* LTR */
|
||||||
|
width: 250px;
|
||||||
|
margin-left: 710px; /* LTR */ /* Width of #content. */
|
||||||
|
margin-right: -960px; /* LTR */ /* Negative value of #sidebar-first's width + left margin. */
|
||||||
|
padding: 0; /* DO NOT CHANGE. Add padding or margin to #sidebar-first-inner. */
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-two-sidebars-second .panel-sidebar-second .panel-sidebar-second-inner {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
BIN
themes/zen/layouts/two_sidebars_second/two-sidebars-second.png
Normal file
After Width: | Height: | Size: 814 B |
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implements hook_panels_layouts().
|
||||||
|
*/
|
||||||
|
function zen_two_sidebars_second_panels_layouts() {
|
||||||
|
$items['two_sidebars_second'] = array(
|
||||||
|
'title' => t('Zen Layout: two sidebars after content'),
|
||||||
|
'icon' => 'two-sidebars-second.png',
|
||||||
|
'theme' => 'zen_two_sidebars_second',
|
||||||
|
'admin theme' => 'zen_two_sidebars_second_admin',
|
||||||
|
'css' => 'two-sidebars-second.css',
|
||||||
|
'admin css' => 'two-sidebars-second-admin.css',
|
||||||
|
'panels' => array(
|
||||||
|
'content' => t('Content'),
|
||||||
|
'sidebar_first' => t('First sidebar'),
|
||||||
|
'sidebar_second' => t('Second sidebar'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars-second clear-block" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars-second -->
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Template for a 1 row, 2 column Zen-based panel layout.
|
||||||
|
*
|
||||||
|
* This template provides a two column panel display layout, with
|
||||||
|
* additional areas for the top and the bottom.
|
||||||
|
*
|
||||||
|
* Variables:
|
||||||
|
* - $css_id: An optional CSS id to use for the layout.
|
||||||
|
* - $content: An array of content, each item in the array is keyed to one
|
||||||
|
* panel of the layout. This layout supports the following sections:
|
||||||
|
* - $content['content']: Content in the main column.
|
||||||
|
* - $content['sidebar_first']: Content in the first column.
|
||||||
|
* - $content['sidebar_second']: Content in the second column.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="panel-display zen-two-sidebars-second clearfix" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
|
||||||
|
|
||||||
|
<div class="panel-content"><div class="panel-content-inner inside panel-panel">
|
||||||
|
<?php print $content['content']; ?>
|
||||||
|
</div></div> <!-- /.panel-content-inner, /.panel-content -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-first"><div class="panel-sidebar-first-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_first']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-first-inner, /.panel-sidebar-first -->
|
||||||
|
|
||||||
|
<div class="panel-sidebar-second"><div class="panel-sidebar-second-inner inside panel-panel">
|
||||||
|
<?php print $content['sidebar_second']; ?>
|
||||||
|
</div></div> <!-- /.panel-sidebar-second-inner, /.panel-sidebar-second -->
|
||||||
|
|
||||||
|
</div> <!-- /.zen-two-sidebars-second -->
|
BIN
themes/zen/logo.png
Normal file
After Width: | Height: | Size: 1 KiB |
668
themes/zen/template.php
Normal file
|
@ -0,0 +1,668 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Contains theme override functions and preprocess functions for the Zen theme.
|
||||||
|
*
|
||||||
|
* IMPORTANT WARNING: DO NOT MODIFY THIS FILE.
|
||||||
|
*
|
||||||
|
* The base Zen theme is designed to be easily extended by its sub-themes. You
|
||||||
|
* shouldn't modify this or any of the CSS or PHP files in the root zen/ folder.
|
||||||
|
* See the online documentation for more information:
|
||||||
|
* http://drupal.org/node/193318
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Auto-rebuild the theme registry during theme development.
|
||||||
|
if (theme_get_setting('zen_rebuild_registry')) {
|
||||||
|
drupal_rebuild_theme_registry();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements HOOK_theme().
|
||||||
|
*/
|
||||||
|
function zen_theme(&$existing, $type, $theme, $path) {
|
||||||
|
// When #341140 is fixed, replace _zen_path() with drupal_get_path().
|
||||||
|
include_once './' . _zen_path() . '/zen-internals/template.theme-registry.inc';
|
||||||
|
return _zen_theme($existing, $type, $theme, $path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a themed breadcrumb trail.
|
||||||
|
*
|
||||||
|
* @param $breadcrumb
|
||||||
|
* An array containing the breadcrumb links.
|
||||||
|
* @return
|
||||||
|
* A string containing the breadcrumb output.
|
||||||
|
*/
|
||||||
|
function zen_breadcrumb($breadcrumb) {
|
||||||
|
// Determine if we are to display the breadcrumb.
|
||||||
|
$show_breadcrumb = theme_get_setting('zen_breadcrumb');
|
||||||
|
if ($show_breadcrumb == 'yes' || $show_breadcrumb == 'admin' && arg(0) == 'admin') {
|
||||||
|
|
||||||
|
// Optionally get rid of the homepage link.
|
||||||
|
$show_breadcrumb_home = theme_get_setting('zen_breadcrumb_home');
|
||||||
|
if (!$show_breadcrumb_home) {
|
||||||
|
array_shift($breadcrumb);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the breadcrumb with separators.
|
||||||
|
if (!empty($breadcrumb)) {
|
||||||
|
$breadcrumb_separator = theme_get_setting('zen_breadcrumb_separator');
|
||||||
|
$trailing_separator = $title = '';
|
||||||
|
if (theme_get_setting('zen_breadcrumb_title')) {
|
||||||
|
if ($title = drupal_get_title()) {
|
||||||
|
$trailing_separator = $breadcrumb_separator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif (theme_get_setting('zen_breadcrumb_trailing')) {
|
||||||
|
$trailing_separator = $breadcrumb_separator;
|
||||||
|
}
|
||||||
|
return '<div class="breadcrumb">' . implode($breadcrumb_separator, $breadcrumb) . "$trailing_separator$title</div>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Otherwise, return an empty string.
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a themed set of links.
|
||||||
|
*
|
||||||
|
* @param $links
|
||||||
|
* A keyed array of links to be themed.
|
||||||
|
* @param $attributes
|
||||||
|
* A keyed array of attributes
|
||||||
|
* @param $heading
|
||||||
|
* An optional keyed array or a string for a heading to precede the links.
|
||||||
|
* When using an array the following keys can be used:
|
||||||
|
* - text: the heading text
|
||||||
|
* - level: the heading level (e.g. 'h2', 'h3')
|
||||||
|
* - class: (optional) a string of the CSS classes for the heading
|
||||||
|
* When using a string it will be used as the text of the heading and the
|
||||||
|
* level will default to 'h2'.
|
||||||
|
* Headings should be used on navigation menus and any list of links that
|
||||||
|
* consistently appears on multiple pages. To make the heading invisible
|
||||||
|
* use the 'element-invisible' CSS class. Do not use 'display:none', which
|
||||||
|
* removes it from screen-readers and assistive technology. Headings allow
|
||||||
|
* screen-reader and keyboard only users to navigate to or skip the links.
|
||||||
|
* See http://juicystudio.com/article/screen-readers-display-none.php
|
||||||
|
* and http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
|
||||||
|
* @return
|
||||||
|
* A string containing an unordered list of links.
|
||||||
|
*/
|
||||||
|
function zen_links($links, $attributes = array('class' => 'links'), $heading = '') {
|
||||||
|
global $language;
|
||||||
|
$output = '';
|
||||||
|
|
||||||
|
if (count($links) > 0) {
|
||||||
|
// Treat the heading first if it is present to prepend it to the
|
||||||
|
// list of links.
|
||||||
|
if (!empty($heading)) {
|
||||||
|
if (is_string($heading)) {
|
||||||
|
// Prepare the array that will be used when the passed heading
|
||||||
|
// is a string.
|
||||||
|
$heading = array(
|
||||||
|
'text' => $heading,
|
||||||
|
// Set the default level of the heading.
|
||||||
|
'level' => 'h2',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$output .= '<' . $heading['level'];
|
||||||
|
if (!empty($heading['class'])) {
|
||||||
|
$output .= drupal_attributes(array('class' => $heading['class']));
|
||||||
|
}
|
||||||
|
$output .= '>' . check_plain($heading['text']) . '</' . $heading['level'] . '>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$output .= '<ul'. drupal_attributes($attributes) .'>';
|
||||||
|
|
||||||
|
$num_links = count($links);
|
||||||
|
$i = 1;
|
||||||
|
|
||||||
|
foreach ($links as $key => $link) {
|
||||||
|
$class = $key;
|
||||||
|
|
||||||
|
// Add first, last and active classes to the list of links to help out themers.
|
||||||
|
if ($i == 1) {
|
||||||
|
$class .= ' first';
|
||||||
|
}
|
||||||
|
if ($i == $num_links) {
|
||||||
|
$class .= ' last';
|
||||||
|
}
|
||||||
|
if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))
|
||||||
|
&& (empty($link['language']) || $link['language']->language == $language->language)) {
|
||||||
|
$class .= ' active';
|
||||||
|
}
|
||||||
|
$output .= '<li'. drupal_attributes(array('class' => $class)) .'>';
|
||||||
|
|
||||||
|
if (isset($link['href'])) {
|
||||||
|
// Pass in $link as $options, they share the same keys.
|
||||||
|
$output .= l($link['title'], $link['href'], $link);
|
||||||
|
}
|
||||||
|
else if (!empty($link['title'])) {
|
||||||
|
// Some links are actually not links, but we wrap these in <span> for adding title and class attributes
|
||||||
|
if (empty($link['html'])) {
|
||||||
|
$link['title'] = check_plain($link['title']);
|
||||||
|
}
|
||||||
|
$span_attributes = '';
|
||||||
|
if (isset($link['attributes'])) {
|
||||||
|
$span_attributes = drupal_attributes($link['attributes']);
|
||||||
|
}
|
||||||
|
$output .= '<span'. $span_attributes .'>'. $link['title'] .'</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$i++;
|
||||||
|
$output .= "</li>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$output .= '</ul>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements theme_menu_item_link()
|
||||||
|
*/
|
||||||
|
function zen_menu_item_link($link) {
|
||||||
|
if (empty($link['localized_options'])) {
|
||||||
|
$link['localized_options'] = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If an item is a LOCAL TASK, render it as a tab
|
||||||
|
if ($link['type'] & MENU_IS_LOCAL_TASK) {
|
||||||
|
$link['title'] = '<span class="tab">' . check_plain($link['title']) . '</span>';
|
||||||
|
$link['localized_options']['html'] = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return l($link['title'], $link['href'], $link['localized_options']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Duplicate of theme_menu_local_tasks() but adds clearfix to tabs.
|
||||||
|
*/
|
||||||
|
function zen_menu_local_tasks() {
|
||||||
|
$output = '';
|
||||||
|
|
||||||
|
// CTools requires a different set of local task functions.
|
||||||
|
if (module_exists('ctools')) {
|
||||||
|
ctools_include('menu');
|
||||||
|
$primary = ctools_menu_primary_local_tasks();
|
||||||
|
$secondary = ctools_menu_secondary_local_tasks();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$primary = menu_primary_local_tasks();
|
||||||
|
$secondary = menu_secondary_local_tasks();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($primary) {
|
||||||
|
$output .= '<ul class="tabs primary clearfix">' . $primary . '</ul>';
|
||||||
|
}
|
||||||
|
if ($secondary) {
|
||||||
|
$output .= '<ul class="tabs secondary clearfix">' . $secondary . '</ul>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a set of blocks available for the current user.
|
||||||
|
*
|
||||||
|
* @param $region
|
||||||
|
* Which set of blocks to retrieve.
|
||||||
|
* @param $show_blocks
|
||||||
|
* A boolean to determine whether to render sidebar regions or not. Should be
|
||||||
|
* the same value as passed to theme_page.
|
||||||
|
* @return
|
||||||
|
* A string containing the themed blocks for this region.
|
||||||
|
*
|
||||||
|
* @see zen_show_blocks_discovery()
|
||||||
|
*/
|
||||||
|
function zen_blocks($region, $show_blocks = NULL) {
|
||||||
|
// Since Drupal 6 doesn't pass $show_blocks to theme_blocks, we manually call
|
||||||
|
// theme('blocks', NULL, $show_blocks) so that this function can remember the
|
||||||
|
// value on later calls.
|
||||||
|
static $render_sidebars = TRUE;
|
||||||
|
if (!is_null($show_blocks)) {
|
||||||
|
$render_sidebars = $show_blocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If zen_blocks was called with a NULL region, its likely we were just
|
||||||
|
// setting the $render_sidebars static variable.
|
||||||
|
if ($region) {
|
||||||
|
$output = '';
|
||||||
|
|
||||||
|
// If $renders_sidebars is FALSE, don't render any region whose name begins
|
||||||
|
// with "sidebar_".
|
||||||
|
if ($render_sidebars || (strpos($region, 'sidebar_') !== 0)) {
|
||||||
|
// Allow context module to set blocks.
|
||||||
|
if (function_exists('context_blocks')) {
|
||||||
|
$output = context_blocks($region);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
foreach (block_list($region) as $key => $block) {
|
||||||
|
// $key == module_delta
|
||||||
|
$output .= theme('block', $block);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add any content assigned to this region through drupal_set_content() calls.
|
||||||
|
$output .= drupal_get_content($region);
|
||||||
|
|
||||||
|
$elements['#children'] = $output;
|
||||||
|
$elements['#region'] = $region;
|
||||||
|
|
||||||
|
// Set the theme hook suggestions.
|
||||||
|
$hook = array('region_' . $region);
|
||||||
|
if (strpos($region, 'sidebar_') === 0) {
|
||||||
|
$hook[] = 'region_sidebar';
|
||||||
|
}
|
||||||
|
$hook[] = 'region';
|
||||||
|
return $output ? theme($hook, $elements) : '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Examine the $show_blocks variable before template_preprocess_page() is called.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the page template.
|
||||||
|
*
|
||||||
|
* @see zen_blocks()
|
||||||
|
*/
|
||||||
|
function zen_show_blocks_discovery(&$vars) {
|
||||||
|
if ($vars['show_blocks'] == FALSE) {
|
||||||
|
// Allow zen_blocks() to statically cache the $show_blocks variable. A TRUE
|
||||||
|
// value is assumed, so we only need to override when $show_blocks is FALSE.
|
||||||
|
theme('blocks', NULL, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into templates before other preprocess functions have run.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered.
|
||||||
|
*/
|
||||||
|
function zen_preprocess(&$vars, $hook) {
|
||||||
|
// In D6, the page.tpl uses a different variable name to hold the classes.
|
||||||
|
$key = ($hook == 'page' || $hook == 'maintenance_page') ? 'body_classes' : 'classes';
|
||||||
|
|
||||||
|
// Create a D7-standard classes_array variable.
|
||||||
|
if (array_key_exists($key, $vars)) {
|
||||||
|
// Views (and possibly other modules) have templates with a $classes
|
||||||
|
// variable that isn't a string, so we leave those variables alone.
|
||||||
|
if (is_string($vars[$key])) {
|
||||||
|
$vars['classes_array'] = explode(' ', $hook . ' ' . $vars[$key]);
|
||||||
|
unset($vars[$key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$vars['classes_array'] = array($hook);
|
||||||
|
}
|
||||||
|
// Add support for Skinr
|
||||||
|
if (!empty($vars['skinr']) && array_key_exists('classes_array', $vars)) {
|
||||||
|
$vars['classes_array'][] = $vars['skinr'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the page templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("page" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_preprocess_page(&$vars, $hook) {
|
||||||
|
// If the user is silly and enables Zen as the theme, add some styles.
|
||||||
|
if ($GLOBALS['theme'] == 'zen') {
|
||||||
|
include_once './' . _zen_path() . '/zen-internals/template.zen.inc';
|
||||||
|
_zen_preprocess_page($vars, $hook);
|
||||||
|
}
|
||||||
|
// Add conditional stylesheets.
|
||||||
|
elseif (!module_exists('conditional_styles')) {
|
||||||
|
$language = $GLOBALS['language']->direction == LANGUAGE_RTL ? '_rtl' : '';
|
||||||
|
$vars['conditional_styles'] = variable_get('conditional_styles_' . $GLOBALS['theme'] . $language, '');
|
||||||
|
$vars['styles'] .= $vars['conditional_styles'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Classes for body element. Allows advanced theming based on context
|
||||||
|
// (home page, node of certain type, etc.)
|
||||||
|
// Remove the mostly useless page-ARG0 class.
|
||||||
|
if ($index = array_search(preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', 'page-'. drupal_strtolower(arg(0))), $vars['classes_array'])) {
|
||||||
|
unset($vars['classes_array'][$index]);
|
||||||
|
}
|
||||||
|
if (!$vars['is_front']) {
|
||||||
|
// Add unique class for each page.
|
||||||
|
$path = drupal_get_path_alias($_GET['q']);
|
||||||
|
$vars['classes_array'][] = drupal_html_class('page-' . $path);
|
||||||
|
// Add unique class for each website section.
|
||||||
|
list($section, ) = explode('/', $path, 2);
|
||||||
|
if (arg(0) == 'node') {
|
||||||
|
if (arg(1) == 'add') {
|
||||||
|
$section = 'node-add';
|
||||||
|
}
|
||||||
|
elseif (is_numeric(arg(1)) && (arg(2) == 'edit' || arg(2) == 'delete')) {
|
||||||
|
$section = 'node-' . arg(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$vars['classes_array'][] = drupal_html_class('section-' . $section);
|
||||||
|
}
|
||||||
|
if (theme_get_setting('zen_wireframes')) {
|
||||||
|
$vars['classes_array'][] = 'with-wireframes'; // Optionally add the wireframes style.
|
||||||
|
}
|
||||||
|
// We need to re-do the $layout and body classes because
|
||||||
|
// template_preprocess_page() assumes sidebars are named 'left' and 'right'.
|
||||||
|
$vars['layout'] = 'none';
|
||||||
|
if (!empty($vars['sidebar_first'])) {
|
||||||
|
$vars['layout'] = 'first';
|
||||||
|
}
|
||||||
|
if (!empty($vars['sidebar_second'])) {
|
||||||
|
$vars['layout'] = ($vars['layout'] == 'first') ? 'both' : 'second';
|
||||||
|
}
|
||||||
|
// If the layout is 'none', then template_preprocess_page() will already have
|
||||||
|
// set a 'no-sidebars' class since it won't find a 'left' or 'right' sidebar.
|
||||||
|
if ($vars['layout'] != 'none') {
|
||||||
|
// Remove the incorrect 'no-sidebars' class.
|
||||||
|
if ($index = array_search('no-sidebars', $vars['classes_array'])) {
|
||||||
|
unset($vars['classes_array'][$index]);
|
||||||
|
}
|
||||||
|
// Set the proper layout body classes.
|
||||||
|
if ($vars['layout'] == 'both') {
|
||||||
|
$vars['classes_array'][] = 'two-sidebars';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$vars['classes_array'][] = 'one-sidebar';
|
||||||
|
$vars['classes_array'][] = 'sidebar-' . $vars['layout'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Store the menu item since it has some useful information.
|
||||||
|
$vars['menu_item'] = menu_get_item();
|
||||||
|
switch ($vars['menu_item']['page_callback']) {
|
||||||
|
case 'views_page':
|
||||||
|
// Is this a Views page?
|
||||||
|
$vars['classes_array'][] = 'page-views';
|
||||||
|
break;
|
||||||
|
case 'page_manager_page_execute':
|
||||||
|
case 'page_manager_node_view':
|
||||||
|
case 'page_manager_contact_site':
|
||||||
|
// Is this a Panels page?
|
||||||
|
$vars['classes_array'][] = 'page-panels';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the maintenance page template.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("maintenance_page" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_preprocess_maintenance_page(&$vars, $hook) {
|
||||||
|
// If Zen is the maintenance theme, add some styles.
|
||||||
|
if ($GLOBALS['theme'] == 'zen') {
|
||||||
|
include_once './' . _zen_path() . '/zen-internals/template.zen.inc';
|
||||||
|
_zen_preprocess_page($vars, $hook);
|
||||||
|
}
|
||||||
|
// Add conditional stylesheets.
|
||||||
|
elseif (!module_exists('conditional_styles')) {
|
||||||
|
$language = $GLOBALS['language']->direction == LANGUAGE_RTL ? '_rtl' : '';
|
||||||
|
$vars['conditional_styles'] = variable_get('conditional_styles_' . $GLOBALS['theme'] . $language, '');
|
||||||
|
$vars['styles'] .= $vars['conditional_styles'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the node templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("node" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_preprocess_node(&$vars, $hook) {
|
||||||
|
// Create the build_mode variable.
|
||||||
|
switch ($vars['node']->build_mode) {
|
||||||
|
case NODE_BUILD_NORMAL:
|
||||||
|
if ($vars['node']->build_mode === NODE_BUILD_NORMAL) {
|
||||||
|
$vars['build_mode'] = $vars['teaser'] ? 'teaser' : 'full';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$vars['build_mode'] = $vars['node']->build_mode;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NODE_BUILD_PREVIEW:
|
||||||
|
$vars['build_mode'] = 'preview';
|
||||||
|
break;
|
||||||
|
case NODE_BUILD_SEARCH_INDEX:
|
||||||
|
$vars['build_mode'] = 'search_index';
|
||||||
|
break;
|
||||||
|
case NODE_BUILD_SEARCH_RESULT:
|
||||||
|
$vars['build_mode'] = 'search_result';
|
||||||
|
break;
|
||||||
|
case NODE_BUILD_RSS:
|
||||||
|
$vars['build_mode'] = 'rss';
|
||||||
|
break;
|
||||||
|
case NODE_BUILD_PRINT:
|
||||||
|
$vars['build_mode'] = 'print';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$vars['build_mode'] = $vars['node']->build_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create the user_picture variable.
|
||||||
|
$vars['user_picture'] = $vars['picture'];
|
||||||
|
|
||||||
|
// Create the Drupal 7 $display_submitted variable.
|
||||||
|
$vars['display_submitted'] = theme_get_setting('toggle_node_info_' . $vars['node']->type);
|
||||||
|
|
||||||
|
// Special classes for nodes.
|
||||||
|
// Class for node type: "node-type-page", "node-type-story", "node-type-my-custom-type", etc.
|
||||||
|
$vars['classes_array'][] = drupal_html_class('node-type-' . $vars['type']);
|
||||||
|
if ($vars['promote']) {
|
||||||
|
$vars['classes_array'][] = 'node-promoted';
|
||||||
|
}
|
||||||
|
if ($vars['sticky']) {
|
||||||
|
$vars['classes_array'][] = 'node-sticky';
|
||||||
|
}
|
||||||
|
if (!$vars['status']) {
|
||||||
|
$vars['classes_array'][] = 'node-unpublished';
|
||||||
|
$vars['unpublished'] = TRUE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$vars['unpublished'] = FALSE;
|
||||||
|
}
|
||||||
|
if ($vars['uid'] && $vars['uid'] == $GLOBALS['user']->uid) {
|
||||||
|
$vars['classes_array'][] = 'node-by-viewer'; // Node is authored by current user.
|
||||||
|
}
|
||||||
|
if ($vars['teaser']) {
|
||||||
|
$vars['classes_array'][] = 'node-teaser'; // Node is displayed as teaser.
|
||||||
|
}
|
||||||
|
if (isset($vars['preview'])) {
|
||||||
|
$vars['classes_array'][] = 'node-preview';
|
||||||
|
}
|
||||||
|
$vars['classes_array'][] = 'build-mode-' . $vars['build_mode'] ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the comment templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("comment" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_preprocess_comment(&$vars, $hook) {
|
||||||
|
include_once './' . _zen_path() . '/zen-internals/template.comment.inc';
|
||||||
|
_zen_preprocess_comment($vars, $hook);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Preprocess variables for region.tpl.php
|
||||||
|
*
|
||||||
|
* Prepare the values passed to the theme_region function to be passed into a
|
||||||
|
* pluggable template engine.
|
||||||
|
*
|
||||||
|
* @see region.tpl.php
|
||||||
|
*/
|
||||||
|
function zen_preprocess_region(&$vars, $hook) {
|
||||||
|
// Create the $content variable that templates expect.
|
||||||
|
$vars['content'] = $vars['elements']['#children'];
|
||||||
|
$vars['region'] = $vars['elements']['#region'];
|
||||||
|
|
||||||
|
// Setup the default classes.
|
||||||
|
$vars['classes_array'] = array('region', 'region-' . str_replace('_', '-', $vars['region']));
|
||||||
|
|
||||||
|
// Sidebar regions get a couple extra classes.
|
||||||
|
if (strpos($vars['region'], 'sidebar_') === 0) {
|
||||||
|
$vars['classes_array'][] = 'column';
|
||||||
|
$vars['classes_array'][] = 'sidebar';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the block templates.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("block" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_preprocess_block(&$vars, $hook) {
|
||||||
|
$block = $vars['block'];
|
||||||
|
|
||||||
|
// Drupal 7 uses a $content variable instead of $block->content.
|
||||||
|
$vars['content'] = $block->content;
|
||||||
|
// Drupal 7 should use a $title variable instead of $block->subject.
|
||||||
|
$vars['title'] = $block->subject;
|
||||||
|
|
||||||
|
// Special classes for blocks.
|
||||||
|
$vars['classes_array'][] = 'block-' . $block->module;
|
||||||
|
// Classes describing the position of the block within the region.
|
||||||
|
if ($vars['block_id'] == 1) {
|
||||||
|
$vars['classes_array'][] = 'first';
|
||||||
|
}
|
||||||
|
if (!function_exists('context_blocks') && count(block_list($vars['block']->region)) == $vars['block_id']) {
|
||||||
|
$vars['classes_array'][] = 'last';
|
||||||
|
}
|
||||||
|
$vars['classes_array'][] = 'region-' . $vars['block_zebra'];
|
||||||
|
$vars['classes_array'][] = $vars['zebra'];
|
||||||
|
$vars['classes_array'][] = 'region-count-' . $vars['block_id'];
|
||||||
|
$vars['classes_array'][] = 'count-' . $vars['id'];
|
||||||
|
|
||||||
|
// Create the block ID.
|
||||||
|
$vars['block_html_id'] = 'block-' . $block->module . '-' . $block->delta;
|
||||||
|
|
||||||
|
$vars['edit_links_array'] = array();
|
||||||
|
if (theme_get_setting('zen_block_editing') && user_access('administer blocks')) {
|
||||||
|
include_once './' . _zen_path() . '/zen-internals/template.block-editing.inc';
|
||||||
|
zen_preprocess_block_editing($vars, $hook);
|
||||||
|
$vars['classes_array'][] = 'with-block-editing';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into templates after preprocess functions have run.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered.
|
||||||
|
*/
|
||||||
|
function zen_process(&$vars, $hook) {
|
||||||
|
// Don't clobber Views 3 classes.
|
||||||
|
if (array_key_exists('classes_array', $vars) && !array_key_exists('classes', $vars)) {
|
||||||
|
$vars['classes'] = implode(' ', $vars['classes_array']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override or insert variables into the block templates after preprocess functions have run.
|
||||||
|
*
|
||||||
|
* @param $vars
|
||||||
|
* An array of variables to pass to the theme template.
|
||||||
|
* @param $hook
|
||||||
|
* The name of the template being rendered ("block" in this case.)
|
||||||
|
*/
|
||||||
|
function zen_process_block(&$vars, $hook) {
|
||||||
|
$vars['edit_links'] = !empty($vars['edit_links_array']) ? '<div class="edit">' . implode(' ', $vars['edit_links_array']) . '</div>' : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!function_exists('drupal_html_class')) {
|
||||||
|
/**
|
||||||
|
* Prepare a string for use as a valid class name.
|
||||||
|
*
|
||||||
|
* Do not pass one string containing multiple classes as they will be
|
||||||
|
* incorrectly concatenated with dashes, i.e. "one two" will become "one-two".
|
||||||
|
*
|
||||||
|
* @param $class
|
||||||
|
* The class name to clean.
|
||||||
|
* @return
|
||||||
|
* The cleaned class name.
|
||||||
|
*/
|
||||||
|
function drupal_html_class($class) {
|
||||||
|
// By default, we filter using Drupal's coding standards.
|
||||||
|
$class = strtr(drupal_strtolower($class), array(' ' => '-', '_' => '-', '/' => '-', '[' => '-', ']' => ''));
|
||||||
|
|
||||||
|
// http://www.w3.org/TR/CSS21/syndata.html#characters shows the syntax for valid
|
||||||
|
// CSS identifiers (including element names, classes, and IDs in selectors.)
|
||||||
|
//
|
||||||
|
// Valid characters in a CSS identifier are:
|
||||||
|
// - the hyphen (U+002D)
|
||||||
|
// - a-z (U+0030 - U+0039)
|
||||||
|
// - A-Z (U+0041 - U+005A)
|
||||||
|
// - the underscore (U+005F)
|
||||||
|
// - 0-9 (U+0061 - U+007A)
|
||||||
|
// - ISO 10646 characters U+00A1 and higher
|
||||||
|
// We strip out any character not in the above list.
|
||||||
|
$class = preg_replace('/[^\x{002D}\x{0030}-\x{0039}\x{0041}-\x{005A}\x{005F}\x{0061}-\x{007A}\x{00A1}-\x{FFFF}]/u', '', $class);
|
||||||
|
|
||||||
|
return $class;
|
||||||
|
}
|
||||||
|
} /* End of drupal_html_class conditional definition. */
|
||||||
|
|
||||||
|
if (!function_exists('drupal_html_id')) {
|
||||||
|
/**
|
||||||
|
* Prepare a string for use as a valid HTML ID and guarantee uniqueness.
|
||||||
|
*
|
||||||
|
* @param $id
|
||||||
|
* The ID to clean.
|
||||||
|
* @return
|
||||||
|
* The cleaned ID.
|
||||||
|
*/
|
||||||
|
function drupal_html_id($id) {
|
||||||
|
$id = strtr(drupal_strtolower($id), array(' ' => '-', '_' => '-', '[' => '-', ']' => ''));
|
||||||
|
|
||||||
|
// As defined in http://www.w3.org/TR/html4/types.html#type-name, HTML IDs can
|
||||||
|
// only contain letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
|
||||||
|
// colons (":"), and periods ("."). We strip out any character not in that
|
||||||
|
// list. Note that the CSS spec doesn't allow colons or periods in identifiers
|
||||||
|
// (http://www.w3.org/TR/CSS21/syndata.html#characters), so we strip those two
|
||||||
|
// characters as well.
|
||||||
|
$id = preg_replace('/[^A-Za-z0-9\-_]/', '', $id);
|
||||||
|
|
||||||
|
return $id;
|
||||||
|
}
|
||||||
|
} /* End of drupal_html_id conditional definition. */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the path to the Zen theme.
|
||||||
|
*
|
||||||
|
* drupal_get_filename() is broken; see #341140. When that is fixed in Drupal 6,
|
||||||
|
* replace _zen_path() with drupal_get_path('theme', 'zen').
|
||||||
|
*/
|
||||||
|
function _zen_path() {
|
||||||
|
static $path = FALSE;
|
||||||
|
if (!$path) {
|
||||||
|
$matches = drupal_system_listing('zen\.info$', 'themes', 'name', 0);
|
||||||
|
if (!empty($matches['zen']->filename)) {
|
||||||
|
$path = dirname($matches['zen']->filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $path;
|
||||||
|
}
|
66
themes/zen/templates/block.tpl.php
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Theme implementation to display a block.
|
||||||
|
*
|
||||||
|
* Available variables:
|
||||||
|
* - $title: Block title.
|
||||||
|
* - $content: Block content.
|
||||||
|
* - $block->module: Module that generated the block.
|
||||||
|
* - $block->delta: An ID for the block, unique within each module.
|
||||||
|
* - $block->region: The block region embedding the current block.
|
||||||
|
* - $edit_links: A list of contextual links for the block. It can be
|
||||||
|
* manipulated through the variable $edit_links_array from preprocess
|
||||||
|
* functions.
|
||||||
|
* - $classes: String of classes that can be used to style contextually through
|
||||||
|
* CSS. It can be manipulated through the variable $classes_array from
|
||||||
|
* preprocess functions. The default values can be one or more of the
|
||||||
|
* following:
|
||||||
|
* - block: The current template type, i.e., "theming hook".
|
||||||
|
* - block-[module]: The module generating the block. For example, the user
|
||||||
|
* module is responsible for handling the default user navigation block. In
|
||||||
|
* that case the class would be "block-user".
|
||||||
|
* - first: The first block in the region.
|
||||||
|
* - last: The last block in the region.
|
||||||
|
* - region-count-[x]: The position of the block in the list of blocks in the
|
||||||
|
* current region.
|
||||||
|
* - region-odd: An odd-numbered block of the list of blocks in the current
|
||||||
|
* region.
|
||||||
|
* - region-even: An even-numbered block of the list of blocks in the current
|
||||||
|
* region.
|
||||||
|
* - count-[x]: The position of the block in the list of blocks on the current
|
||||||
|
* page.
|
||||||
|
* - odd: An odd-numbered block of the list of blocks on the current page.
|
||||||
|
* - even: An even-numbered block of the list of blocks on the current page.
|
||||||
|
*
|
||||||
|
* Helper variables:
|
||||||
|
* - $classes_array: Array of html class attribute values. It is flattened
|
||||||
|
* into a string within the variable $classes.
|
||||||
|
* - $edit_links_array: An array of contextual links for the block.
|
||||||
|
* - $block_zebra: Outputs 'odd' and 'even' dependent on each block region.
|
||||||
|
* - $zebra: Same output as $block_zebra but independent of any block region.
|
||||||
|
* - $block_id: Counter dependent on each block region.
|
||||||
|
* - $id: Same output as $block_id but independent of any block region.
|
||||||
|
* - $is_front: Flags true when presented in the front page.
|
||||||
|
* - $logged_in: Flags true when the current user is a logged-in member.
|
||||||
|
* - $is_admin: Flags true when the current user is an administrator.
|
||||||
|
* - $block_html_id: A valid HTML ID and guaranteed unique.
|
||||||
|
*
|
||||||
|
* @see template_preprocess()
|
||||||
|
* @see zen_preprocess()
|
||||||
|
* @see template_preprocess_block()
|
||||||
|
* @see zen_preprocess_block()
|
||||||
|
* @see zen_process()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<div id="<?php print $block_html_id; ?>" class="<?php print $classes; ?>">
|
||||||
|
<?php if ($title): ?>
|
||||||
|
<h2 class="title"><?php print $title; ?></h2>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<?php print $content; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php print $edit_links; ?>
|
||||||
|
</div><!-- /.block -->
|
45
themes/zen/templates/comment-wrapper.tpl.php
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Default theme implementation to wrap comments.
|
||||||
|
*
|
||||||
|
* Available variables:
|
||||||
|
* - $content: All comments for a given page. Also contains sorting controls
|
||||||
|
* and comment forms if the site is configured for it.
|
||||||
|
* - $classes: String of classes that can be used to style contextually through
|
||||||
|
* CSS. It can be manipulated through the variable $classes_array from
|
||||||
|
* preprocess functions. The default value has the following:
|
||||||
|
* - comment-wrapper: The current template type, i.e., "theming hook".
|
||||||
|
*
|
||||||
|
* The following variables are provided for contextual information.
|
||||||
|
* - $node: Node object the comments are attached to.
|
||||||
|
* The constants below the variables show the possible values and should be
|
||||||
|
* used for comparison.
|
||||||
|
* - $display_mode
|
||||||
|
* - COMMENT_MODE_FLAT_COLLAPSED
|
||||||
|
* - COMMENT_MODE_FLAT_EXPANDED
|
||||||
|
* - COMMENT_MODE_THREADED_COLLAPSED
|
||||||
|
* - COMMENT_MODE_THREADED_EXPANDED
|
||||||
|
* - $display_order
|
||||||
|
* - COMMENT_ORDER_NEWEST_FIRST
|
||||||
|
* - COMMENT_ORDER_OLDEST_FIRST
|
||||||
|
* - $comment_controls_state
|
||||||
|
* - COMMENT_CONTROLS_ABOVE
|
||||||
|
* - COMMENT_CONTROLS_BELOW
|
||||||
|
* - COMMENT_CONTROLS_ABOVE_BELOW
|
||||||
|
* - COMMENT_CONTROLS_HIDDEN
|
||||||
|
*
|
||||||
|
* Other variables:
|
||||||
|
* - $classes_array: Array of html class attribute values. It is flattened
|
||||||
|
* into a string within the variable $classes.
|
||||||
|
*
|
||||||
|
* @see template_preprocess_comment_wrapper()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<div id="comments" class="<?php print $classes; ?>">
|
||||||
|
<?php if ($node->type != 'forum'): ?>
|
||||||
|
<h2 class="title"><?php print t('Comments'); ?></h2>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $content; ?>
|
||||||
|
</div>
|
90
themes/zen/templates/comment.tpl.php
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Default theme implementation for comments.
|
||||||
|
*
|
||||||
|
* Available variables:
|
||||||
|
* - $author: Comment author. Can be link or plain text.
|
||||||
|
* - $content: Body of the comment.
|
||||||
|
* - $created: Formatted date and time for when the comment was created.
|
||||||
|
* Preprocess functions can reformat it by calling format_date() with the
|
||||||
|
* desired parameters on the $comment->timestamp variable.
|
||||||
|
* - $new: New comment marker.
|
||||||
|
* - $picture: Authors picture.
|
||||||
|
* - $signature: Authors signature.
|
||||||
|
* - $status: Comment status. Possible values are:
|
||||||
|
* comment-unpublished, comment-published or comment-preview.
|
||||||
|
* - $title: Linked title.
|
||||||
|
* - $links: Various operational links.
|
||||||
|
* - $unpublished: An unpublished comment visible only to administrators.
|
||||||
|
* - $classes: String of classes that can be used to style contextually through
|
||||||
|
* CSS. It can be manipulated through the variable $classes_array from
|
||||||
|
* preprocess functions. The default values can be one or more of the following:
|
||||||
|
* - comment: The current template type, i.e., "theming hook".
|
||||||
|
* - comment-by-anonymous: Comment by an unregistered user.
|
||||||
|
* - comment-by-node-author: Comment by the author of the parent node.
|
||||||
|
* - comment-preview: When previewing a new or edited comment.
|
||||||
|
* - first: The first comment in the list of displayed comments.
|
||||||
|
* - last: The last comment in the list of displayed comments.
|
||||||
|
* - odd: An odd-numbered comment in the list of displayed comments.
|
||||||
|
* - even: An even-numbered comment in the list of displayed comments.
|
||||||
|
* The following applies only to viewers who are registered users:
|
||||||
|
* - comment-by-viewer: Comment by the user currently viewing the page.
|
||||||
|
* - comment-unpublished: An unpublished comment visible only to administrators.
|
||||||
|
* - comment-new: New comment since the last visit.
|
||||||
|
*
|
||||||
|
* These two variables are provided for context:
|
||||||
|
* - $comment: Full comment object.
|
||||||
|
* - $node: Node object the comments are attached to.
|
||||||
|
*
|
||||||
|
* Other variables:
|
||||||
|
* - $classes_array: Array of html class attribute values. It is flattened
|
||||||
|
* into a string within the variable $classes.
|
||||||
|
*
|
||||||
|
* The following variables are deprecated and will be removed in Drupal 7:
|
||||||
|
* - $date: Formatted date and time for when the comment was created.
|
||||||
|
* - $submitted: By line with date and time.
|
||||||
|
*
|
||||||
|
* @see template_preprocess()
|
||||||
|
* @see template_preprocess_comment()
|
||||||
|
* @see zen_preprocess()
|
||||||
|
* @see zen_preprocess_comment()
|
||||||
|
* @see zen_process()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<div class="<?php print $classes; ?> clearfix">
|
||||||
|
<?php print $picture; ?>
|
||||||
|
|
||||||
|
<?php if ($title): ?>
|
||||||
|
<h3 class="title">
|
||||||
|
<?php print $title; ?>
|
||||||
|
<?php if ($new): ?>
|
||||||
|
<span class="new"><?php print $new; ?></span>
|
||||||
|
<?php endif; ?>
|
||||||
|
</h3>
|
||||||
|
<?php elseif ($new): ?>
|
||||||
|
<div class="new"><?php print $new; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($unpublished): ?>
|
||||||
|
<div class="unpublished"><?php print t('Unpublished'); ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<div class="submitted">
|
||||||
|
<?php
|
||||||
|
print t('Submitted by !username on !datetime.',
|
||||||
|
array('!username' => $author, '!datetime' => $created));
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<?php print $content; ?>
|
||||||
|
<?php if ($signature): ?>
|
||||||
|
<div class="user-signature clearfix">
|
||||||
|
<?php print $signature; ?>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php print $links; ?>
|
||||||
|
</div><!-- /.comment -->
|
107
themes/zen/templates/maintenance-page.tpl.php
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file maintenance-page.tpl.php
|
||||||
|
*
|
||||||
|
* Theme implementation to display a single Drupal page while off-line.
|
||||||
|
*
|
||||||
|
* All the available variables are mirrored in page.tpl.php. Some may be left
|
||||||
|
* blank but they are provided for consistency.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see template_preprocess()
|
||||||
|
* @see template_preprocess_maintenance_page()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title><?php print $head_title; ?></title>
|
||||||
|
<?php print $head; ?>
|
||||||
|
<?php print $styles; ?>
|
||||||
|
<?php print $scripts; ?>
|
||||||
|
</head>
|
||||||
|
<body class="<?php print $classes; ?>">
|
||||||
|
|
||||||
|
<div id="page-wrapper"><div id="page">
|
||||||
|
|
||||||
|
<div id="header"><div class="section clearfix">
|
||||||
|
|
||||||
|
<?php if ($logo): ?>
|
||||||
|
<a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /></a>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($site_name || $site_slogan): ?>
|
||||||
|
<div id="name-and-slogan">
|
||||||
|
<?php if ($site_name): ?>
|
||||||
|
<div id="site-name"><strong>
|
||||||
|
<a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home">
|
||||||
|
<?php print $site_name; ?>
|
||||||
|
</a>
|
||||||
|
</strong></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php if ($site_slogan): ?>
|
||||||
|
<div id="site-slogan"><?php print $site_slogan; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div><!-- /#name-and-slogan -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $header; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#header -->
|
||||||
|
|
||||||
|
<div id="main-wrapper"><div id="main" class="clearfix<?php if ($navigation) { print ' with-navigation'; } ?>">
|
||||||
|
|
||||||
|
<div id="content" class="column"><div class="section">
|
||||||
|
|
||||||
|
<?php print $highlight; ?>
|
||||||
|
|
||||||
|
<?php if ($title): ?>
|
||||||
|
<h1 class="title"><?php print $title; ?></h1>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php if ($messages): print $messages; endif; ?>
|
||||||
|
|
||||||
|
<?php print $content_top; ?>
|
||||||
|
|
||||||
|
<div id="content-area">
|
||||||
|
<?php print $content; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php print $content_bottom; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#content -->
|
||||||
|
|
||||||
|
<?php if ($navigation): ?>
|
||||||
|
<div id="navigation"><div class="section clearfix">
|
||||||
|
|
||||||
|
<?php print $navigation; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#navigation -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $sidebar_first; ?>
|
||||||
|
|
||||||
|
<?php print $sidebar_second; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /#main, /#main-wrapper -->
|
||||||
|
|
||||||
|
<?php if ($footer || $footer_message): ?>
|
||||||
|
<div id="footer"><div class="section">
|
||||||
|
|
||||||
|
<?php if ($footer_message): ?>
|
||||||
|
<div id="footer-message"><?php print $footer_message; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $footer; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#footer -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /#page, /#page-wrapper -->
|
||||||
|
|
||||||
|
<?php print $page_closure; ?>
|
||||||
|
|
||||||
|
<?php print $closure; ?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
104
themes/zen/templates/node.tpl.php
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Theme implementation to display a node.
|
||||||
|
*
|
||||||
|
* Available variables:
|
||||||
|
* - $title: the (sanitized) title of the node.
|
||||||
|
* - $content: Node body or teaser depending on $teaser flag.
|
||||||
|
* - $user_picture: The node author's picture from user-picture.tpl.php.
|
||||||
|
* - $date: Formatted creation date. Preprocess functions can reformat it by
|
||||||
|
* calling format_date() with the desired parameters on the $created variable.
|
||||||
|
* - $name: Themed username of node author output from theme_username().
|
||||||
|
* - $node_url: Direct url of the current node.
|
||||||
|
* - $terms: the themed list of taxonomy term links output from theme_links().
|
||||||
|
* - $display_submitted: whether submission information should be displayed.
|
||||||
|
* - $submitted: Themed submission information output from
|
||||||
|
* theme_node_submitted().
|
||||||
|
* - $links: Themed links like "Read more", "Add new comment", etc. output
|
||||||
|
* from theme_links().
|
||||||
|
* - $classes: String of classes that can be used to style contextually through
|
||||||
|
* CSS. It can be manipulated through the variable $classes_array from
|
||||||
|
* preprocess functions. The default values can be one or more of the
|
||||||
|
* following:
|
||||||
|
* - node: The current template type, i.e., "theming hook".
|
||||||
|
* - node-[type]: The current node type. For example, if the node is a
|
||||||
|
* "Blog entry" it would result in "node-blog". Note that the machine
|
||||||
|
* name will often be in a short form of the human readable label.
|
||||||
|
* - node-teaser: Nodes in teaser form.
|
||||||
|
* - node-preview: Nodes in preview mode.
|
||||||
|
* The following are controlled through the node publishing options.
|
||||||
|
* - node-promoted: Nodes promoted to the front page.
|
||||||
|
* - node-sticky: Nodes ordered above other non-sticky nodes in teaser
|
||||||
|
* listings.
|
||||||
|
* - node-unpublished: Unpublished nodes visible only to administrators.
|
||||||
|
* The following applies only to viewers who are registered users:
|
||||||
|
* - node-by-viewer: Node is authored by the user currently viewing the page.
|
||||||
|
*
|
||||||
|
* Other variables:
|
||||||
|
* - $node: Full node object. Contains data that may not be safe.
|
||||||
|
* - $type: Node type, i.e. story, page, blog, etc.
|
||||||
|
* - $comment_count: Number of comments attached to the node.
|
||||||
|
* - $uid: User ID of the node author.
|
||||||
|
* - $created: Time the node was published formatted in Unix timestamp.
|
||||||
|
* - $classes_array: Array of html class attribute values. It is flattened
|
||||||
|
* into a string within the variable $classes.
|
||||||
|
* - $zebra: Outputs either "even" or "odd". Useful for zebra striping in
|
||||||
|
* teaser listings.
|
||||||
|
* - $id: Position of the node. Increments each time it's output.
|
||||||
|
*
|
||||||
|
* Node status variables:
|
||||||
|
* - $build_mode: Build mode, e.g. 'full', 'teaser'...
|
||||||
|
* - $teaser: Flag for the teaser state (shortcut for $build_mode == 'teaser').
|
||||||
|
* - $page: Flag for the full page state.
|
||||||
|
* - $promote: Flag for front page promotion state.
|
||||||
|
* - $sticky: Flags for sticky post setting.
|
||||||
|
* - $status: Flag for published status.
|
||||||
|
* - $comment: State of comment settings for the node.
|
||||||
|
* - $readmore: Flags true if the teaser content of the node cannot hold the
|
||||||
|
* main body content.
|
||||||
|
* - $is_front: Flags true when presented in the front page.
|
||||||
|
* - $logged_in: Flags true when the current user is a logged-in member.
|
||||||
|
* - $is_admin: Flags true when the current user is an administrator.
|
||||||
|
*
|
||||||
|
* The following variable is deprecated and will be removed in Drupal 7:
|
||||||
|
* - $picture: This variable has been renamed $user_picture in Drupal 7.
|
||||||
|
*
|
||||||
|
* @see template_preprocess()
|
||||||
|
* @see template_preprocess_node()
|
||||||
|
* @see zen_preprocess()
|
||||||
|
* @see zen_preprocess_node()
|
||||||
|
* @see zen_process()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix">
|
||||||
|
<?php print $user_picture; ?>
|
||||||
|
|
||||||
|
<?php if (!$page && $title): ?>
|
||||||
|
<h2 class="title"><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($unpublished): ?>
|
||||||
|
<div class="unpublished"><?php print t('Unpublished'); ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($display_submitted || $terms): ?>
|
||||||
|
<div class="meta">
|
||||||
|
<?php if ($display_submitted): ?>
|
||||||
|
<span class="submitted">
|
||||||
|
<?php print $submitted; ?>
|
||||||
|
</span>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($terms): ?>
|
||||||
|
<div class="terms terms-inline"><?php print $terms; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<?php print $content; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php print $links; ?>
|
||||||
|
</div><!-- /.node -->
|
252
themes/zen/templates/page.tpl.php
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Theme implementation to display a single Drupal page.
|
||||||
|
*
|
||||||
|
* Available variables:
|
||||||
|
*
|
||||||
|
* General utility variables:
|
||||||
|
* - $base_path: The base URL path of the Drupal installation. At the very
|
||||||
|
* least, this will always default to /.
|
||||||
|
* - $css: An array of CSS files for the current page.
|
||||||
|
* - $directory: The directory the template is located in, e.g. modules/system
|
||||||
|
* or themes/garland.
|
||||||
|
* - $is_front: TRUE if the current page is the front page. Used to toggle the mission statement.
|
||||||
|
* - $logged_in: TRUE if the user is registered and signed in.
|
||||||
|
* - $is_admin: TRUE if the user has permission to access administration pages.
|
||||||
|
*
|
||||||
|
* Page metadata:
|
||||||
|
* - $language: (object) The language the site is being displayed in.
|
||||||
|
* $language->language contains its textual representation.
|
||||||
|
* $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
|
||||||
|
* - $head_title: A modified version of the page title, for use in the TITLE tag.
|
||||||
|
* - $head: Markup for the HEAD section (including meta tags, keyword tags, and
|
||||||
|
* so on).
|
||||||
|
* - $styles: Style tags necessary to import all CSS files for the page.
|
||||||
|
* - $scripts: Script tags necessary to load the JavaScript files and settings
|
||||||
|
* for the page.
|
||||||
|
* - $classes: String of classes that can be used to style contextually through
|
||||||
|
* CSS. It should be placed within the <body> tag. When selecting through CSS
|
||||||
|
* it's recommended that you use the body tag, e.g., "body.front". It can be
|
||||||
|
* manipulated through the variable $classes_array from preprocess functions.
|
||||||
|
* The default values can be one or more of the following:
|
||||||
|
* - front: Page is the home page.
|
||||||
|
* - not-front: Page is not the home page.
|
||||||
|
* - logged-in: The current viewer is logged in.
|
||||||
|
* - not-logged-in: The current viewer is not logged in.
|
||||||
|
* - node-type-[node type]: When viewing a single node, the type of that node.
|
||||||
|
* For example, if the node is a "Blog entry" it would result in "node-type-blog".
|
||||||
|
* Note that the machine name will often be in a short form of the human readable label.
|
||||||
|
* - page-views: Page content is generated from Views. Note: a Views block
|
||||||
|
* will not cause this class to appear.
|
||||||
|
* - page-panels: Page content is generated from Panels. Note: a Panels block
|
||||||
|
* will not cause this class to appear.
|
||||||
|
* The following only apply with the default 'sidebar_first' and 'sidebar_second' block regions:
|
||||||
|
* - two-sidebars: When both sidebars have content.
|
||||||
|
* - no-sidebars: When no sidebar content exists.
|
||||||
|
* - one-sidebar and sidebar-first or sidebar-second: A combination of the
|
||||||
|
* two classes when only one of the two sidebars have content.
|
||||||
|
* - $node: Full node object. Contains data that may not be safe. This is only
|
||||||
|
* available if the current page is on the node's primary url.
|
||||||
|
* - $menu_item: (array) A page's menu item. This is only available if the
|
||||||
|
* current page is in the menu.
|
||||||
|
*
|
||||||
|
* Site identity:
|
||||||
|
* - $front_page: The URL of the front page. Use this instead of $base_path,
|
||||||
|
* when linking to the front page. This includes the language domain or prefix.
|
||||||
|
* - $logo: The path to the logo image, as defined in theme configuration.
|
||||||
|
* - $site_name: The name of the site, empty when display has been disabled
|
||||||
|
* in theme settings.
|
||||||
|
* - $site_slogan: The slogan of the site, empty when display has been disabled
|
||||||
|
* in theme settings.
|
||||||
|
* - $mission: The text of the site mission, empty when display has been disabled
|
||||||
|
* in theme settings.
|
||||||
|
*
|
||||||
|
* Navigation:
|
||||||
|
* - $search_box: HTML to display the search box, empty if search has been disabled.
|
||||||
|
* - $primary_links (array): An array containing the Primary menu links for the
|
||||||
|
* site, if they have been configured.
|
||||||
|
* - $secondary_links (array): An array containing the Secondary menu links for
|
||||||
|
* the site, if they have been configured.
|
||||||
|
* - $breadcrumb: The breadcrumb trail for the current page.
|
||||||
|
*
|
||||||
|
* Page content (in order of occurrence in the default page.tpl.php):
|
||||||
|
* - $title: The page title, for use in the actual HTML content.
|
||||||
|
* - $messages: HTML for status and error messages. Should be displayed prominently.
|
||||||
|
* - $tabs: Tabs linking to any sub-pages beneath the current page (e.g., the
|
||||||
|
* view and edit tabs when displaying a node).
|
||||||
|
* - $help: Dynamic help text, mostly for admin pages.
|
||||||
|
* - $content: The main content of the current page.
|
||||||
|
* - $feed_icons: A string of all feed icons for the current page.
|
||||||
|
*
|
||||||
|
* Footer/closing data:
|
||||||
|
* - $footer_message: The footer message as defined in the admin settings.
|
||||||
|
* - $closure: Final closing markup from any modules that have altered the page.
|
||||||
|
* This variable should always be output last, after all other dynamic content.
|
||||||
|
*
|
||||||
|
* Helper variables:
|
||||||
|
* - $classes_array: Array of html class attribute values. It is flattened
|
||||||
|
* into a string within the variable $classes.
|
||||||
|
*
|
||||||
|
* Regions:
|
||||||
|
* - $content_top: Items to appear above the main content of the current page.
|
||||||
|
* - $content_bottom: Items to appear below the main content of the current page.
|
||||||
|
* - $navigation: Items for the navigation bar.
|
||||||
|
* - $sidebar_first: Items for the first sidebar.
|
||||||
|
* - $sidebar_second: Items for the second sidebar.
|
||||||
|
* - $header: Items for the header region.
|
||||||
|
* - $footer: Items for the footer region.
|
||||||
|
* - $page_closure: Items to appear below the footer.
|
||||||
|
*
|
||||||
|
* The following variables are deprecated and will be removed in Drupal 7:
|
||||||
|
* - $body_classes: This variable has been renamed $classes in Drupal 7.
|
||||||
|
*
|
||||||
|
* @see template_preprocess()
|
||||||
|
* @see template_preprocess_page()
|
||||||
|
* @see zen_preprocess()
|
||||||
|
* @see zen_process()
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title><?php print $head_title; ?></title>
|
||||||
|
<?php print $head; ?>
|
||||||
|
<?php print $styles; ?>
|
||||||
|
<?php print $scripts; ?>
|
||||||
|
</head>
|
||||||
|
<body class="<?php print $classes; ?>">
|
||||||
|
|
||||||
|
<?php if ($primary_links): ?>
|
||||||
|
<div id="skip-link"><a href="#main-menu"><?php print t('Jump to Navigation'); ?></a></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<div id="page-wrapper"><div id="page">
|
||||||
|
|
||||||
|
<div id="header"><div class="section clearfix">
|
||||||
|
|
||||||
|
<?php if ($logo): ?>
|
||||||
|
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /></a>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($site_name || $site_slogan): ?>
|
||||||
|
<div id="name-and-slogan">
|
||||||
|
<?php if ($site_name): ?>
|
||||||
|
<?php if ($title): ?>
|
||||||
|
<div id="site-name"><strong>
|
||||||
|
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
|
||||||
|
</strong></div>
|
||||||
|
<?php else: /* Use h1 when the content title is empty */ ?>
|
||||||
|
<h1 id="site-name">
|
||||||
|
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
|
||||||
|
</h1>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($site_slogan): ?>
|
||||||
|
<div id="site-slogan"><?php print $site_slogan; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div><!-- /#name-and-slogan -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($search_box): ?>
|
||||||
|
<div id="search-box"><?php print $search_box; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $header; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#header -->
|
||||||
|
|
||||||
|
<div id="main-wrapper"><div id="main" class="clearfix<?php if ($primary_links || $navigation) { print ' with-navigation'; } ?>">
|
||||||
|
|
||||||
|
<div id="content" class="column"><div class="section">
|
||||||
|
|
||||||
|
<?php if ($mission): ?>
|
||||||
|
<div id="mission"><?php print $mission; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $highlight; ?>
|
||||||
|
|
||||||
|
<?php print $breadcrumb; ?>
|
||||||
|
<?php if ($title): ?>
|
||||||
|
<h1 class="title"><?php print $title; ?></h1>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php print $messages; ?>
|
||||||
|
<?php if ($tabs): ?>
|
||||||
|
<div class="tabs"><?php print $tabs; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php print $help; ?>
|
||||||
|
|
||||||
|
<?php print $content_top; ?>
|
||||||
|
|
||||||
|
<div id="content-area">
|
||||||
|
<?php print $content; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php print $content_bottom; ?>
|
||||||
|
|
||||||
|
<?php if ($feed_icons): ?>
|
||||||
|
<div class="feed-icons"><?php print $feed_icons; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#content -->
|
||||||
|
|
||||||
|
<?php if ($primary_links || $navigation): ?>
|
||||||
|
<div id="navigation"><div class="section clearfix">
|
||||||
|
|
||||||
|
<?php print theme(array('links__system_main_menu', 'links'), $primary_links,
|
||||||
|
array(
|
||||||
|
'id' => 'main-menu',
|
||||||
|
'class' => 'links clearfix',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'text' => t('Main menu'),
|
||||||
|
'level' => 'h2',
|
||||||
|
'class' => 'element-invisible',
|
||||||
|
));
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php print $navigation; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#navigation -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $sidebar_first; ?>
|
||||||
|
|
||||||
|
<?php print $sidebar_second; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /#main, /#main-wrapper -->
|
||||||
|
|
||||||
|
<?php if ($footer || $footer_message || $secondary_links): ?>
|
||||||
|
<div id="footer"><div class="section">
|
||||||
|
|
||||||
|
<?php print theme(array('links__system_secondary_menu', 'links'), $secondary_links,
|
||||||
|
array(
|
||||||
|
'id' => 'secondary-menu',
|
||||||
|
'class' => 'links clearfix',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'text' => t('Secondary menu'),
|
||||||
|
'level' => 'h2',
|
||||||
|
'class' => 'element-invisible',
|
||||||
|
));
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php if ($footer_message): ?>
|
||||||
|
<div id="footer-message"><?php print $footer_message; ?></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php print $footer; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /.section, /#footer -->
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</div></div><!-- /#page, /#page-wrapper -->
|
||||||
|
|
||||||
|
<?php print $page_closure; ?>
|
||||||
|
|
||||||
|
<?php print $closure; ?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|