Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 类型3:stdWrap.editIcons在内容中是否为非管理员用户?_Typo3 - Fatal编程技术网

Typo3 类型3:stdWrap.editIcons在内容中是否为非管理员用户?

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

我使用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_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