[TYPO3-german] extbase 6.0.0 - TranslationHandling

Johannes C. Schulz - EnzephaloN IT-Solutions info at enzephalon.de
Tue Apr 23 12:05:29 CEST 2013


Hallo nochmals

Nun, für meine Listenansicht funktioniert dies. Doch für die dahinterliegende Detailansicht nicht. Das bisher dort verwendete Übergeben des Objektes von der Listview an den Detailview zeigt den deutschen Datensatz an.
Also habe ich nun eine neue Repository-Methode für die Ansicht eines einzelnen Elementes angelegt und diese in meinem Controller aufgerufen. Doch jetzt zeigt mir der Controller garnix mehr an! Das Objekt was übergeben werden soll ist leer? Da muß jetzt irgendwo ein Fehler sein, aber ich finde ihn einfach nicht:

Repository:
/**
   * Show a single Hotel
   */
  public function showwithlang($hotel){
    $query = $this->createQuery();
    if($GLOBALS['TSFE']->sys_language_uid != 0){
      $query->getQuerySettings()->setSysLanguageUid(1);
    }
    $object = $query->matching($query->equals('uid',$hotel))->execute(); //$hotel ist zB 10, also vorhanden
    return $object;
  }
Controller:
/**
 * Displays a Hotel
 */
public function showitemAction(Tx_Enzhotellist_Domain_Model_Hotellist $hotellist) {
  $GLOBALS['tx_enzhotellist']['formhandler']['uid'] = $hotellist->getUid();
  $this->view->assign('hotel', $this->hotellistRepository->showwithlang($hotellist->getUid()));
}

Debugge ich das SQL in der Typo3Db...php, so sieht das gut aus. Debugge ich {hotel} im Fluid, so ist es leer.
Irgendwas stimmt da in meiner Repository-Methode nicht - sieht jemand den Fehler??

Johannes

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Domi
Gesendet: Sonntag, 21. April 2013 09:52
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] extbase 6.0.0 - TranslationHandling

Hi Johannes
>
> /* Wenn Englisch, Französisch oder Niederländisch, zeige die englischen Inhalte */
>      if(t3lib_div::_GP('l') != '0'){
>        $query->getQuerySettings()->setRespectSysLanguage(FALSE);
>        $langsearch = $query->logicalAnd($query->equals('sys_language_uid',1));
>        $constraint[] = $langsearch;
>        var_dump($langsearch);
>      }
Ich würde mal folgendes versuchen:

if(t3lib_div::_GP('l') != '0'){
$query = $this->createQuery();
$query->getQuerySettings()->setSysLanguageUid(1);
return $query->execute();
}

Der Ansatz mit setRespectSysLanguage(FALSE) wird auf jeden Fall in die Hose gehen, dafür hab ich schon ein Bugreport auf Forge erstellt. Ich hatte ein ähnliches Problem gehabt, dass nach dem 4.7 auf 6.0 Upgrade eine Query nicht mehr lief.

Gruß
Dominic
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list