【发布时间】:2021-12-01 09:39:18
【问题描述】:
我正在努力让 TYPO3 插件的以下路线工作:
-
example.com/page/-> 不工作! -
example.com/page/a-z/a/-> 工作 -
example.com/page/a-z/a/more/2/-> 工作 -
example.com/page/page-2/-> 不工作!
URI 如下所示:
example.com/page?tx_myextension_list[controller]=MyController&tx_myextension_list[currentPage]=2&tx_myextension_list[selectedLetter]=&cHash=6258466362eee8ea43be8634002c883f
我的错误:
Symfony\Component\Routing\Exception\InvalidParameterException:路由“tx_myextension_list_1”的参数“uf29714be1a983f4b1a864d48e1b6ae”必须匹配“[a-zA-Z]{1}”(“”给定)以生成相应的 URL。
如果我删除空参数tx_myextension_list[selectedLetter] URL 1 正在工作,但 URL 3 看起来像这个 URL 4 并且行为像这样。
这是我的配置:
routeEnhancers:
MyPluginList:
type: Extbase
extension: MyExtension
plugin: list
routes:
-
routePath: '/a-z/{letter}'
_controller: 'MyController::list'
_arguments:
letter: 'selectedLetter'
-
routePath: '/a-z/{letter}/more/{page}'
_controller: 'MyController::list'
_arguments:
letter: 'selectedLetter'
page: 'currentPage'
-
routePath: 'page-{page}'
_controller: 'MyController::list'
_arguments:
page: 'currentPage'
defaultController: 'MyController::list'
requirements:
letter: '^[a-zA-Z]{1}'
page: '\d+'
defaults:
letter: ''
page: '0'
aspects:
page:
type: StaticRangeMapper
start: '1'
end: '100'
letter:
type: StaticValueMapper
map:
a: A
b: B
c: C
d: D
e: E
f: F
g: G
h: H
i: I
j: J
k: K
l: L
m: M
n: N
o: O
p: P
q: Q
r: R
s: S
t: T
u: U
v: V
w: W
x: X
y: Y
z: Z
【问题讨论】:
标签: routes typo3 typo3-10.x