我使用扩展构建器(我是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只对管理员BE用户可用。非管理员可以编辑页面中的tt_content,但如果我在CONTENT对象中显示tt_content列表,它将无法工作。它可能是用typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php硬编码的(第459行?)但这超出了我的知识范围。如何使用stdWrap.editIcons允许非管理员用户编辑我的表?
发布于 2015-07-20 18:53:05
我一直在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; 在我的扩展中,它现在可以工作了。
我并不是真的理解这个变化,因为我的演示用户对语言和我的设置TS中的config.sys_language_uid = 0拥有所有权限。
https://stackoverflow.com/questions/31470518
复制相似问题