我是typo3的新手,我需要有关新闻扩展和$ TCA配置的帮助.
我做了一个名为"Activité"的扩展,它来自新闻.这很顺利.我创建了一些自定义字段,并且我可以从"常规"选项卡中已有的选择字段中使我的扩展名"可选".
我想要做的就是隐藏已存在的默认可选字段(在这种情况下,我想隐藏"内部页面"和"外部页面").
看起来很简单,但我想以正确的方式做到这一点.
为了显示新闻我已经为我的主题的PageTSconfig中配置的后端编辑器选择了不同的模板布局:
tx_news.templateLayouts {
10 = LLL:EXT:mytheme/Resources/Private/Language/locallang.xlf:news.layout.withoutDate
20 = LLL:EXT:mytheme/Resources/Private/Language/locallang.xlf:news.layout.highlightListView
30 = LLL:EXT:mytheme/Resources/Private/Language/locallang.xlf:news.layout.imageTeaserListView
}
Run Code Online (Sandbox Code Playgroud)
在我的流体模板中,我可以切换条件
<f:switch expression="{settings.templateLayout}">
<f:case value="10">
... use layout 1
</f:case>
<f:case value="20">
... use layout 2
</f:case>
<f:case value="30">
... use layout 3
</f:case>
</f:switch>
Run Code Online (Sandbox Code Playgroud)
一切都很好,直到这里.
现在我想只为其中一个模板布局嵌入javascript.所以我试图将js包含在typoscript中的条件中,询问此templateLayout设置中的值.像这样的东西:
[globalVar = GP:tx_news_pi1|settings|templateLayout=30]
page{
includeJSFooter {
test = EXT:mytheme/Resources/Public/JavaScript/news-test.js
}
}
[global]
Run Code Online (Sandbox Code Playgroud)
但这种情况不起作用.所以我的问题:出了什么问题?我如何管理这个工作,为条件获得正确的价值?我希望任何人都可以提前帮助.
我非常喜欢Typo3 9.5.0创建说话URL的轻松.
我唯一的问题是使其适用于新闻等扩展.找不到让它工作的方法,也不知道从哪里开始.感谢您的帮助.
最好的问候丹
TYPO3 9.5.0新闻7.0.7
ext:news 列表视图插件位于 www.domain.com/news [ID 9] 页面上,详细视图位于 www.domain.com/article [ID 39] 上。
我尝试了功能描述的“Extbase插件增强器”示例,但这引起了一些问题:
造成某些问题的原因之一可能是分页器未在其链接中指定控制器:news?tx_news_pi1[@widget_0][currentPage]=2&cHash=123456789
我将其拆分为两个单独的路由增强器(Extbase + 插件),删除了“defaultController”、“defaults”、“requirements”段并添加了“aspects”:
routeEnhancers:
NewsDetail:
type: Extbase
limitToPages: [39]
extension: News
plugin: Pi1
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
NewsList:
type: Plugin
limitToPages: [9]
routePath: '/{@widget_0/currentPage}'
namespace: 'tx_news_pi1'
aspects:
'@widget_0/currentPage':
type: …Run Code Online (Sandbox Code Playgroud) 升级到 TYPO3 v9.5.14 后,我们的新闻详情页面崩溃了
Symfony\Component\Routing\Exception\InvalidParameterException
路由“tx_news_pi1_1”的参数“p88bd715a41119d0e8087a5d19cb049”必须匹配“[^/]++”(“”给定)以生成相应的URL。
这是怎么回事?
该站点使用此配置:
NewsTagPlugin:
type: Extbase
limitToPages: [14]
extension: News
plugin: Pi1
routes:
- routePath: '/{tag-name}'
_controller: 'News::list'
_arguments:
tag-name: 'overwriteDemand/tags'
- routePath: '/{tag-name}/page/{page}'
_controller: 'News::list'
_arguments:
tag-name: 'overwriteDemand/tags'
page: '@widget_0/currentPage'
requirements:
page: '\d+'
defaultController: 'News::list'
defaults:
page: ''
aspects:
page:
type: IntegerMapper
start: 1
end: 5000
tag-name:
type: PersistedAliasMapper
tableName: tx_news_domain_model_tag
routeFieldName: slug
Run Code Online (Sandbox Code Playgroud) 我逐字使用了Changelog 中的示例:
我唯一改变的是limitToPages。
routeEnhancers:
NewsPlugin:
type: Extbase
limitToPages: [82]
extension: News
plugin: Pi1
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
defaultController: 'News::detail'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
routeValuePrefix: '/'
Run Code Online (Sandbox Code Playgroud)
这会在 9.5.4 中引发异常:
Symfony\Component\Routing\Exception\InvalidParameterException
Parameter "tx_news_pi1__news" for route "tx_news_pi1_0" must match "[^/]++" ("" given) to generate a corresponding URL.
in /var/www/example/htdocs/typo3_src-9.5.4/vendor/symfony/routing/Generator/UrlGenerator.php line 155
at Symfony\Component\Routing\Generator\UrlGenerator->doGenerate(array('tx_news_pi1__news' => 0), array('_controller' => 'News::detail'), array(), array(array('variable', '/', '[^/]++', 'tx_news_pi1__news', true), array('text', '/aktuelles/artikel')), array('tx_news_pi1__news' => ''), 'tx_news_pi1_0', …Run Code Online (Sandbox Code Playgroud) 我正在使用 TYPO3 10.4.9、gridelements 10.0.0、news 8.5.0 和 bootstrap_grids。
我嵌套了像section > cols > content 元素这样的元素。
当我使用新闻插件执行此操作时,输出始终是列表视图,并且插件会忽略所有其他设置,例如起点或 itemsPerPage,您可以命名它。昨天让我很头疼,因为我无法弄清楚。但是当我将插件移到嵌套网格之外时,该插件就像一个魅力一样。我在这里想念什么?还有其他人使用类似的设置吗?
我更新到最新的tx_news版本9.0。<n:widget.paginate>由于从 TYPO3 11 开始不再支持ViewHelper ,我已按照建议更改了分页模板。
不幸的是,最大链接的设置不再起作用:settings.list.paginate.maximumNumberOfLinks = XYZ有解决方法吗?
谢谢并致以最诚挚的问候
迈克尔
我使用tx_news扩展,我需要一个绝对网址到一个新闻.在<n:link [...] />构建一个正确的链接到一个单一的消息,但它不是一个绝对链接.
这不起作用:
<n:link newsItem="{newsItem}" settings="{settings}" uriOnly="1" absloute="1" />
Run Code Online (Sandbox Code Playgroud)
而且<f:uri.page absolute="1" />我无法链接到一个newsitem.
但我没有找到任何其他方法来建立我与单个新闻的绝对链接.也许有人为这个问题解决了一些问题?
我需要这个RSS-Page来链接到newsitems.
我需要在我的站点中配置一个新闻类别菜单。我在一个列中列出所有新闻,同一页面中的另一列显示类别菜单。新闻列表和类别菜单是使用插件而不是 TypoScript 配置的。同一页面包含另一个用于其他目的的新闻列表。问题是新闻没有按类别过滤。
tx-news ×10
typo3 ×9
typo3-9.x ×4
extbase ×2
typoscript ×2
hide ×1
javascript ×1
typo3-10.x ×1
url ×1