[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rex_list und setColumnFormat - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
ovo
Beiträge: 73
Registriert: 13. Okt 2010, 12:56

rex_list und setColumnFormat

22. Sep 2012, 07:14

Ich möchte bestimmte Werte in den Zellen einer Tabellenspalte ersetzen. Das funktioniert einfach durch setColumnFormat. Doch leider wirkt dann setColumnParams nicht mehr und ich erhalte keine Links.

Code: Alles auswählen

$list->setColumnFormat( 'status', 'custom', 'online_offline' ); 
$list->setColumnParams( 'status', array('db' => 'status', 'id' => '###id###') ); 

function online_offline( $params ) 
{
	$val = $params['value'];
	$val = ($val==0)?'offline':'online';
	return $val;
}
Ich könnte natürlich den gesamten html-code für den Link zurückgeben. Doch geht das nicht irgendwie eleganter?
LG
Stefan

ovo
Beiträge: 73
Registriert: 13. Okt 2010, 12:56

Re: rex_list und setColumnFormat

22. Sep 2012, 07:29

... ich habs nun so gelöst:

Code: Alles auswählen

function col_online_offline( $params )
{
	$val = $params['value'];
	$cval = ($val==0)?'offline':'online';
	$class = ($val == 1) ? 'rex-online' : 'rex-offline';
	$o = $params['list'];
	return '<a class="' . $class . '" href="' . $o->formAttributes['action'] . '&db=status&id=###id###' . '">' . $cval . '</a>'; 
}
trotzdem: handelt es sich beim obgenannten Verhalten um einen kleinem Bug oder mach ich was falsch?
LG
Stefan

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: rex_list und setColumnFormat

22. Sep 2012, 09:31

Hi ovo!
ovo hat geschrieben:trotzdem: handelt es sich beim obgenannten Verhalten um einen kleinem Bug oder mach ich was falsch?
Du machst nichts falsch. Aber das Verhalten der rex_list-Klasse ist so gewollt.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ovo
Beiträge: 73
Registriert: 13. Okt 2010, 12:56

Re: rex_list und setColumnFormat

22. Sep 2012, 13:16

Xong hat geschrieben:Hi ovo!
Du machst nichts falsch. Aber das Verhalten der rex_list-Klasse ist so gewollt.
Ok, danke! Aber warum das so gewollt sein soll kann ich doch nicht ganz nachvollziehen. setColumnParams() sollte meiner Meinung nach Priorität haben. Ich möchte mit setColumnFormat() ja nur den Anzeigetext ändern.
LG
Stefan

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: rex_list und setColumnFormat

22. Sep 2012, 13:19

Hej,

eine andere Variante wäre dies:

Code: Alles auswählen

       $list = $params["list"]; 
       if ($list->getValue("status") == 1)
       {
       	 $list->setColumnParams(\'status\', array(\'func\'=>\'status\', \'oid\'=>\'###id###\', \'status\'=>\'0\'));
         $str = $list->getColumnLink("status","<span class=\"rex-online\">online</span>"); 
       }
       elseif ($list->getValue("status") == 0)
       {
       	 $list->setColumnParams(\'status\', array(\'func\'=>\'status\', \'oid\'=>\'###id###\', \'status\'=>\'1\'));
         $str = $list->getColumnLink("status","<span class=\"rex-offline\">offline</span>"); 
       }
       return $str;' 
vg Thomas

Zurück zu „Allgemeines [R4]“