【问题标题】:TYPO3 - not showing up my contents after creating custom content elementTYPO3 - 创建自定义内容元素后不显示我的内容
【发布时间】:2021-12-26 13:53:55
【问题描述】:

我在我的 TYPO3 版本上创建了一个自定义内容元素。 10.4.21 和 我可以显示一个 HTML 文件(在 /Resources/Private/Templates/ContentElements/NewContentElement.html 中)一次,但是在更改了 tt_content.php 文件后,我无法再显示我的内容......(我想创建内容元素后,在编辑页面上配置一些字段。)

我的问题是在这种情况下:

  • Symfony 表达语言有什么作用吗?
  • 缓存?

我的模板路径如下:

lib.contentElement {
  templateRootPaths {
    100 = EXT:mein_projektarbeit/Resources/Private/Templates/
  }
  partialRootPaths {
    100 = EXT:mein_projektarbeit/Resources/Private/Partials/
  }
  layoutRootPaths {
    100 = EXT:mein_projektarbeit/Resources/Private/Layouts/
  }
}

在模板中我可以看到这条路径:

[100] = EXT:mein_projektarbeit/Resources/Private/Templates/ # register a content elements # # Path to Templates, Partials, Layouts

我可以从我的 NewContentElement.html 中显示我的内容,所以我认为模板路径是正确的。

试过了:

我激活和停用了我的扩展程序,然后我清除了现金。此外,扩展名再次包含在根目录中(模板>包含>我的扩展名在左侧)。 但我再也看不到我的内容了,即使我的 html 文件 (NewContentElements.html) 位于 mein_projektarbeit/Resources/Private/Templates/ 中。


这个问题有什么办法吗?

备忘录: 这是我的文件夹结构:

myextension
     ├── Classes
     |   ├── Controller
     |   ├── Domain
     |   |   ├── Model
     |   |   └── Repository
     |   └── ViewHelpers
     ├── Configuration
     |   ├── TsConfig
     |   ├── TCA            
     |   └── TypoScript
     ├── Documentation
     ├── Resources
         ├── Private
         |   ├── Language
         |   ├── Layouts
         |   ├── Partials
         |   └── Templates
         |         └─ ContentElements
         |               └─ NewContentElement.html 
         └── Public
             ├── Css
             |     └─ layout.min.css  
             ├── Js
             └── Icons

我尝试用另一个域创建一个新的自定义内容元素,我可以做到。是否可以一次性在域中制作自定义内容元素?我不敢相信,但它不再适用于我的同一个域。但是我想避免为此再创建一个域....如果可以的话,请帮助我。

备忘录:调试时的 SQL 代码,如果我显示我的主页。 uid=22 是对的。

SELECT * FROM `pages` WHERE (`uid` = 2) AND (((`pages`.`deleted` = 0) AND (`pages`.`t3ver_state` <= 0) AND (`pages`.`t3ver_wsid` = 0) AND (`pages`.`t3ver_oid` = 0) AND (`pages`.`hidden` = 0) AND (`pages`.`starttime` <= 1637053080) AND ((`pages`.`endtime` = 0) OR (`pages`.`endtime` > 1637053080))) AND (`pages`.`doktype` <> 255)) AND (((`pages`.`fe_group` = '') OR (`pages`.`fe_group` IS NULL) OR (`pages`.`fe_group` = '0') OR (FIND_IN_SET('0', `pages`.`fe_group`)) OR (FIND_IN_SET('-1', `pages`.`fe_group`))))

另外,如果我检查我的数据库, tstamp: 1636985310 crdate: 1636705565 sys_lastchanged: 1636985310 我将 sys_lanstchanged 从 1636985310 更改为 0,但它并没有改变任何东西。

在数据库中的 sys_template 中: include_static_file: EXT:fluid_styled_content/Configuration/TypoScript/,EXT:fluid_styled_content/Configuration/TypoScript/Styling/,EXT:mein_projektarbeit/Configuration/TypoScript

也许,它不再与内容元素相关?因为我用常规文本元素制作的另一个内容元素没有显示出来。完整页面没有显示在我的网站上,也没有出现任何错误。

感谢您的帮助。

【问题讨论】:

  • 只是一般提示;所有的编程和编码语言都是英语,有些人认为当你在代码中混合语言时它缺乏质量。一致性是关键,混合语言并不一致。针对问题:您是否确保自定义模板文件夹中的文件夹结构与 &lt;Controller&gt;/&lt;Action&gt;.html 命名匹配?
  • @pdu 我在上面写下了我的文件夹结构。我的 html 文件位于 mein_projektarbeit/Resources/Private/Templates/ 中。我可以显示我的内容一次,但在更改 tt_content.php 中的代码以配置编辑页面后,它不会显示我的内容。即使是普通的文字也是如此! (不使用我的自定义内容元素)

标签: html templates typo3


【解决方案1】:

您的配置状态:

lib.contentElement {
  templateRootPaths {
    100 = EXT:mein_projektarbeit/Resources/Private/Templates/
  }

您的模板文件位于EXT:mein_projektarbeit/Resources/Private/Templates/ContentElements/

您确定使用完整的相对路径 (ContentElements/NewContentElement) 调用您的模板吗?

另一个错误原因:你的拼写是否正确?

【讨论】:

  • 是的,我确定。路径没有错误。 html 文件名为“NewContentElement.html”,位于 /mein_projektarbeit/Resources/Private/Templates/ContentElements/NewContentElement.html 中。我可以显示一次 html 文件。展示后,我更改了 tt_content.php 中的代码来配置我的编辑页面。之后我什么都不能显示......
【解决方案2】:

谢谢大家。

我现在发现了我的错误! \Resouces\Private\Layout\Page\Default.html 中的 Default.html 中没有代码。 如果我写了我的代码,NewContentElements.html 的内容也会显示出来!

对此我深感抱歉,谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 2013-08-30
    • 1970-01-01
    • 2020-01-27
    • 2017-07-24
    • 1970-01-01
    • 2019-12-12
    • 2021-01-22
    相关资源
    最近更新 更多