【发布时间】:2019-12-25 15:54:20
【问题描述】:
我有一个自己编写的 TYPO3 扩展(我使用ext:extension_builder 创建它)
我的顶级 TypoScript 如下所示:
page = PAGE
page.10 = FLUIDTEMPLATE
page.10 {
format = html
file = EXT:cmsp/Resources/Private/Templates/User/Default.html
partialRootPaths {
10 = EXT:cmsp/Resources/Private/Partials/
}
layoutRootPaths {
10 = EXT:cmsp/Resources/Private/Layouts/
}
templateRootPaths
10 = EXT:cmsp/Resources/Private/Templates/
}
variables {
content_main < styles.content.get
content_main.select.where = colPos = 0
}
}
我使用了一个简单的 Fluid Styled Content 模板:
<f:link.action controller="user" action="search" class="btn btn-secondary">action link</f:link.action>
search 操作在ext_localconf.php 中注册:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SimpleParser.Cmsp',
'Cmspfe',
[
'User' => 'list,search'
],
// non-cacheable actions
[
'User' => 'list,search'
]
);
我还有一个模板Search.html:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Search" />
<f:section name="content">
<h1>Search Template</h1>
<f:flashMessages />
<table class="tx_cmsp" >
<tr>
<th> </th>
<th> </th>
</tr>
</table>
<form action="SearchConfim.php">
Searchterm: <input type="text" name="sTerm"><br>
<input type="submit" value="Submit">
</form>
</f:section>
</html>
问题是我无法在网站前端创建或跟踪从顶级Default.html(FLUIDTEMPLATE 对象)到Search.html(Extbase 控制器模板)的链接:
<f:link.action controller="user" action="search" class="btn btn-secondary">action link</f:link.action>
我一直都在Default.html,即使我点击了控制器的操作链接。我可以使用
<f:link.external ... ></f:link.external>
外部链接有效,但我无法使用链接访问Search.html。
也许问题是我使用的 TypoScript 没有激活控制器(以正确的方式)。但如果有人能帮助我,我很高兴。
【问题讨论】:
-
尝试使用
<f:link.action controller="User"(大写U代表User指的是UserController)。如果不行,请分享已经生成的链接... -
抱歉大写 U 不起作用。链接是 [link]localhost/my-new-project/public/… 即使是搜索的大写 S 也不起作用。 Typo3 9.5.13; PHP 7.2.24-0ubuntu0.18.04.1
-
谢谢,
tx__揭示了正在发生的事情,并且您将<f:link.action置于任何 Extbase 范围之外...在下面找到可能的答案
标签: typo3 fluid extbase fluid-styled-content