Hi!
derLampe hat geschrieben:gibts zufällig ein Addon bei dem man sich was in der Richtung abschauen kann?
Das ist nicht besonders schwer. Hier mal ein Beispielcode:
Code: Alles auswählen
function rr_extended_list($_params)
{
global $REX, $I18N;
if(rex_get('func') == 'activate' AND ($id = rex_get('id', 'int')))
{
$active = rex_get('active', 'int');
$sql = rex_sql::factory();
$sql->setTable($_params['subject']->params['table_name']);
$sql->setWhere('id='.$id);
$sql->setValue('active', $active);
$sql->update();
header('Location: '.str_replace('&', '&', $_params['subject']->getUrl()));
exit;
}
$_params['subject']->removeColumn('active');
$_params['subject']->addColumn('active', '', 50, array('<th class="active">###VALUE###</th>','<td class="active status-###active###">###VALUE###</td>'));
$_params['subject']->setColumnFormat('active' ,'custom', create_function(
'$params',
'$list = $params["list"];
if($list->getValue("active") == 1)
{
$active = 0;
$color = "#0a0";
$text = "online";
}
else
{
$active = 1;
$color = "#a00";
$text = "offline";
}
return \'<a style="color:\'.$color.\'" href="\'.$list->getUrl(array("func" => "activate", "active" => $active, "id" => "###id###")).\'">\'.$text.\'</a>\';'
));
return $_params['subject'];
}
Der Code bindet eine Spalte in einer XForm-Tabelle im Backend ein, mit der man einen Datensatz auf offline oder online setzen kann. Vorrausetzung ist eine Spalte
active, die die Werte 0 oder 1 fasst.
Mit folgendem Code hängt man sich in den EP ein:
Code: Alles auswählen
rex_register_extension('EM_DATA_LIST', 'rr_extended_list');
Beachte, dass dieser Code bei jeder Tabelle Backend die Spalte einbindet. Wenn du das bei einer bestimmten Tabelle haben möchtest, musst du vorher
$_params['subject']->params['table_name'] abfragen.
Der Code ist leicht veraltet, weil dieser noch für das Addon Editme, also den Vorgänger von XForm, geschrieben wurde. Der aktuelle EP heißt
XFORM_DATA_LIST.
Ein anderes Beispiel, bei dem sich in XForm-EPs eingehängt wird, findest du beim Plugin
reindex von RexSearch:
https://github.com/xong/rexsearch/blob/ ... ig.inc.php