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();
}
}
----------------------------------------------------
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german