Typo3 8.7.x / Extbase / Realurl: добавить префикс для созданной HTML-страницы

Можно ли добавить префикс для сгенерированных страниц моего расширения с помощью realurl? Я использую следующую конфигурацию:

...
'postVarSets' => [
'_DEFAULT' => [


'gallery' => [
[
'GETvar' => 'tx_myext_p1gallery[action]',
'noMatch' => 'bypass',
],
[
'GETvar' => 'tx_myext_p1gallery[controller]',
'noMatch' => 'bypass',
],
[
'GETvar' => 'tx_myext_p1gallery[backId]',
'noMatch' => 'bypass',
],
[
'GETvar' => 'tx_myext_p1gallery',
'lookUpTable' => [
'table' => 'tx_myext_domain_model_gallery',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => 'AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => [
'strtolower' => 1,
'spaceCharacter' => '-',
],
],
],
[
'GETvar' => 'tx_myext_p1gallery[page]',
],
],

Теперь у меня есть URL-адрес, как это:
https: //www.mydomain/galerie/2016-foobar/1.html
Но я хочу этого https: //www.mydomain/galerie/2016-foobar/page1.html

0

Решение

Единственное решение — как я знаю — будет использовать UserFunc которые добавляют это поведение.

        [
'GETvar' => 'tx_myext_p1gallery[page]',
'userFunc' => SomeClass::class . '->somefunction'
],

Ваша функция должна затем добавить префикс страницы при кодировании или удалить префикс при декодировании.

public function somefunction($parameters = [])
{
$value = $parameters['value'];

if ($parameters['decodeAlias']) {
return preg_replace('#^page([0-9]*)$#i', '$1', $value);
} else {
return 'page' . $value;
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector