yakamara / redaxo_yform_docs

Dokumentation für YForm
31 stars 30 forks source link

Table Manager: rex_list via EP verändern #138

Closed alxndr-w closed 3 years ago

alxndr-w commented 5 years ago

via Christoph Böcker (getestet)

rex_extension::register('YFORM_DATA_LIST_SQL', function( $ep ){

    switch( substr($ep->getParams()['table']['table_name'],strlen(rex::getTablePrefix())) ) {
        case 'tabelle_1':
            # Liste umbauen
            rex_extension::register('YFORM_DATA_LIST', function( $ep ) {
                $list = $ep->getSubject();
                $list->removeColumn('id');
                $list->addColumn('Anschrift','###strasse###<br>###land###-###plz### ###ort###',3);
                $list->removeColumn(rex_i18n::msg('yform_delete'));
                $list->setColumnFormat('bild','custom', function( $params ) {
                    if (!$params["value"]) return '';
                    if( !is_file( rex_path::media($params["value"])) ) return '';
                    return '<img src="'.rex_url::backendController( ['rex_media_type'=>'rex_mediapool_preview','rex_media_file'=>$params["value"]] ).'" />';
                });
                return $list;
            });
            # Abfrage umbauen
            return str_replace (',`name`',',concat (`name`,", ",`vorname`) as `name`,',$ep->getSubject());
            break;
        case 'tabelle_2':
            break;
    }
});

in diesem Code sind viele einzelne Beispiele, die man etwas aufdröseln muss, wenn man die rex_list nicht kennt.