【问题标题】:Extension, get value of TCA select扩展,获取 TCA 选择的值
【发布时间】:2016-05-09 15:17:47
【问题描述】:

我使用 extension_builder 创建了一个新扩展并添加了一个选择字段:

'selectlist' => array(
    'exclude' => 1,
    'label' => 'LLL:EXT:my_test/Resources/Private/Language/locallang_db.xlf:tx_mytest_domain_model_test.selectlist',
    'config' => array(
        'type' => 'select',
        'renderType' => 'selectSingle',
        'items' => array(
            array('LLL:EXT:my_test/Resources/Private/Language/locallang.xlf:tx_mytest_domain_model_test.selectlist.item1', 0),
            array('LLL:EXT:my_test/Resources/Private/Language/locallang.xlf:tx_mytest_domain_model_test.selectlist.item2', 1),
        ),
        'size' => 1,
        'maxitems' => 1,
        'eval' => ''
    ),
),

在模板中,我通过以下方式访问该字段:

<td><f:link.action action="show" arguments="{test : test}"> {test.selectlist}</f:link.action></td>

问题是test.selectlist 只是选择项的键。但我需要的是值(在我的例子中是来自 locallang.xlf 的翻译值)。

我没有找到任何关于如何访问模板中的值的文档。

有可能吗?我该怎么做?

【问题讨论】:

标签: typo3 fluid typo3-7.6.x


【解决方案1】:

在我的情况下,我可以使用解决方法。

array('LLL:EXT:my_test/Resources/Private/Language/locallang.xlf:tx_mytest_domain_model_test.selectlist.item1', 1),
array('LLL:EXT:my_test/Resources/Private/Language/locallang.xlf:tx_mytest_domain_model_test.selectlist.item2', 2),

<f:translate key="tx_joyatest_domain_model_test.selectlist.item{test.selectlist}" />

这可行,因为翻译键可以通过 select-item-key 来识别。

【讨论】:

  • 实际上这不是解决方法,而是解决方案。 :)
  • @AndrásOttó 我们可以争论这是否真的是一个解决方案。一个解决方案是如果我可以直接访问 item-value ;)
【解决方案2】:

试试 biesior 的answer for "TYPO3 TCA type select in FLUID?"。该技术可能对您有所帮助,或给您一个想法。

【讨论】:

  • 谢谢,biesiors 的解决方案与我找到的解决方法非常相似。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多