TYPO3:CONTENT中的stdWrap.editIcons是否为非管理员BE_USER?

时间:2015-07-17 07:27:47

标签: typo3

我使用扩展构建器(我是一个FE积分器)进行了一个快速的typo3 6.2扩展,并且我使用Typoscript在FE中显示表的内容,如下所示:

10 =  CONTENT
10 {
    table = tx_ensgue_domain_model_ue
    select {
    pidInList = 41
    selectFields = tx_ensgue_domain_model_ue.uid,tx_ensgue_domain_model_ue.syl_code,tx_ensgue_domain_model_ue.syl_titre
    join = tx_ensgue_ue_sylperiode_mm ON (tx_ensgue_ue_sylperiode_mm.uid_local = tx_ensgue_domain_model_ue.uid)
    where = (tx_ensgue_domain_model_ue.syl_titre LIKE '%%' AND tx_ensgue_domain_model_ue.deleted=0)
    andWhere = tx_ensgue_ue_sylperiode_mm.uid_foreign=1
    orderBy = tx_ensgue_domain_model_ue.syl_code
    }

    renderObj = COA
    renderObj {

    20 = TEXT
    20 {
            field = syl_code
            noTrimWrap=|[|] |
    }
    30 = TEXT
    30 {
            field = syl_titre
    stdWrap.editIcons = tx_ensgue_domain_model_ue:syl_code,syl_titre,syl_periode,syl_responsables
    stdWrap.editIcons.beforeLastTag = 1
    stdWrap.editIcons.iconTitle = Modifier l'UE
    required = 1
}
    wrap = <li > |</li >
    }

    stdWrap {
        wrap = <h2>Semestre 5</h2><ul class="syl_fe">|</ul>
        required = 1
    }
}

我尝试使用feedit(来自核心),但editIcons仅适用于Admin BE用户。非管理员可以编辑页面中的tt_content,但如果我在CONTENT对象中显示tt_content列表,它将无法工作。 它可能在typo3 / sysext / core / Classes / FrontendEditing / FrontendEditingController.php(第459行?)中进行了硬编码,但这是我所不知道的。 如何使用stdWrap.editIcons允许非管理员用户编辑我的表?

1 个答案:

答案 0 :(得分:0)

我一直在core/Classes/FrontendEditing/FrontendEditingController.php搜索。 在函数allowedToEdit()中,它在$mayEdit = TRUE;$editAccessInternals = TRUE;$checkEditAccessInternals = FALSE;

时有效

我的问题出在core/Classes/Authentication/BackendUserAuthentication.php(检查语言部分)。 它正在检查$GLOBALS['TCA'][$table]['ctrl']['languageField']

所以我换了

$TCA['tx_ensgue_domain_model_ue']['ctrl']['languageField'] = 'sys_language_uid';

$TCA['tx_ensgue_domain_model_ue']['ctrl']['languageField'] = 0; 

在我的扩展程序中,它现在正在运行。

我真的不明白这个变化,因为我的演示用户拥有语言的所有权利,而我的SETUP TS中有config.sys_language_uid = 0 ......