У меня есть самописное расширение 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
}
}
Я использовал простой шаблон содержимого с плавным стилем:
<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
). Если не работает, поделитесь сгенерированной ссылкой ... - person Oliver Hader   schedule 26.12.2019tx__
показал, что происходит, и что вы размещаете<f:link.action
за пределами любой области действия Extbase ... найдите возможный ответ ниже - person Oliver Hader   schedule 26.12.2019