我尝试在 felogin 模板中进行语言切换,如下所示:
<!--###FORGOTP_VALID###-->
<div class="row">
<div class="col-md-12">
<p class="loginlink"><span><!--###FORGOT_PASSWORD_LINK###-->###FORGOT_PASSWORD###<!--###FORGOT_PASSWORD_LINK###--></span></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<f:if condition="{f:cObject(typoscriptObjectPath: 'lib.language')} == 'en'">
<p><span>Don't have an account? <a href="/sign-up/">Sign up for free!</a></span></p>
</f:if>
<f:if condition="{f:cObject(typoscriptObjectPath: 'lib.language')} == 'de'">
<p><span>Noch kein Account? <a href="de/sign-up/">Kostenlos registrieren!</a></span></p>
</f:if>
</div>
</div>
但它忽略了条件。我错过了什么?
编辑:我添加了一个像这里建议的钩子https://docs.typo3.org/typo3cms/extensions/felogin/Hooks/Index.html和这里的例子http://labor.99grad.de/2017/07/29/typo3 -fe_login-um-eigene-marker-erweitern/ ...但我现在在登录页面上得到一个空白页面。
我在我的一个扩展“accountmanager”中添加了 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['postProcContent']
在 ext_tables.php 我添加了:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['postProcContent']['gwl_add_marker'] = 'EXT:accountmanager/Classes/Hooks/FeUserHook->addMarker';
在我的主要 setup.ts 中,我添加了:
plugin.tx_felogin_pi1 {
templateFile = EXT:accountmanager/Resources/Private/Templates/Felogin/FrontendLogin.html
settings {
pidMainPage = 354
}
}
在 Ext:accountmanager/Classes/Hooks/FeUserHook.php 我有:
<?php
namespace Vendor\Accountmanager\Hooks;
use TYPO3\CMS\Core\Utility\GeneralUtility;
class FeUserHook {
/**
* Fügt alle Settings als Marker für das FrontendLogin.html-Template ein
* im Stil von: ###settings.pidMainPage###
*
*/
public function addMarker ( $params, $_this ) {
$objectManager = GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
$cObj = $objectManager->get('TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer');
$settings = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_felogin_pi1.']['settings.'];
$marker = [];
foreach ($settings as $k=>$v) {
$marker["###settings.{$k}###"] = $v;
}
$content = $cObj->substituteMarkerArrayCached($params['content'], $marker);
return $content;
但是当我将标记放在 EXT:accountmanager/Resources/Private/Templates/Felogin/FrontendLogin.html
###settings.pidMainPage###
...我得到一个空白页...