Supportzeiten auf der Ticketseite anzeigen

    • Supportzeiten auf der Ticketseite anzeigen

      Da wohl nicht jeder durchs Wiki von WHMCS schlendert poste ich hier mal einen schönen Hook der sich dort für das neue Seitenmenü in v6 befindet. Mit diesem Hook könnt Ihr eure Supportzeiten auf der Ticketseite anzeigen lassen. Erstellt euch einfach eine php Datei, kopiert unten stehenden Code hinein und kopiert diese Datei dann nach /icludes/Hooks und besucht einfach mal eure Support erstellen Seite im Kundenbereich.

      PHP-Quellcode

      1. <?php
      2. use Carbon\Carbon;
      3. use WHMCS\View\Menu\Item as MenuItem;
      4. // Add a helpful support hours notice to the top of the sidebar on the submit
      5. // ticket page.
      6. if (App::getCurrentFilename() == 'submitticket') {
      7. add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar)
      8. {
      9. // Create the support hours panel and make sure it's the first one
      10. // displayed.
      11. /** @var MenuItem $supportHours */
      12. $supportHours = $primarySidebar->addChild('Supportzeiten');
      13. $supportHours->moveToFront();
      14. // Add hours to the panel.
      15. $supportHours->addChild(
      16. '<strong>Verfügbar:</strong> Mo-Fr 08:00-17:00',
      17. [
      18. 'icon' => 'fa-smile-o',
      19. 'order' => 1,
      20. ]
      21. );
      22. $supportHours->addChild(
      23. '<strong>Nicht verfügbar:</strong> Wochenende/Feiertag',
      24. [
      25. 'icon' => 'fa-frown-o',
      26. 'order' => 2,
      27. ]
      28. );
      29. // Add a custom notice to the support hours panel with the logged in
      30. // client's first name and a different message depending on whether
      31. // support is open.
      32. /** @var \WHMCS\User\Client $client */
      33. $client = Menu::context('client');
      34. $greeting = is_null($client)
      35. ? ''
      36. : ", <strong>{$client->firstName}</strong>";
      37. $now = Carbon::now();
      38. $supportIsOpen = $now->isWeekday()
      39. && $now->hour >= 8
      40. && $now->hour <= 17;
      41. $supportHours->setBodyHtml(
      42. $supportIsOpen
      43. ? "Hallo{$greeting}! Unser Support ist besetzt und wir werden Ihre Anfrage schnellstmöglich beantworten!"
      44. : "Keine Sorge{$greeting}! Unser Support kümmert sich am nächsten Werktag um Ihre Anfrage!"
      45. );
      46. });
      47. }
      Alles anzeigen


      Das ganze sieht dann so aus und kann natürlich nach dem eigenen Geschmack umgebaut und erweitert werden.

      Quelle: docs.whmcs.com/Editing_Client_…on_the_submit_ticket_page
      Bilder
      • support.jpg

        112,9 kB, 1.178×450, 299 mal angesehen
      Du benötigst Hilfe bei deinem WHMCS oder bist auf der Suche nach einem WHMCS Modul? Dann melde dich zwecks Angebotserstellung bei Plambee.de
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Hi,

      es gibt auch eine Möglichkeit Social Media als Sidebar anzeigen zu lassen:

      PHP-Quellcode

      1. <?php
      2. use WHMCS\View\Menu\Item as MenuItem;
      3. // Add social media links to the end of all secondary sidebars.
      4. add_hook('ClientAreaSecondarySidebar', 1, function (MenuItem $secondarySidebar)
      5. {
      6. // Add a panel to the end of the secondary sidebar for social media links.
      7. // Declare it with the name "social-media" so we can easily retrieve it
      8. // later.
      9. $secondarySidebar->addChild('social-media', array(
      10. 'label' => 'Social Media',
      11. 'uri' => '#',
      12. 'icon' => 'fa-thumbs-up',
      13. ));
      14. // Retrieve the panel we just created.
      15. $socialMediaPanel = $secondarySidebar->getChild('social-media');
      16. // Move the panel to the end of the sorting order so it's always displayed
      17. // as the last panel in the sidebar.
      18. $socialMediaPanel->moveToBack();
      19. // Add a Facebook link to the panel.
      20. $socialMediaPanel->addChild('facebook-link', array(
      21. 'uri' => 'https://facebook.com/our-great-company',
      22. 'label' => 'Like us on Facebook!',
      23. 'order' => 1,
      24. 'icon' => 'fa-facebook',
      25. ));
      26. // Add a Twitter link to the panel after the Facebook link.
      27. $socialMediaPanel->addChild('twitter-link', array(
      28. 'uri' => 'https://twitter.com/ourgreatcompany',
      29. 'label' => 'Follow us on Twitter!',
      30. 'order' => 2,
      31. 'icon' => 'fa-twitter',
      32. ));
      33. // Add a Google+ link to the panel after the Twitter link.
      34. $socialMediaPanel->addChild('google-plus-link', array(
      35. 'uri' => 'https://plus.google.com/1234567890123456',
      36. 'label' => 'Add us to your circles!',
      37. 'order' => 3,
      38. 'icon' => 'fa-google-plus',
      39. ));
      40. });
      Alles anzeigen


      Das Problem allerdings, dass keine neue Seite geöffnet wird. Weiß jemand wie das geht? HTML-Angaben wie target="_blank" funktionieren da ja nicht.
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Grundsätzlich finde ich die Hooks ganz gut. Allerdings bin ich nicht der ausgewiesene php-Experte. Vor whmcs v6 war eine Änderung sehr einfach und problemlos anpassbar. Mit diesen Hooks verschlimmert sich das ganze, wie ich finde. Würde gerne die Navi anpassen, da durch das ProjectManagement, die Navi bei "Hallo," umbricht.

      Daher würde ich gerne das "Ticket öffnen" unter Support verschieben. Laut Hooks von whmcs, kann ich es zwar ausblenden und unter Support wieder einblenden. Wenn ich allerdings ausgeloggt bin, erhalte ich eine Fehlermeldung:

      Quellcode

      1. Fatal error: Call to a member function addChild() on a non-object in /home/adeskad/public_html/1customer/includes/hooks/addticket.php on line 3
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Ich hab mich mit der neuen Sidebar noch nicht wirklich auseinander gesetzt (fange jetzt erst an mich wirklich mit v6 zu beschäftigen). Ich finde Sie zwar sehr praktisch, das Änderungen aber nur über Hooks möglich sind finde ich allerdings unglücklich gelöst.
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Sehe ich auch so. Alleine das Anpassen der Sidebar und der Navi überfordern meine Kenntnisse und ich müsste jemand bezahlen, der mir die umbaut. Früher ging das einfach, heute mit diesen blöden Hooks leider nicht mehr. Antwort dazu von whmcs ist auch toll: If you're unsure of how to modify your code to produce the desired output, I recommend that you consult with your system administrator and/or host.
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Japp, die Idee der Sidebar ist klasse, die Umsetzung sehr gewöhnungsbedürftig. Aber das sehen laut WHMCS Forum viele so.
      Hast du bei dem Link im neuen Fenster mal die HTML Lösung aus der Doku probiert? docs.whmcs.com/Editing_Client_…op_of_the_topmost_sidebar

      Hab gerade leider nicht die Zeit sonst würde ich es selbst testen.
      Du benötigst Hilfe bei deinem WHMCS oder bist auf der Suche nach einem WHMCS Modul? Dann melde dich zwecks Angebotserstellung bei Plambee.de
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Das direkt nicht, aber die SocialMedia Links. Das funktioniert auch ganz gut. Allerdings öffnen die sich nicht in einer neuen Seite. WHMCS hat noch keine Antwort darauf! Total blöd, wer will denn seine eigene Seite überschrieben haben, wenn man auf seine FB-Seite verlinkt?

      Neue anlegen ist ja schön, aber wie kann man die vorhandenen editieren? Das gilt auch für die Navi. Dazu gibt WHMCS nur die obige Antwort.
    • Re: Supportzeiten auf der Ticketseite anzeigen

      Schon klasse und mal wieder typisch whmcs. Es gibt derzeit keine Möglichkeit einen Link in einem neuen Fenster zu öffnen. Wozu dann das ganze????

      Antwort von whmcs:

      At this time, having menu items open in target = "_blank" is not a supported feature of WHMCS. I apologize for any inconvenience this may cause. We welcome suggestions for new features within our Feature Requests system at requests.whmcs.com . Feel free to search existing feature requests, comment, vote, and/or submit your own ideas.
    • Ich hänge gerade etwas: copy und paste sollte ja eigendlich drin sein: allerdings bekomme ich folgenden fehler nach aufrfu von supporttickets.php
      Parse error: syntax error, unexpected 'use' (T_USE) in /home/ngnx/portal/includes/hooks/support-times.php on line 3
      hieße ja eigendlich das er den alias nicht hinbekommt, aber warum?
      ich stehe irgendwie total auf dem schlauch.
    • Hi,
      die aktuelle 6.xx.
      Es kann auch sein, das mein Copy und Paste in Kombi mit diesem Forum nicht so ganz gut funktioniert, da ich einen Screenreader nutze und sich der Code nicht vernünftig am Stück kopieren lässt .. aber selbst wenn, dürfte es ja in Zeile 3 keinerlei Probleme geben. ...
      entweder habe ich ein absolutes Brett vorm Kopf oder ich weiß auch nicht ...