Typo3 realurl问题 - 查看未更新

时间:2016-09-10 09:26:37

标签: php caching typo3 extbase realurl

我创建了一个非常简单的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);
}


然后我创建了一个文件夹并添加了一个插件元素:

enter image description here

之后我将插件本身放在首页并包含文件夹。

使用RealURL配置,我设法缩短了show action 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)。

enter image description here

我正在使用Typo3 7.6.10和realurl 2.0.15。

更新

如果我在 realurl_conf.php 中使用cHash,它可以正常运行:

      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',

)
);

1 个答案:

答案 0 :(得分:2)

已知问题 - 在https://github.com/dmitryd/typo3-realurl/issues/244

上解释

TL; DR:修复您网站上每个链接中的cHash。不是配置,而是生成链接的地方,在每个地方生成链接!