Kunden Benachrichtigung

  • Moin,


    nachdem die Frage aufkam wie man denn eine Nachricht an die Kunden geben kann hier ein Bsp. es gibt hierzu natürlich viele Wege.


    Wie sieht das ganze dann aus ?


    So:



    Das ist ein Bsp. - Hook (unterhalb erkläre ich Zeile für Zeile) :



    Optional eine persönliche Anrede :

    Code
    $salutation = Capsule::table('tblcustomfieldsvalues')->where('fieldid','2')->where('relid',$client->id)->value('value');


    Hier wird über einen DB connect das customfield 2 ausgelesen und an $salutation übergeben:



    In diesem Fall Herr oder Frau wie so etwas angewendet werden kann findet Ihr hier --> Automatische Begrüßung im Supportticket


    Mit :

    Code
    $alertstring = Lang::trans('hello')." ".Lang::trans($salutation)."<b> ".$client->lastName."</b>, ".Lang::trans('infobox');

    wird die Ausgabe an die variable $alertstring übergeben.


    Lang::trans('hello') ist eine Inline Übersetzung und gleichzusetzen mit {$LANG.hello}.


    Folglich müsst Ihr so einen string in Override/language.php eintragen

    Code
    $_LANG['hello'] = "Hallo";

    Folgend wird die Variable $salutation übersetzt


    Code
    Lang::trans($salutation)


    , sprich je nach Datensatz sieht es gedanklich so aus :



    Code
    Lang::trans('Herr') oder eben Lang::trans('Frau')


    Also benötigt Ihr in der override/language.php:



    Code
    $_LANG['Herr'] = "Herr";
    $_LANG['Frau'] = "Frau";
    
    
    $_LANG['Herr'] = "Mr.";
    $_LANG['Frau'] = "Mrs.";


    Mit: $client->lastName wird der Nachname des Kunden ausgegeben.


    Und die letzte Variable ist nichts anderes als die eigentliche Nachricht ebenfalls in Lang::trans verpackt um multi language fähig zu bleiben.



    Code
    $_LANG['infobox'] = "<br>aktuell führen wir einige Arbeiten am Kundencenter durch.<br>Hierbei kann es leider zu einigen Einschränkungen kommen, wir bitten Sie dies zu Entschuldigen.<br>";

    Mit :

    Code
    $alertlevel = "info";

    gebt Ihr vorne das Zeichen an in diesem Fall das "!" es gibt noch "warning", "danger" mehr dazu mit {debug}


    Mit der Variable:


    Code
    $alertlink = "announcements.php";

    setzt ihr einen Link in diesem Fall zu den Bekanntmachungen es geht aber auch eine URL wie WHMCS-Deutschland - Inoffizielles WHMCS Forum oder jeglicher anderer Link.



    Hiermit erfolgt die Ausgabe der $variablen:



    Code
    return new Alert($alertstring,$alertlevel,$alertlink);



    Vorteil :
    - Man kann schnell und einfach eine Meldung ausgeben und braucht kein zusätzliches Addon
    - C&P und sofort Einsetzbar da er bereits oben steht und nicht geschrieben werden muss :D


    Nachteile:
    - Alle Kunden bekommen die selbe Meldung ( kann man natürlich noch ändern indem man eine User-ID Abfrage einfügt)
    - Die Meldung ist dauerhaft solange der Hook im includes/hook Verzeichnis liegt.
    - Übersetzung bedingt möglich 1-2 Sprachen OK mehr Ufert dann schnell aus.


    Alternative ?


    Gibt es ohne Werbung machen zu wollen : https://www.cmsbased.net/whmcs-addons/top-bar-alerts/ aber der Entwickler ist gut kann auch Denis bestätigen.


    So Mittagspause ist nun auch vorüber, hoffe für den einen oder anderen ist es Hilfreich.


    Gebt mir doch bitte Feedback ob das ganze zu Ausführlich geschrieben ist oder ob noch etwas fehlt.
    Mir ist klar das wir hier einige recht bewanderte User haben (die haben nach dem Hook post eh schon aufgehört zu lesen) nur mein Postfach quillt über mit Anfragen die da lauten : " Wie funktioniert das genau , zeig mal, was muss ich machen usw.."


    Danke und Gruß
    Christian