NEW Set correct ParentID when creating page from list view

This commit is contained in:
Ingo Schommer 2013-03-14 18:59:19 +01:00
parent 2dd0e3f02e
commit ec93643f49
2 changed files with 13 additions and 3 deletions

View File

@ -757,6 +757,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
'LastEdited' => _t('SiteTree.LASTUPDATED', 'Last Updated'),
);
$gridField->getConfig()->getComponentByType('GridFieldSortableHeader')->setFieldSorting(array('getTreeTitle' => 'Title'));
$gridField->getState()->ParentID = $parentID;
if(!$params) {
$fields = array_merge(array('listChildrenLink' => ''), $fields);

View File

@ -91,9 +91,18 @@
$(".cms-page-add-button").entwine({
onclick: function(e) {
var selected = $('.cms-tree').jstree('get_selected'),
parentId = selected ? $(selected[0]).data('id') : null,
data = {selector: this.data('targetPanel'),pjax: this.data('pjax')},
var tree = $('.cms-tree'), list = $('.cms-list'), parentId = 0;
// Choose parent ID either from tree or list view, depending which is visible
if(tree.is(':visible')) {
var selected = tree.jstree('get_selected');
parentId = selected ? $(selected[0]).data('id') : null;
} else {
var state = list.find('input[name="Page[GridState]"]').val();
if(state) parentId = parseInt(JSON.parse(state).ParentID, 10);
}
var data = {selector: this.data('targetPanel'),pjax: this.data('pjax')},
url = parentId ? ss.i18n.sprintf(this.data('urlAddpage'), parentId) : this.attr('href');
$('.cms-container').loadPanel(url, null, data);