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.

Sie möchten Bilder (z. B. Logos, Produktfotos) in Module wie Konten, Projekte oder Custom-Module integrieren? Vtiger erlaubt dies über ein verstecktes Feld imagename (UIType 69). So geht’s:

Bilder in beliebige Vtiger-Module hinzufügen: Schritt-für-Schritt-Anleitung

Sie möchten Bilder (z. B. Logos, Produktfotos) in Module wie Konten, Projekte oder Custom-Module integrieren? Vtiger erlaubt dies über ein verstecktes Feld imagename (UIType 69). So geht’s:

Schritt 1: Feld „imagename“ erstellen

PHP-Skript für die Feldgenerierung

Erstellen Sie add_image_field.php im Ordner vtiger/scripts:

<?php  
$Vtiger_Utils_Log = true;  
chdir('../');  
require_once('vtlib/Vtiger/Module.php');  
require_once('vtlib/Vtiger/Block.php');  
require_once('vtlib/Vtiger/Field.php');  

// Zielmodul festlegen (z. B. „Accounts“ für Konten)  
$module = Vtiger_Module::getInstance('Accounts');  

// Block auswählen oder neu erstellen  
$block = Vtiger_Block::getInstance('LBL_ACCOUNT_IMAGE', $module);  
if (!$block) {  
    $block = new Vtiger_Block();  
    $block->label = 'LBL_ACCOUNT_IMAGE';  
    $module->addBlock($block);  
}  

// Bildfeld hinzufügen  
$field = new Vtiger_Field();  
$field->name = 'imagename';  
$field->table = 'vtiger_account';    // Tabellenname des Moduls  
$field->column = 'imagename';  
$field->label = 'Logo';  
$field->columntype = 'varchar(255)';  
$field->uitype = 69;                 // Wichtig: UIType für Bilder  
$field->displaytype = 1;  
$field->quickcreate = 0;             // Nicht im Schnellerfassungsformular  
$field->masseditable = 0;            // Nicht per Massenbearbeitung änderbar  
$block->addField($field);  

echo "Feld 'imagename' wurde erfolgreich hinzugefügt!";  

Hinweis:

  • Ersetzen Sie Accounts und vtiger_account mit dem Namen Ihres Zielmoduls.
  • Das Skript einmalig über die URL aufrufen: http://ihr-vtiger-server/scripts/add_image_field.php.

Schritt 2: Bildanzeige in der Listenansicht aktivieren

Standardmäßig zeigt Vtiger Bilder nicht in der Tabellenübersicht an. So beheben Sie das:

  1. Öffnen Sie die Datei layouts/v7/modules/Vtiger/ListViewContents.tpl.
  2. Fügen Sie folgenden Code vor dem schließenden {/if} ein (ca. Zeile 214):
{else if $LISTVIEW_HEADER->get('uitype') eq '69'}  
    {foreach key=ITER item=IMAGE_INFO from=$LISTVIEW_ENTRY->getImageDetails()}  
        {if !empty($IMAGE_INFO.url)}  
            <img src="{$IMAGE_INFO.url}" alt="Logo" style="max-height: 40px;">  
        {/if}  
    {/foreach}  

Achtung: Diese Änderung wird bei Vtiger-Updates überschrieben. Sichern Sie die Datei oder erstellen Sie ein Custom-Theme.


Schritt 3: Bilder hochladen und testen

  1. Gehen Sie zur Detailansicht eines Datensatzes.
  2. Das neue Feld Logo erscheint – klicken Sie auf „Datei auswählen“.
  3. Laden Sie ein Bild hoch (max. 5 MB, unterstützte Formate: JPG, PNG, GIF).

Tipps & Fehlerbehebung

Bild wird nicht angezeigt?

  • Cache leeren: Drücken Sie Strg + F5 im Browser.
  • Berechtigungen prüfen: Stellen Sie sicher, dass der Ordner storage/ Schreibrechte hat.
  • Feld überprüfen: Nutzen Sie SELECT imagename FROM vtiger_account; in der Datenbank.

Bildgröße anpassen

Ändern Sie die CSS-Klasse im Template-Code:

<img src="..." class="img-thumbnail" style="max-width: 100px;">  

Erweiterte Nutzung

Bilder via API hochladen

Nutzen Sie die Vtiger-REST-API:

$fileContent = base64_encode(file_get_contents('logo.jpg'));  
$data = [  
    'imagename' => $fileContent,  
    'assigned_user_id' => '19x1' // Benutzer-ID  
];  

$response = $httpClient->post('https://vtiger-server/restapi/create', [  
    'headers' => ['Authorization' => 'Bearer ' . $accessToken],  
    'json' => $data  
]);  

Bilder in Workflows nutzen

Erstellen Sie eine Workflow-Task, um bei neuen Bildern automatisch:

  • Benachrichtigungen zu versenden.
  • Watermarks hinzuzufügen (über Custom-PHP).

Warum dieser Ansatz?

  • Keine Plugins nötig: Nutzt Vtigers interne Funktionalität.
  • Schnell umsetzbar: 15 Minuten für die Implementierung.
  • Flexibel: Funktioniert in allen Modulen.

Wichtig: Testen Sie Änderungen immer in einer Staging-Umgebung vor dem Live-Einsatz.

Haben Sie Fragen? Stellen Sie sie in den Kommentaren! 🚀


„Bilder sagen mehr als tausend Datensätze – mit diesem Trick wird Ihre CRM-Datenbank visuell ansprechender und informativer.“