【问题标题】:Display dataobjects from different classes in one list - SilverStripe 3.4在一个列表中显示来自不同类的数据对象 - SilverStripe 3.4
【发布时间】:2016-11-01 18:30:33
【问题描述】:

我想创建一个具有不同类的数据对象的可循环列表。

类似的东西,但功能正常

DataObject::get()->filter('ClassName, ['MyClass', 'MyOtherClass']);

有没有办法在没有子类的情况下实现这一点?

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    csy_dot_io 你可以用两个对象列表创建一个ArrayList

    public function getCombinedList()
    {
    
        $list = ArrayList::create();
        $pushToList = function($object) use (&$list)
        {
            $list->push($object);
        };
    
        MyClass::get()->each($pushToList);
        MyOtherClass::get()->each($pushToList);
    
        return $list;
    
    }
    

    如果您希望在一个 GridField 中管理多个对象,则可以查看 gridfieldextensions,特别是 GridFieldAddNewMultiClass 组件。

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 2017-01-19
      相关资源
      最近更新 更多