![](/img/trans.png)
[英]TYPO3 8.7.8 restrict available content-elements in backend-layout column
[英]Limit amount of content elements in a column in a backend layout of TYPO3
我必须在TYPO3中实现一个主页,以便它具有与子页面不同的外观和不同的backend_layout
。 在一列中,编辑者可以将框作为内容元素插入。 我希望可以插入最大限度的盒子(或精确数量),例如4盒。
有没有办法实现这个目标?
我发现的唯一限制是内容元素的类型而不是它们的数量。
您需要为此编写一个特殊的PHP函数。 TYPO3提供了一种称为“钩子”的系统原则。
钩子可以拦截流经系统的数据并修改TYPO3的行为。
在几个重要的地方有很多钩子,所以你应该能够解决这个问题。
在您特别喜欢的情况下,您将需要几个钩子来改变编辑器可以添加内容元素的几个位置。 您可以通过禁止编辑器查看它们来绕过其中一些地方(这可能会减少您需要使用的挂钩数量)。
另一件事是限制通过Typoscript在前端渲染的内容元素的数量。
看看select.limit。
请记住,这对于编辑者来说可能看起来很奇怪,这些编辑者无法分辨,为什么他们在BE中添加的内容元素以后不会出现在前端。
目前没有简单的方法来配置它。 PHP类\\ TYPO3 \\ CMS \\ Backend \\ View \\ PageLayoutView负责每页和每列呈现这些框(内容元素)(数据库字段名为“colPos”)。 目前唯一的方法是使用XCLASS /覆盖PageLayoutView类并对方法getTable_tt_content()的结果进行后处理。
一个更好的解决方案是引入这种限制行为或添加一个钩子,允许自定义处理一致数据(按钮显示,如'new'和'paste')。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.