Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 类型3流体v:page.languageMenu和tx_新闻_Typo3_Fluid_Tx News - Fatal编程技术网

Typo3 类型3流体v:page.languageMenu和tx_新闻

Typo3 类型3流体v:page.languageMenu和tx_新闻,typo3,fluid,tx-news,Typo3,Fluid,Tx News,当我需要一个语言切换器时,我通常使用像这样的打字 lib.langnav > lib.langnav = HMENU lib.langnav { wrap = <ul>|ul special = language special.value = 0,1,3 special.normalWhenNoLanguage = 0 1 = TMENU 1 { noBlur = 1 NO = 1 NO { addi

当我需要一个语言切换器时,我通常使用像这样的打字

lib.langnav >
lib.langnav = HMENU
lib.langnav {   
  wrap = <ul>|ul
  special = language
  special.value = 0,1,3
  special.normalWhenNoLanguage = 0
    1 = TMENU
    1 {

    noBlur = 1
    NO = 1
    NO {
      additionalParams.cObject = COA
      additionalParams.cObject {
      5 = TEXT
      5.wrap = &L=1
。。。和其他标准的东西

现在,当我使用流体时,我有:

    <v:page.languageMenu class="language-menu"
                         defaultIsoFlag="{settings.config.defaultIsoFlag}"
                         defaultLanguageLabel="{settings.config.defaultLanguageLabel}"
                         tagName="ul"
                         tagNameChildren="li"
                         linkCurrent="0"
                         as="languageMenu"
                         hideNotTranslated="1"
                         classCurrent="'current'"> ... </v:page.languageMenu>
。。。

如何在fluid
lang.menu
中添加
tx\u news
控制器和操作(为新闻详细信息页面创建翻译url)?

我只找到一个解决方案-覆盖url中添加的查询字符串的默认视图帮助器。在我的扩展名(流体主题)中,键入3conf/ext/huskytheme/Classes/ViewHelpers/Page/LanguageMenuViewHelper.php

<?php
namespace HIT\Huskytheme\ViewHelpers\Page;


class LanguageMenuViewHelper extends \FluidTYPO3\Vhs\ViewHelpers\Page\LanguageMenuViewHelper {

        protected function getLanguageUrl($uid) {
        $excludedVars = trim((string) $this->arguments['excludeQueryVars']);
        $config = array(
            'parameter' => $this->getPageUid(),
            'returnLast' => 'url',
            'additionalParams' => '&L=' . $uid,
            'useCacheHash' => $this->arguments['useCHash'],
            'addQueryString' => true,
            'addQueryString.' => array(
                                'method' => 'GET',
                'exclude' => 'id,L,cHash' . ($excludedVars ? ',' . $excludedVars : '')
            )
        );
        if (TRUE === is_array($this->arguments['configuration'])) {
            $config = $this->mergeArrays($config, $this->arguments['configuration']);
        }
        return $this->cObj->typoLink('', $config);
    }

}

我发现只有一个解决方案-覆盖url中添加的查询字符串的默认视图帮助器。在我的扩展名(流体主题)中,键入3conf/ext/huskytheme/Classes/ViewHelpers/Page/LanguageMenuViewHelper.php

<?php
namespace HIT\Huskytheme\ViewHelpers\Page;


class LanguageMenuViewHelper extends \FluidTYPO3\Vhs\ViewHelpers\Page\LanguageMenuViewHelper {

        protected function getLanguageUrl($uid) {
        $excludedVars = trim((string) $this->arguments['excludeQueryVars']);
        $config = array(
            'parameter' => $this->getPageUid(),
            'returnLast' => 'url',
            'additionalParams' => '&L=' . $uid,
            'useCacheHash' => $this->arguments['useCHash'],
            'addQueryString' => true,
            'addQueryString.' => array(
                                'method' => 'GET',
                'exclude' => 'id,L,cHash' . ($excludedVars ? ',' . $excludedVars : '')
            )
        );
        if (TRUE === is_array($this->arguments['configuration'])) {
            $config = $this->mergeArrays($config, $this->arguments['configuration']);
        }
        return $this->cObj->typoLink('', $config);
    }

}

{namespace hit=HIT\Huskytheme\ViewHelpers}
...
<f:section name="LanguageMenu">
    {v:variable.typoscript(path: 'plugin.tx_huskytheme.settings') -> v:variable.set(name: 'settings' )}

    <v:variable.set name="currentlang" value="{v:page.language(normalWhenNoLanguage: 0)}" />

    <div class="lang  pull-right"> 

        <hit:page.languageMenu 
            defaultLanguageLabel="{settings.config.defaultLanguageLabel}"
            linkCurrent="0"
            as="languageMenu"
            hideNotTranslated="1"
            classCurrent="'current'"
            >

            <v:variable.set name="langcount" value="{languageMenu -> f:count()}" />

            <f:if condition="{langcount > 1}">
                <f:then>
                    <ul class="navlang">
                        <f:for each="{languageMenu}" as="item" iteration="iteration">
                            <f:if condition="{item.current}">
                                <f:then>
                                    <li class="active">
                                        <span>{item.label}</span>
                                    </li>
                                </f:then>
                                <f:else>
                                    <li class="{f:if(condition: iteration.isLast, then: 'last')}">
                                        <a href="{item.url}">{item.label}</a>
                                    </li>
                                </f:else>
                            </f:if>
                        </f:for>
                    </ul>  

                </f:then>
            </f:if>
            </hit:page.languageMenu>

    </div>
</f:section>