繁体   English   中英

如何使用typo3-neos填充.yaml文件中来自自定义数据库的选择选项?

[英]How to fill select options from custom database in .yaml files using typo3-neos?

我目前正在为我的项目使用typo3-neos,但我遇到了这个问题。 我试图在.yaml文件中使我的自定义节点像这样

'TYPO3.Designs:SomeItem':
  superTypes:
    - 'TYPO3.Neos:Content'
  ui:
    group: 'structure'
    label: 'Some Item'
    icon: 'icon-columns'
    inlineEditable: true
    inspector:
      groups:
        document:
          label: 'Item options'
          position: 1
  properties:
    someitem:
    type: string
    defaultValue: 'item1'
    ui:
      label: 'Alignment'
      reloadIfChanged: TRUE
      inspector:
         group: 'document'
         editor: 'TYPO3.Neos/Inspector/Editors/SelectBoxEditor'
         editorOptions:
           values:
             item1:
               label: 'item1'
             item2:
               label: 'item2'
             right:
               label: 'item3'

在这部分

editorOptions:
 values:
  item1:
    label: 'item1'
  item2:
    label: 'item2'
  right:
    label: 'item3'

我想从数据库中获取数据,所以如果数据库中有10个项目,它将在编辑器中显示10个选项。

我怎样才能做到这一点? 任何帮助表示赞赏,谢谢

也许代码是这样的:

在模型中添加

<?php
namespace Acme\YourPackage\DataSource;

use TYPO3\Neos\Service\DataSource\AbstractDataSource;
use TYPO3\TYPO3CR\Domain\Model\NodeInterface;

class TestDataSource extends AbstractDataSource {

        /**
         * @var string
         */
        static protected $identifier = 'acme-yourpackage-test';

        /**
         * Get data
         *
         * @param NodeInterface $node The node that is currently edited (optional)
         * @param array $arguments Additional arguments (key / value)
         * @return array JSON serializable data
         */
        public function getData(NodeInterface $node = NULL, array $arguments) {
                return isset($arguments['integers']) ? array(1, 2, 3) : array('a', 'b', 'c');
        }

}

这是yaml设置:

questions:
  ui:
    inspector:
      editor: 'Content/Inspector/Editors/SelectBoxEditor'
      editorOptions:
        dataSourceIdentifier: 'questions'
        # alternatively using a custom uri:
        # dataSourceUri: 'custom-route/end-point'

从“ soee”获得了此引用http://docs.typo3.org/neos/TYPO3NeosDocumentation/IntegratorGuide/ContentStructure.html

暂无
暂无

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

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