[TYPO3-german] extbase 6.2: bestimmte übersetzung erzwingen

volker k. volker at kemeter.de
Mon Jun 23 13:11:22 CEST 2014


hi, gibt es hierzu mittlerweile eine lösung? ich hänge aktuell an dem selben problem und wüsste gerne eine lösung.

danke und lg, volker.


> Anscheinend ist die Liste „typo3 v4 MVC“ tot – jedenfalls antwortet da
> niemand mehr? Deswegen möchte ich meine Frage hier nochmal stellen.
> 
>  
> 
> Es gibt den extbase-Bug . Dadurch ist
> es nicht möglich mit setRespectSysLanguage(FALSE) eine eigene Übersetzung zu
> erzwingen. Ich aber benötige auf französischen Seiten englische Elemente.
> Komischerweise funktioniert dies in meinem Repository mit der LIST-Funktion
> gut. Doch rufe ich hieraus ein DETAIL auf, so wird mir statt des gewünschten
> englischen Objektes das deutsche Objekt ausgeliefert OBWOHL ich explizit
> nach t3_origuid und sys_language_uid suche und auch finde. Irgendwie kommt
> da immernoch das languageOverlay dazwischen. Das möchte ich abschalten,
> bitte.
> 
> Meine Versuche dies mittels der neuen Methoden
> $query->getQuerySettings()->setLanguageMode('ignore'); und
> $query->getQuerySettings()->setLanguageOverlayMode(TRUE); zu tun blieben
> erfolglos.
> 
>  
> 
> Hier mal die zwei Methoden (findByProperties funktioniert / findByUidNew
> funktioniert nicht)
> 
>  
> 
> class HotellistRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
> {
> 
>                 public function findByUidNew($hotel){
> 
>                                $query = $this->createQuery();
> 
>  
> $query->getQuerySettings()->setRespectStoragePage(FALSE);
> 
>                                if($GLOBALS['TSFE']->sys_language_uid != 0){
> 
>  
> $query->getQuerySettings()->setRespectSysLanguage(FALSE);
> 
>  
> $query->getQuerySettings()->setSysLanguageUid(1);
> 
>  
> //$query->getQuerySettings()->setLanguageMode('ignore');
> 
>  
> //$query->getQuerySettings()->setLanguageOverlayMode(TRUE);
> 
>                                                $query = $query->matching(
> 
>  
> $query->logicalAnd(
> 
>  
> $query->equals('t3_origuid',$hotel),
> 
>  
> $query->in('sys_language_uid',array(1))
> 
>                                                                )
> 
>                                                );
> 
>                                }else{
> 
>                                                $query = $query->matching(
> 
>  
> $query->equals('uid',$hotel)
> 
>                                                );
> 
>                                }
> 
>                                return $query->execute()->getFirst(); 
> 
>                 }
> 
>                                
> 
>                 public function
> findByProperties($order,$type,$pidstorage,$classification = NULL,$property =
> NULL,$htype = NULL,$name = NULL){
> 
>                                $orderings = array($type => $order ==
> 'ORDER_ASCENDING' ?
> 
>  
> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING :
> 
>  
> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING);
> 
>                                                                
> 
>                                $query = $this->createQuery();
> 
>                                $constraint = array();
> 
>                                /* Wenn Englisch, Französisch oder
> Niederländisch, zeige die englischen Inhalte */
> 
>                                if($GLOBALS['TSFE']->sys_language_uid != 0){
> 
>  
> $query->getQuerySettings()->setRespectSysLanguage(FALSE);
> 
>  
> $query->getQuerySettings()->setSysLanguageUid(1);
> 
>                                                $langsearch =
> $query->logicalAnd($query->in('sys_language_uid',array(1)));
> 
>                                                $constraint[] = $langsearch;
> 
>                                }
> 
>                 
> 
>                                

> 
>                                
> 
>                                /*BUILD TOGETHER*/
> 
>                                if(!empty($constraint))
> $query->matching($query->logicalAnd($constraint));
> 
>                                $query->setOrderings($orderings);
> 
>                                return $query->execute();
> 
>                 }
> 
> }
----------------------------------------------------




More information about the TYPO3-german mailing list