[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