У меня установлена TYPO3 с несколькими языками.
Теперь я хочу создать функцию, которая, если, например, французский редактор с французскими настройками, перейдет к представлению (или предварительному просмотру страницы), что он получит французскую версию, а не язык по умолчанию.
Моей первой идеей было использовать PageLayoutViewDrawItemHookInterface
, а затем изменить URL-адрес для нужного языка
в ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['tx_editordashboard'] =
\Vendor\Editordashboard\Hooks\Backend\CheckUserCountry::class;
в моем классе CheckUserCountry.php
<?php
namespace TRUMPF\Editordashboard\Hooks\Backend;
use \TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface;
use \TYPO3\CMS\Backend\View\PageLayoutView;
class CheckUserCountry implements PageLayoutViewDrawItemHookInterface
{
/**
* Preprocesses the preview rendering of a content element.
*
* @param \TYPO3\CMS\Backend\View\PageLayoutView $parentObject Calling
parent object
* @param bool $drawItem Whether to draw the item using the default
functionalities
* @param string $headerContent Header content
* @param string $itemContent Item content
* @param array $row Record row of tt_content
*/
public function preProcess(PageLayoutView &$parentObject, &$drawItem,
&$headerContent, &$itemContent, array &$row) {echo "bam";}
}
Но хук не работает, если я нажимаю кнопку «Просмотр». Какие-нибудь идеи так решают проблему?