Ergebnis 1 bis 8 von 8

Thema: Seiten-Sprache aus dem Widget heraus ermitteln

  1. #1
    Contao-Nutzer
    Registriert seit
    30.05.2011.
    Ort
    Köln
    Beiträge
    88

    Standard Seiten-Sprache aus dem Widget heraus ermitteln

    Hallo,

    ich habe eine Erweiterung und der ich auf daten einer eigenen Tabelle zugreife. Die Daten sind getennt nach Sprachen abrufbar. Im Beckend möchte ich jetzt in einem Element Einträge auswählen die zur Spache der aktuellen Seite passen. Ich verwende hierzu eine Erweitung der Klasse Widget.

    Wie bekomme ich jetzt bei der Bearbeitung des Elements im Beckend die Sprache der Seite heraus auf der sich das Element befindet?

    Ich verwende Contao 2.11.8

    Gruß Mike

  2. #2
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Vieleicht auch schon gelöst...

    PHP-Code:
    global $objPage;
    echo 
    $objPage->language
    Die Globale Variable "objPage" beinhaltet das "Contao\PageModel Object".
    Wenn du wissen willst das alles drinsteht einfach mal folgendes eingeben:
    PHP-Code:
    echo "<pre>".print_r($objPage,true)."</pre>"
    Unter Contao 3 findest du das Pagemodel unter:
    TL_ROOT\system\modules\core\models\PageModel.php
    Mein Blog -> brothers-project.de

  3. #3
    Contao-Nutzer
    Registriert seit
    30.05.2011.
    Ort
    Köln
    Beiträge
    88

    Standard

    Leider noch nicht gelößt!

    Ich befinde mich ja in einem Element im Backend und da ist das
    Code:
    $objPage
    leider Leer. Ich habe die Page-Id aber wie komm ich an die Sprache der Rootpage?

    Gruß Mike

  4. #4
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Sorry. Nicht sehr aufmerksam gelesen von mir.

    PHP-Code:
    echo \Input::get('lang'); 
    Im Zweifelsfall mal folgendes eingeben:
    PHP-Code:
     echo "<pre>".print_r($_GET,true)."</pre>"
    Dann siehst du alle GET Parameter. Wenn du nun noch hergehst und "\Input::get('parameter)" verwendest. Sind sie auch noch gleich save, gecheckt usw... .
    Mein Blog -> brothers-project.de

  5. #5
    Contao-Nutzer
    Registriert seit
    30.05.2011.
    Ort
    Köln
    Beiträge
    88

    Standard

    Hallo Zero,

    ich glaub du bist noch nicht bei mir

    Ich bin bei der Bearbeitung einer Seite, die Ansicht im Frontend funktioniert bestens.
    Ich ein eigenes Element vom Typ eigener Auswahl. In diesme Element möchte ich jetzt Einträge
    aus der Datenbank auflisten, die zu der Sprache der Seite passen. Dazu habe ich die Klasse Widget (Radio-auswahl) erweitert, damit ich die Datenabfrage in der DB erledigen kann. z.Z werden mir aber alle Einträge aufgelistet.

    Ich möchte jetzt bei der Bearbeitung im Backend die Sprache der (Root)Seite heraus bekommen. Bis zu ID - der Seite bin ich anhand der Artikel-Id schon gekommen. Aber wie komme ich jetzt an die Sprachen des Seitenbaumes??

    Gruß Mike

  6. #6
    Contao-Fan Avatar von Zero
    Registriert seit
    25.05.2010.
    Ort
    Korntal
    Beiträge
    520
    User beschenken
    Wunschliste

    Standard

    Ohne Worte...
    Das ist doch echt nicht wahr oder? Manchmal sollte man sich echt selbst in den Arsch beißen . So daneben kann man ja gar nicht liegen...

    Ok. Jetzt verstehe ichs und habe es wohl zweimal falsch interpretiert.

    Du sagst du hast die Page ID? Dann kommst du ja auch an die PID von dieser Seite. und musst dich so dann zurück hangeln.

    Ähnlich wie du es mit dem Artikel auch gemacht hast. Artikel -> PID dann zur Seiten ID. Von da dann mit dem PID der Seite zur Übergeordneten Seite usw. bis zur RootPage.

    Am besten du schaust dir die tl_page mal in der SQL Datenbank an. Dann siehst du wie das zusammenhängt.
    PID ist die Parent ID -> Quasi die Eltern element ID

    Ich hoffe, jetzt bin ich auf dem richtigen Weg
    Mein Blog -> brothers-project.de

  7. #7
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    mit getPageDetails() solltest du alle Infos der Seite bekommen, inkl. Vererbung von Sprache und Layout. AFAIR.
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  8. #8
    Contao-Nutzer
    Registriert seit
    30.05.2011.
    Ort
    Köln
    Beiträge
    88

    Standard

    Hallo,

    das war genau das Richtige, ich hab dann so
    Code:
    	
    //	$row['pid']  =  Seiten-Id
    $obj = $this->getPageDetails($row['pid']);
    $lang = $obj->language;
    gelößt.

    Ich Danke Euch!!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •