繁体   English   中英

Silverstripe ModelAdmin拖放Sortable

[英]Silverstripe ModelAdmin drag and drop Sortable

我想使我的ModelAdmin GridField可以通过拖放进行排序。 我尝试添加以下代码:

$gridFieldName = 'Destributors';
    $gridField = $form->Fields()->fieldByName($gridFieldName);

    if ($gridField) {
        $gridField->getConfig()->addComponent(new GridFieldFilterHeader(),new GridFieldSortableRows('SortOrder'));
    }

但是似乎没有用。 关于如何实施的任何想法?

任何帮助将不胜感激

这是我在SS3项目中使用的代码。 您应该能够轻松将其更新为SS4。

<?php
class MealsModelAdmin extends ModelAdmin {

    private static $managed_models = array(
        'MealAttribute',
        'MenuCategory'
    );

    private static $url_segment = 'configuration';
    private static $menu_title = 'Configuration';

    public function getEditForm($id = null, $fields = null){
        $form = parent::getEditForm($id, $fields);
        $model = singleton($this->modelClass);

        /** add sorting if we have a field for... */
        if (class_exists('GridFieldOrderableRows')
            && $model->hasField('SortOrder')
            && $gridField=$form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass))) {
            if($gridField instanceof GridField) {
                $gridField->getConfig()->addComponent(new GridFieldOrderableRows('SortOrder'));
            }
        }

        return $form;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM