Проблема с Realurl Typo3 - просмотр не обновляется

Я создал очень простое расширение typo3 всего с одной моделью и одним контроллером.

Это единственные действия в контроллере:

/**
 * action list
 *
 * @return void
 */
public function listAction()
{
    $projects = $this->projectRepository->findAll();
    $this->view->assign('projects', $projects);
}

/**
 * action show
 *
 * @param \Typo3\Productoverview\Domain\Model\Project $project
 * @return void
 */
public function showAction(\Typo3\Productoverview\Domain\Model\Project $project)
{
    $this->view->assign('project', $project);
}


Затем я создал папку и добавил элемент плагина:

введите здесь описание изображения

После этого я разместил сам плагин на главной странице и включил папку.

С конфигурацией RealURL мне удалось сократить URL-адрес действия показа:

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']= array (
  'local.typo3' => array (
    'init' => array (
      'enableCHashCache' => 1,
      'appendMissingSlash' => 'ifNotFile, redirect',
      'adminJumpToBackend' => 1,
      'enableUrlDecodeCache' => 1,
      'enableUrlEncodeCache' => 1,
      'emptyUrlReturnValue' => '/',
    ),
    'postVarSets' => array (
      '_DEFAULT' => array (
        'project' => array (
          array (
            'GETvar' => 'tx_productoverview_projects[action]',
          ),
          array (
            'GETvar' => 'tx_productoverview_projects[project]',
          ),
        ),
      ),
    ),

    ...


В чем проблема?
Если я сейчас щелкну ссылку одного элемента списка на главной странице, он изменит URL-адрес в строке браузера, но не переадресует меня. Мне нужно обновить страницу с помощью Control + F5, чтобы перейти к представлению проекта или вернуться на главную страницу (даже если я изменю URL-адрес в браузере вручную).

введите здесь описание изображения

Я работаю с Typo3 7.6.10 и realurl 2.0.15.


Обновлять

Если я использую cHash в realurl_conf.php, он работает правильно:

      array (
        'GETvar' => 'cHash',
      ),

Как работать без cHash? Я имею в виду, что "enableCHashCache" активирован ..


Обновление 2

Одно из возможных решений - отключить кеширование для действия списка, но я не уверен, что это правильный путь:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'ET.' . $_EXTKEY,
'Projects',
array(
    'Project' => 'list, show',

),
// non-cacheable actions
array(
    'Project' => 'list',

)
);

person Entertain    schedule 10.09.2016    source источник


Ответы (1)


Известная проблема - объяснена на https://github.com/dmitryd/typo3-realurl/issues/244

TL; DR: исправьте включение cHash в каждую ссылку на вашем сайте. Не конфигурация, а то место, где создается ссылка, генерируются везде ссылки!

person Claus Due    schedule 10.09.2016
comment
Спасибо за подсказку! Используем realurl 2.0.14, пока эта проблема не будет исправлена. - person Entertain; 10.09.2016
comment
Это не будет исправлено в realurl, но вам нужно исправить свой код. - person pgampe; 10.09.2016
comment
@pgampe как мне это исправить? - person Entertain; 18.09.2016
comment
Вам необходимо передать идентификатор страницы в качестве аргумента при создании URL-адреса. - person pgampe; 18.09.2016