Typo3 类型3:stdWrap.editIcons在内容中是否为非管理员用户?
我使用extension builder(我是FE集成商)进行了一个快速的typo3 6.2扩展,并使用打字脚本在FE中显示表格内容,如下所示:Typo3 类型3:stdWrap.editIcons在内容中是否为非管理员用户?,typo3,Typo3,我使用extension builder(我是FE集成商)进行了一个快速的typo3 6.2扩展,并使用打字脚本在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_e
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
}
}
10=内容
10 {
表=tx\u ensgue\u domain\u model\u ue
挑选{
pidInList=41
选择字段=tx\u ensgue\u domain\u model\u ue.uid、tx\u ensgue\u domain\u model\u ue.syl\u code、tx\u ensgue\u domain\u model\u.syl\u titre
join=tx\u ensgue\u ue\u sylpiode\u mm ON(tx\u ensgue\u ue\u sylpiode\u mm.uid\u local=tx\u ensgue\u domain\u model\u ue.uid)
其中=(tx_ensgue_domain_model_ue.syl_titre,如“%”和tx_ensgue domain_model_ue.deleted=0)
andWhere=tx\u ensgue\u ue\u sylpiode\u mm.uid\u foreign=1
orderBy=tx\u ensgue\u domain\u model\u ue.syl\u代码
}
renderObj=COA
伦德罗布{
20=文本
20 {
字段=syl_代码
noTrimWrap=|[|]|
}
30=文本
30 {
字段=syl_滴定度
stdWrap.editIcons=tx_ensgue_domain_model_ue:syl_code,syl_titre,syl_periode,syl_responsible
stdWrap.editIcons.beforeLastTag=1
stdWrap.editIcons.iconTitle=修饰符l'UE
必需=1
}
包裹=|
}
stdWrap{
wrap=Semestre 5
必需=1
}
}
我尝试使用feedit(从核心),但EditIcon仅适用于管理员BE用户。非管理员可以编辑页面中的tt_内容,但如果我在内容对象中显示tt_内容列表,它将不起作用。
它可能是用typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php(第459行?)硬编码的,但这超出了我的知识范围。
如何使用stdWrap.editIcons允许非管理员用户编辑我的表?我一直在
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';
到
在我的分机里,它正在工作
我真的不理解这个变化,因为我的演示用户拥有所有语言的权限,并且在我的设置TS中,config.sys\u language\u uid=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';
到
在我的分机里,它正在工作
我真的不理解这个变化,因为我的演示用户拥有所有语言的权限,并且在我的设置中,config.sys\u language\u uid=0