Обработка ошибки 404 с помощью extbase

С помощью extbase я разработал расширение. А затем я использую Realurl для перезаписи URL.

Проблема, например, в том, что я выполняю этот URL: www.mysite.com/records/record-number-one/ Все в порядке, поскольку «запись номер один» действительно существует.

Теперь, если я попробую

www.mysite.com/records/record-numbbbbbbber-one/

Я получил эту ошибку

Exception while property mapping at property path "":The identity
property "record-numbbbbbbber-one" is no UID.

Но я хочу, чтобы меня перенаправляли на страницу 404 вместо того, чтобы получать эту ошибку!

Я попытался проверить запись в моем действии и перенаправить на страницу 404, но когда я получил эту ошибку, мой код (в моем действии) даже не выполняется!

После долгих поисков некоторые люди говорят, что если я установил

plugin.myplugin.mvc.throwPageNotFoundExceptionIfActionCantBeResolved = 1

Или просто

config.tx_extbase.mvc.throwPageNotFoundExceptionIfActionCantBeResolved = 1

Ошибка будет решена, я попробовал оба, но ошибка все равно осталась.

любая помощь ?

Спасибо

PS: я использую TYPO3 6.1.7


person user    schedule 11.03.2014    source источник


Ответы (2)


В вашем действии вам нужно объявить параметр с помощью @dontvalidate.

person Christian    schedule 12.03.2014

Исправьте это в конфигурации realurl, добавив 'enable404forInvalidAlias' => 1

e.g.:

'lookUpTable' => array(
'table' => 'tx_example_domain_model_example',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted AND NOT hidden',
'enable404forInvalidAlias' => 1,
),
person user2401720    schedule 21.04.2015