diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php index 737b14cf..9ca97dd5 100644 --- a/code/controllers/CMSMain.php +++ b/code/controllers/CMSMain.php @@ -57,7 +57,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr parent::init(); Requirements::css(CMS_DIR . '/css/screen.css'); - Requirements::customCSS($this->generateTreeStylingCSS()); + Requirements::customCSS($this->generatePageIconsCss()); Requirements::combine_files( 'cmsmain.js', @@ -405,7 +405,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr * * @return String CSS */ - function generateTreeStylingCSS() { + public function generatePageIconsCss() { $css = ''; $classes = ClassInfo::subclassesFor('SiteTree'); @@ -427,20 +427,14 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr $baseFilename = $iconPathInfo['dirname'] . '/' . $iconPathInfo['filename']; $fileExtension = $iconPathInfo['extension']; + $selector = ".page-icon.class-$class, li.class-$class > a .jstree-pageicon"; + if(Director::fileExists($iconFile)) { - $css .= sprintf( - "li.class-%s > a .jstree-pageicon { background: transparent url('%s') 0 0 no-repeat; }\n", - $class, $iconFile - ); + $css .= "$selector { background: transparent url('$iconFile') 0 0 no-repeat; }\n"; } else { // Support for more sophisticated rules, e.g. sprited icons - $css .= sprintf( - "li.class-%s > a .jstree-pageicon { %s }\n", - $class, $iconFile - ); + $css .= "$selector { $iconFile }\n"; } - - } return $css; diff --git a/code/controllers/CMSPageAddController.php b/code/controllers/CMSPageAddController.php index ebe58020..5684ae29 100644 --- a/code/controllers/CMSPageAddController.php +++ b/code/controllers/CMSPageAddController.php @@ -20,7 +20,7 @@ class CMSPageAddController extends CMSPageEditController { $pageTypes = array(); foreach($this->PageTypes() as $type) { - $html = sprintf('%s%s', + $html = sprintf('%s%s', $type->getField('ClassName'), $type->getField('AddAction'), $type->getField('Description') diff --git a/code/model/RedirectorPage.php b/code/model/RedirectorPage.php index 102ba68f..964ccc4a 100644 --- a/code/model/RedirectorPage.php +++ b/code/model/RedirectorPage.php @@ -6,9 +6,7 @@ * @subpackage content */ class RedirectorPage extends Page { - - static $icon = "cms/images/treeicons/page-shortcut-file.gif"; - + static $description = 'Redirects to a different internal page'; static $db = array( diff --git a/code/model/VirtualPage.php b/code/model/VirtualPage.php index ff35d7d7..6c2f2cbd 100644 --- a/code/model/VirtualPage.php +++ b/code/model/VirtualPage.php @@ -6,9 +6,7 @@ * @package cms */ class VirtualPage extends Page { - - static $icon = "cms/images/treeicons/page-shortcut-gold-file.gif"; - + static $description = 'Displays the content of another page'; public static $virtualFields;