我尝试在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''felogin’。
在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###..。我得到一张空白页..。
发布于 2018-06-14 22:47:31
felogin扩展不使用Fluid,因此您不能在模板中使用任何条件。
但是,您可以使用使用流体的Hairu extension来实现此目的。
请注意,在这种情况下,您实际上不需要条件,因为您的意图可以用<f:translate>解决。
https://stackoverflow.com/questions/50860159
复制相似问题