Entwickler, der außergewöhnliche CRM- und Laravel-Lösungen liefert

Als erfahrener Entwickler spezialisiere ich mich auf Laravel- und Vue.js-Entwicklung, die Implementierung von Vtiger CRM sowie auf vielfältige WordPress-Projekte. Meine Arbeit zeichnet sich durch kreative, dynamische und benutzerzentrierte Weblösungen aus, die individuell an die Bedürfnisse meiner Kunden angepasst werden.

Vtiger CRM 7.3 bietet zahlreiche Verbesserungen im Bereich Leistung und Funktionalität. Eine spannende Neuerung ist die Möglichkeit, dass jeder Benutzer individuell festlegen kann, welche Seite nach der Anmeldung standardmäßig geöffnet werden soll.

Standardseite in den Benutzereinstellungen hinzufügen – Anleitung für Vtiger 7.3

Vtiger CRM 7.3 bietet zahlreiche Verbesserungen im Bereich Leistung und Funktionalität. Eine spannende Neuerung ist die Möglichkeit, dass jeder Benutzer individuell festlegen kann, welche Seite nach der Anmeldung standardmäßig geöffnet werden soll. Zuvor konnten diese Einstellungen nur global über die Systemeinstellungen vorgenommen werden. In dieser Anleitung erfahren Sie, wie Sie diesen zusätzlichen Funktionsumfang in Vtiger implementieren – selbst wenn Sie noch nicht auf Version 7.3 aktualisiert haben.

Überblick

Das Ziel ist, ein neues Benutzerfeld (user_default_module) in der Tabelle vtiger_users zu erstellen und den Code so anzupassen, dass bei der Anmeldung die benutzerspezifische Standardseite geladen wird. Dafür sind folgende Schritte notwendig:

  • Hinzufügen eines neuen Feldes über ein PHP-Skript.
  • Anpassen der Datei WebUI.php, um den neuen Parameter auszulesen und zu verwenden.
  • Erweiterung der Methode zur Anzeige der Feldwerte, damit im Dropdown-Menü alle Module verfügbar gemacht werden.

Schritt 1: Hinzufügen des neuen Feldes

Erstellen Sie ein PHP-Skript (z. B. add_lp_field.php) in einem Unterordner namens "scripts" im Root-Verzeichnis Ihrer CRM-Installation. Falls der Ordner nicht vorhanden ist, legen Sie ihn an. Der Code des Skripts fügt das neue Feld "user_default_module" in den Block "LBL_MORE_INFORMATION" des Moduls "Users" ein. Dieser Prozess erfolgt mithilfe der vtiger-Bibliotheken (Menu, Block, Field und Module).
Nach dem Upload des Skripts rufen Sie es einmalig im Browser auf (z. B. unter http://yourdomain/scripts/add_lp_field.php), um das Feld in der Datenbank anzulegen.

Schritt 2: Anpassung der WebUI.php

Öffnen Sie die Datei includes/main/WebUI.php. Finden Sie den Abschnitt, in dem der aktuell eingeloggte Benutzer geladen wird (ca. Zeile 104–105):

  $currentUser = $this->getLogin();
  vglobal('current_user', $currentUser);

Fügen Sie unmittelbar danach folgenden Code ein, um den neuen Parameter auszulesen:

  $user_default_module = $currentUser->user_default_module;
  if (empty($user_default_module)) {
    $user_default_module = vglobal('default_module');
  }
  vglobal('user_default_module', $user_default_module);

Anschließend suchen Sie im gleichen File den Bereich (ca. Zeile 165–166), in dem die Standardseite (default_module) ermittelt wird. Entfernen Sie dort die Zeile, die die globale Standardseite definiert, und ersetzen Sie sie durch den neuen Parameter:

  $defaultModule = vglobal('user_default_module');

Dadurch wird nun bei der Anmeldung die Seite geladen, die der Benutzer in seinen Einstellungen ausgewählt hat.

Schritt 3: Erweiterung der Methoden zur Auswahl von Modulen

Um dem neuen Feld in den Benutzereinstellungen eine sinnvolle Auswahl zu ermöglichen, erweitern Sie die Datei modules/Vtiger/models/Field.php. Fügen Sie in etwa bei Zeile 248 eine neue Funktion hinzu, die eine Liste aller Module liefert. Diese Funktion führt eine Datenbankabfrage aus und sammelt alle aktiven Module (unter Ausschluss deaktivierter und Tools-Module).

Die Funktion könnte beispielsweise getModulesList() heißen und ein assoziatives Array zurückgeben, in dem die Modulnamen den Labels zugeordnet werden.

Weiterhin müssen Sie in der Methode getPicklistValues in derselben Datei (etwa bei Zeile 317) einen Code-Snippet ergänzen, der prüft, ob das aktuelle Feld "user_default_module" ist. Falls ja, wird als Picklist-Werte anstatt der Standardwerte das Array aus getModulesList() zurückgegeben.

Nach erfolgreicher Implementierung erscheint in den Benutzereinstellungen ein neues Dropdown-Feld, in dem alle verfügbaren Module zur Auswahl stehen. Der Benutzer kann nun die Seite auswählen, die nach der Anmeldung standardmäßig geöffnet werden soll.

Fazit

Mit den oben genannten Anpassungen haben Sie in Vtiger CRM den Funktionsumfang erweitert, so dass jeder Benutzer individuell seine Startseite nach der Anmeldung definieren kann. Die Lösung umfasst das Einfügen eines neuen Feldes über ein einmaliges Skript, Anpassungen in der zentralen WebUI und Erweiterungen in den Feldern für die Picklist-Auswahl. Damit steht – auch ohne vollständiges Upgrade auf Vtiger 7.3 – die flexible Möglichkeit zur Verfügung, die Benutzererfahrung individuell zu gestalten.