Typo3 Neos:如何使用'TYPO3.Neos:Plugin'从typoscript传递参数?

时间:2015-02-16 03:31:31

标签: typo3 typoscript typo3-flow neoscms

我想通过aloha编辑器动态传递一个参数,我在.yaml

上有这样的选择框
properties:
 events:
  type: string
  ui:
    label: 'Events'
    reloadIfChanged: TRUE
    inspector:
      group: 'document'
      editor: 'TYPO3.Neos/Inspector/Editors/SelectBoxEditor'
      editorOptions:
        dataSourceUri: 'events/list'

和.ts2文件我使用此

prototype(Festival.Backend:Events) < prototype(TYPO3.Neos:Plugin) {
    package = 'Festival.Backend'
    controller = 'Events'
    action = 'ast_view'
    artist = ${q(node).property('events')}
}
本教程中的

http://docs.typo3.org/neos/TYPO3NeosDocumentation/Appendixes/NeosTypoScriptReference.html# 它说我可以使用

将参数传递给控制器
argumentNamespace:
[key]:

我的问题是如何添加&#39;艺术家&#39;从node属性到控制器动作的值? 像这样的东西

public function ast_viewAction($artist) {
    $this->view->assign('artist', $artist); 
}

感谢您的关注

编辑:感谢Aske Ertmann,将我的功能更改为

 public function ast_viewAction() {
    $events_artist = $this->request->getInternalArgument('__artist');
    $this->view->assign('artist', $artist); 
}

1 个答案:

答案 0 :(得分:2)

来自TypoScript插件对象的参数可作为请求的内部参数使用,该参数在控制器操作中可用。

/** @var \TYPO3\TYPO3CR\Domain\Model\Node $currentNode */
$currentNode = $this->request->getInternalArgument('__node');

可以找到一些其他提示here