mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR Renamed #sitetree_ul to .cms-tree in templates, removed #sitetree from contained <ul> (unnecessary duplication)
This commit is contained in:
parent
ce05ce78e5
commit
f4cb6ae40f
@ -535,7 +535,7 @@ class LeftAndMain extends Controller {
|
|||||||
$treeTitle = '...';
|
$treeTitle = '...';
|
||||||
}
|
}
|
||||||
|
|
||||||
$html = "<ul id=\"sitetree\" class=\"tree unformatted\"><li id=\"record-0\" data-id=\"0\"class=\"Root nodelete\"><a href=\"$rootLink\"><strong>$treeTitle</strong></a>"
|
$html = "<ul><li id=\"record-0\" data-id=\"0\"class=\"Root nodelete\"><a href=\"$rootLink\"><strong>$treeTitle</strong></a>"
|
||||||
. $html . "</li></ul>";
|
. $html . "</li></ul>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
Observable.applyTo(this[0]);
|
Observable.applyTo(this[0]);
|
||||||
|
|
||||||
var tree = $('#sitetree');
|
var tree = $('.cms-tree');
|
||||||
this.setTree(tree);
|
this.setTree(tree);
|
||||||
|
|
||||||
// Event bindings
|
// Event bindings
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* Constructor: onmatch
|
* Constructor: onmatch
|
||||||
*/
|
*/
|
||||||
onmatch: function() {
|
onmatch: function() {
|
||||||
var self = this, tree = $('#sitetree');
|
var self = this, tree = $('.cms-tree');
|
||||||
|
|
||||||
this.setTree(tree);
|
this.setTree(tree);
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
$.entwine('ss', function($){
|
$.entwine('ss', function($){
|
||||||
|
|
||||||
$('#sitetree').entwine({
|
$('.cms-tree').entwine({
|
||||||
onmatch: function() {
|
onmatch: function() {
|
||||||
this._super();
|
this._super();
|
||||||
|
|
||||||
@ -264,7 +264,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#sitetree.multiple').entwine({
|
$('.cms-tree.multiple').entwine({
|
||||||
onmatch: function() {
|
onmatch: function() {
|
||||||
this._super();
|
this._super();
|
||||||
|
|
||||||
@ -286,7 +286,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#sitetree li').entwine({
|
$('.cms-tree li').entwine({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function: setEnabled
|
* Function: setEnabled
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
if(memberTableField) memberTableField.refresh();
|
if(memberTableField) memberTableField.refresh();
|
||||||
|
|
||||||
// Refresh tree
|
// Refresh tree
|
||||||
var tree = $(window.parent.document).find('#sitetree').get(0);
|
var tree = $(window.parent.document).find('.cms-tree').get(0);
|
||||||
if(tree) tree.reload();
|
if(tree) tree.reload();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="sitetree" data-url-tree="$Link(getsubtree)" data-url-savetreenode="$Link(savetreenode)" class="jstree jstree-apple">
|
<div data-url-tree="$Link(getsubtree)" data-url-savetreenode="$Link(savetreenode)" class="cms-tree jstree jstree-apple">
|
||||||
$SiteTreeAsUL
|
$SiteTreeAsUL
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
# Extending the CMS
|
|
||||||
|
|
||||||
CMSMain is part of the CMS. It is the controller for the content editor.
|
|
||||||
|
|
||||||
## Creating another hierarchical editor by subclassing CMSMain
|
|
||||||
|
|
||||||
Sometimes you'll want to provide an administration interface that is pretty much exactly what CMSMain provides, but it's
|
|
||||||
not appropriate to include your data in with the site content.
|
|
||||||
|
|
||||||
Here's how you can do this:
|
|
||||||
|
|
||||||
## Using classes other than SiteTree in the site tree
|
|
||||||
|
|
||||||
It is possible to use to different classes in two separate site trees. For example, there is the usual site
|
|
||||||
content tree and a category tree. To change that find:
|
|
||||||
|
|
||||||
:::php
|
|
||||||
static $tree_class = 'SiteTree';
|
|
||||||
|
|
||||||
And change the string to the name of the class that will be the base class for classes visible in the site tree.
|
|
||||||
|
|
||||||
|
|
||||||
## Overloading page urls
|
|
||||||
|
|
||||||
If using a url other than admin/ for your section then you will need to change the SiteTreeHandlers to use the correct
|
|
||||||
controller.
|
|
||||||
|
|
||||||
Create the init method:
|
|
||||||
|
|
||||||
:::php
|
|
||||||
function init() {
|
|
||||||
parent::init();
|
|
||||||
Requirements::javascript('project-name/javascript/Classname_left.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
Where project-name and Classname are changed as appropriate.
|
|
||||||
|
|
||||||
Create the javascript file and add the handlers:
|
|
||||||
|
|
||||||
:::php
|
|
||||||
if(typeof SiteTreeHandlers == 'undefined') SiteTreeHandlers = {};
|
|
||||||
SiteTreeHandlers.parentChanged_url = 'url/ajaxupdateparent';
|
|
||||||
SiteTreeHandlers.orderChanged_url = 'url/ajaxupdatesort';
|
|
||||||
SiteTreeHandlers.showRecord_url = 'url/show/';
|
|
||||||
SiteTreeHandlers.loadPage_url = 'url/show/';
|
|
||||||
SiteTreeHandlers.loadTree_url = 'url/getsubtree';
|
|
||||||
|
|
||||||
where url is the relative link to the page (eg 'admin/categories'). You can change the handler functions as necessary.
|
|
||||||
|
|
||||||
## Overloading EditForm
|
|
||||||
|
|
||||||
You may need to overload EditForm if your class does not use the `[api:Versioned]` extension.
|
|
||||||
|
|
||||||
## Overloading SiteTreeAsUL
|
|
||||||
|
|
||||||
The tree hints can sometimes cause problems when reorganising the tree, and the CMSMain::SiteTreeAsUL function uses
|
|
||||||
`[api:SiteTree]` explicitly. Use:
|
|
||||||
|
|
||||||
:::php
|
|
||||||
public function SiteTreeAsUL() {
|
|
||||||
// $this->generateDataTreeHints();
|
|
||||||
$this->generateTreeStylingJS();
|
|
||||||
|
|
||||||
return $this->getSiteTreeFor( $this->stat('tree_class') );
|
|
||||||
}
|
|
@ -602,7 +602,7 @@ The CMS has a number of Observer-pattern hooks you can access: (The elements whi
|
|||||||
* BeforeSave -- after user clicks 'Save', before AJAX save-request (#Form_EditForm)
|
* BeforeSave -- after user clicks 'Save', before AJAX save-request (#Form_EditForm)
|
||||||
* PageLoaded -- after new SiteTree page is loaded. (#Form_EditForm)
|
* PageLoaded -- after new SiteTree page is loaded. (#Form_EditForm)
|
||||||
* PageSaved -- after AJAX save-request is successful (#Form_EditForm)
|
* PageSaved -- after AJAX save-request is successful (#Form_EditForm)
|
||||||
* SelectionChanged -- when new item is chosen from SiteTree (#sitetree)
|
* SelectionChanged -- when new item is chosen from SiteTree (.cms-tree)
|
||||||
|
|
||||||
Here's an example of hooking the 'PageLoaded' and 'BeforeSave' methods:
|
Here's an example of hooking the 'PageLoaded' and 'BeforeSave' methods:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user