Willkommen zu einem weiterem Teil meiner Tipps rund um das CRM System vTiger.
Diesmal möchte ich die kleine Sache beschreiben, wie es möglich ist, dass die Sortierung der Listen von jedem Benutzer selbstständig per Filtereinstellungen gesetzt werden kann. Diese Funktionalität fehlt leider im System und ist doch relativ wichtig, da verschiedene Mitarbeiter gerne verschiedene Prioritäten setzen möchten.
Als schnelle aber gute Lösung habe ich es so umgesetzt, dass die Liste grundsätzlich nach der ersten Spalte des Filters sortiert ist. So kann jeder Mitarbeiter die Listen leicht & ohne Probleme seinen Bedürfnissen anpassen.
Diese Beschreibung lässt sich grundsätzlich für jedes Modul mit einer ListView.php umsetzen, sodass diese Anleitung als universell betrachtet werden kann. Dazu einzig an der gekennzeichneten Stelle den Modulnamen in Großbuchstaben einsetzen.
Also los gehts:
/modules/<modulname>/ListView.php
Folgende Stelle suchen:
[php]
if(ListViewSession::hasViewChanged($currentModule,$viewid)) {
[/php]
Hier folgende Zeilen einfügen:
[php]
/** CHANGE BY SWARNAT 18.04.2011 START */
$viewChange = true;
/** CHANGE BY SWARNAT 18.04.2011 ENDE */
[/php]
An der zweiten Zeile in dieser IF-Bedingung sieht man den Aufbau des Namen der SESSION-Variable, welchen wir gleich einsetzen müssen.
z.B. bei Potentialen:
[php]
$_SESSION[‚POTENTIALS_ORDER_BY‘] = “;
[/php]
Daraufhin folgende Zeile suchen:
[php]
if($order_by == ’smownerid‘)
[/php]
In den ELSE-Pfad dieser Bedingung gleich zu Beginn folgendes einfügen: (Hier die Benennung der Variable beachten!)
[php]
/** CHANGE BY SWARNAT 18.04.2011 START */
if(empty($_REQUEST["order_by"]) && (empty($_REQUEST["start"]) ||
($_REQUEST["start"] == "1" && $viewChange == true)))
{
$fields = $queryGenerator->getFields();
$order_by = $fields[0];
$sorder = "DESC";
$_SESSION[‚<MODULNAME>_ORDER_BY‘] = $order_by;
$_SESSION[‚<MODULNAME>_ORDER‘] = $sorder;
}
/** CHANGE BY SWARNAT 18.04.2011 ENDE */
[/php]
Das wars auch schon.
Nachdem man diese Schritte für alle Module wiederholt hat, ist vTiger wieder um eine Funktion reicher!
Bis zum nächsten Artikel!
Stefan
