簡體   English   中英

如何為用於后端模塊的控制器獲取 flexform 值?

[英]How to get flexform value to controller that use for backend module?

我被困在一個地方。 我在typo3中開發了一個擴展。 我使用 flexform 作為管理員。 現在我嘗試在后端模塊的控制器中獲取那個 flexform 值,但我每次都得到“Null”。 當我可以獲取值時,我嘗試為前端模塊嘗試相同的值。

下面是我的 flexform 代碼:

<T3DataStructure>
    <meta>
        <langDisable>1</langDisable>
    </meta>
    <sheets>
        <sCategorybox>
            <ROOT>
                <TCEforms>
                    <sheetTitle>XY</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <settings.cat1>
                        <TCEforms>
                         <exclude>1</exclude>
                         <label>XYZ</label>
                         <config>
                          <type>select</type>
                            <renderType>selectMultipleSideBySide</renderType>
                            <size>5</size>

                            <foreign_table>tx_myext</foreign_table>
                            <foreign_table_where> AND tx_myext.hidden = 0 AND tx_myext.deleted = 0 ORDER BY name ASC</foreign_table_where>
                         </config>
                        </TCEforms>
                    </settings.cat1>
                </el>
            </ROOT>
        </sCategorybox>
    </sheets>

</T3DataStructure>

在控制器的操作中,我嘗試這樣$this->settings['cat1'];

Flexform 用於后端,當管理員向頁面添加擴展時,管理員可以選擇類別。

擴展也有后端模塊和后端模塊的單獨操作,我希望該操作中的選定類別值。

這看起來像是插件的 FlexForm。

前端中此插件上下文中的 Extbase 操作將填充 tt_content.pi_flexform 列中的設置(如果它們像您一樣,稱為settings. ... )。

在后端,您不在插件上下文中。 因此,您需要獲取列 pi_flexform 並自己讀出 XML 結構。

\\TYPO3\\CMS\\Core\\Service\\FlexFormService有一些函數可以幫助你解析 XML。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM