存储库/控制器:如何强制TYPO3加载"排序"字段?

lam*_*ade 3 typo3 extbase typo3-6.1.x

在控制器/模板中,我希望能够访问sorting实体的字段.

我试图访问它像:

$category->getSorting();
Run Code Online (Sandbox Code Playgroud)

但它失败了,因为该方法不存在.当我转储实体,所有这些元字段一样hidden,starttime等等都没有列出.

如何告诉TYPO3加载这些字段以及权利的其他字段?

Dan*_*iel 7

由于您处于Extbase上下文中,因此必须将该属性添加到模型中(如果使用其他扩展的模型),请对其进行扩展并添加属性.在这两种情况下,如果要访问和编辑属性值,则需要getter和setter方法:

/**
 * @var integer
 */
protected $sorting;

public function setSorting($sorting) {
    $this->sorting = $sorting;
}

public function getSorting() {
    return $this->sorting;
}
Run Code Online (Sandbox Code Playgroud)

确保您也在TCA中配置了该字段:

...
'columns' => array(
    'sorting' => array(
        'label' => 'sorting',
        'config' => array(
            'type' => 'passthrough'
        )
    ),
    ...
Run Code Online (Sandbox Code Playgroud)

在此之后,您应该能够访问排序属性.