Можно ли добавить префикс для сгенерированных страниц моего расширения с помощью 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
Единственное решение — как я знаю — будет использовать 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;
}
}
Других решений пока нет …