代码之家  ›  专栏  ›  技术社区  ›  josias

typo3:从另一个扩展重写TCA后端类公共变量

  •  2
  • josias  · 技术社区  · 6 年前

    我正在用tx_新闻扩展名进行typo3。因此,我想禁用页面上未使用的某些设置,例如类别:

    我已经在像这样的记录的页面中禁用了它们:

    TCEFORM {
        tx_news_domain_model_news {
            categories.disabled = 1
        }
    }
    

    已将它们从管理筛选器和列中删除:

    tx_news {
        module {
            columns = istopnews,datetime,author
            filters {
                categories = 0
                categoryConjunction = 0
                includeSubCategories = 0
            }
        }
    }
    

    现在我还想在将插件添加到页面时在插件设置中禁用它们。在backendutility.php中,我发现了以下几行可以帮助我完成这项工作(注意,我添加了categoryconjunction等类别):

    public $removedFieldsInListView = [
       'sDEF' => 'dateField,singleNews,previewHiddenRecords,selectedList,categories,categoryConjunction,includeSubCategories',
       'additional' => '',
       'template' => ''
    ];
    

    当然,像这样,我已经禁用了类别,但是通过直接编辑扩展而不是从我自己的扩展中覆盖它,这意味着当我更新tx-news时,我将丢失该配置。

    什么$globals[TCA]。为了得到同样的结果,我必须添加一些东西吗?在后端调试中找不到任何内容…

    我正在搜索类似的东西(或者可能的话,一些典型的东西):

    $GLOBALS['TCA']['tx_news_domain_model_news']['plugin']['backendUtility'][removeFieldsInListView]= 'bla, blabla, bla';
    

    我感谢你的帮助!

    1 回复  |  直到 6 年前
        1
  •  3
  •   Georg Ringer    6 年前

    TCEFORM {
        tt_content {
            pi_flexform {
                news_pi1 {
                    sDEF {
                        # Important is the escaping of the dot which is part of the fieldname
                        settings\.orderBy.disabled = 1
                    }
                }
            }
        }
    }