BUGFIX: Consistently style custom defined page icons.

* Renamed generateTreeStylingCSS() to generatePageIconsCSS().
* Removed legacy icon definitions.
This commit is contained in:
Andrew Short 2012-06-13 17:46:43 +10:00
parent 3e00370f9c
commit a6cee248e0
4 changed files with 9 additions and 19 deletions

View File

@ -57,7 +57,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
parent::init(); parent::init();
Requirements::css(CMS_DIR . '/css/screen.css'); Requirements::css(CMS_DIR . '/css/screen.css');
Requirements::customCSS($this->generateTreeStylingCSS()); Requirements::customCSS($this->generatePageIconsCss());
Requirements::combine_files( Requirements::combine_files(
'cmsmain.js', 'cmsmain.js',
@ -405,7 +405,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
* *
* @return String CSS * @return String CSS
*/ */
function generateTreeStylingCSS() { public function generatePageIconsCss() {
$css = ''; $css = '';
$classes = ClassInfo::subclassesFor('SiteTree'); $classes = ClassInfo::subclassesFor('SiteTree');
@ -427,20 +427,14 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
$baseFilename = $iconPathInfo['dirname'] . '/' . $iconPathInfo['filename']; $baseFilename = $iconPathInfo['dirname'] . '/' . $iconPathInfo['filename'];
$fileExtension = $iconPathInfo['extension']; $fileExtension = $iconPathInfo['extension'];
$selector = ".page-icon.class-$class, li.class-$class > a .jstree-pageicon";
if(Director::fileExists($iconFile)) { if(Director::fileExists($iconFile)) {
$css .= sprintf( $css .= "$selector { background: transparent url('$iconFile') 0 0 no-repeat; }\n";
"li.class-%s > a .jstree-pageicon { background: transparent url('%s') 0 0 no-repeat; }\n",
$class, $iconFile
);
} else { } else {
// Support for more sophisticated rules, e.g. sprited icons // Support for more sophisticated rules, e.g. sprited icons
$css .= sprintf( $css .= "$selector { $iconFile }\n";
"li.class-%s > a .jstree-pageicon { %s }\n",
$class, $iconFile
);
} }
} }
return $css; return $css;

View File

@ -20,7 +20,7 @@ class CMSPageAddController extends CMSPageEditController {
$pageTypes = array(); $pageTypes = array();
foreach($this->PageTypes() as $type) { foreach($this->PageTypes() as $type) {
$html = sprintf('<span class="icon class-%s"></span><strong class="title">%s</strong><span class="description">%s</span>', $html = sprintf('<span class="page-icon class-%s"></span><strong class="title">%s</strong><span class="description">%s</span>',
$type->getField('ClassName'), $type->getField('ClassName'),
$type->getField('AddAction'), $type->getField('AddAction'),
$type->getField('Description') $type->getField('Description')

View File

@ -6,9 +6,7 @@
* @subpackage content * @subpackage content
*/ */
class RedirectorPage extends Page { class RedirectorPage extends Page {
static $icon = "cms/images/treeicons/page-shortcut-file.gif";
static $description = 'Redirects to a different internal page'; static $description = 'Redirects to a different internal page';
static $db = array( static $db = array(

View File

@ -6,9 +6,7 @@
* @package cms * @package cms
*/ */
class VirtualPage extends Page { class VirtualPage extends Page {
static $icon = "cms/images/treeicons/page-shortcut-gold-file.gif";
static $description = 'Displays the content of another page'; static $description = 'Displays the content of another page';
public static $virtualFields; public static $virtualFields;