Ergebnis 1 bis 2 von 2

Thema: id und table in der tl_news ausgeben

  1. #1
    Contao-Fan
    Registriert seit
    16.01.2012.
    Beiträge
    418

    Standard id und table in der tl_news ausgeben

    Guten Tag,

    ich versuche gerade die Paletten der tl_news abhängig der Einstellungen in der tl_news_archive auszugeben, da es so für den Kunden einfacher ist. Im Moment habe ich folgendes - ist funktionsfähig aber nicht sehr schön gelöst:


    PHP-Code:
    if($_GET['id']){

        
    $sql "
        Select stellenmarkt 
        FROM tl_news_archive 
        WHERE 
        id = (SELECT pid FROM tl_news WHERE id = "
    .$_GET['id'].")";
        
    $dbQuery Database::getInstance()->prepare($sq);
        
    $dbResult $dbQuery->execute();    
        
    $news_archive $dbResult->fetchAllAssoc();

    if(
    $news_archive[0]['stellenmarkt'] = 1){
    $GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace('stop;','stop;{JOBS},employment_type;'$GLOBALS['TL_DCA']['tl_news']['palettes']['default']);
    }

    Gerne würde ich die ID nicht über Get erhalten. (Ausserdem sehen die Get parameter in der tl_news_archive Ebene gleich aus.)

    Gibt es hier einen schöneren weg über einen Callback vll? Hab keinen Paletten Callback gefunden.

    Danke schon mal.

  2. #2
    Contao-Nutzer Avatar von BennyBorn
    Registriert seit
    10.06.2011.
    Ort
    Edenkoben
    Beiträge
    240
    Partner-ID
    6916

    Standard

    Ich löse das einfach über einen Listener der an config.onload der tl_news hängt.
    Ungefähr so

    PHP-Code:
        /**
         * Modify the palette
         *
         * @param Contao\DataContainer $dc
         *
         * @Callback(table="tl_news", target="config.onload")
         */
        
    public function modifyPaletteDataContainer $dc ): void {

            if( 
    Input::get('act') != 'edit' || ! $dc->id ) {
                return;
            }

            
    // make sure the current archive is configured to import xy
            
    if( $dc->id ) {

                
    $model null;
                
    $model NewsModel::findByid($dc->id);

                if( 
    $model ) {

                    if( !
    $model->getRelated('pid')->xy_enable_import ) {
                        return;
                    }
                }
            }

            
    PaletteManipulator::create()......
        } 

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
  •