Produktbeschreibung auf der Rechnung

    • Offizieller Beitrag

    Bald ist es ja soweit und die neuen EU Richtlinien greifen, wodurch man seinen Onlineshop dementsprechend anpassen muss.
    Eine wichtige Pflicht ist das man die wesentlichen Produktmerkmale auf der Bestellübersichtsseite, der Bestellbestätigung und in der Rechnung aufzeigen muss. Im Falle eines Webhosters wären dies z.B. Größe des Webspaces usw.
    Leider bietet uns WHMCS keine Möglichkeit dies einfach umzusetzen, sodass man sich hier selbst etwas basteln muss. Wie man das auf der Bestellübersichtsseite umsetzt habe ich ja bereits erklärt. Nun zeige ich euch mal wie es in der Rechnung geht.


    • Öffnet hierfür die invoicepdf.tpl
    • sucht den Block:
      Code
      foreach ($invoiceitems AS $item) {
          $tblhtml .= '
          <tbody><tr bgcolor="#fff">
              <td width="80%" align="left">'.nl2br($item['description']).'
      </td>
              <td width="20%" align="center">'.$item['amount'].'</td>
          </tr>';
      }


    • und ersetzt diesen gegen diesen hier:


    • erweitert den Code mit weiteren else if.... Zeilen (je nachdem wie viele Produkte Ihr habt)
    • legt in der german.php Datei die entsprechenden Sprachstrings an.


    Dies ist momentan leider die einzige Möglichkeit um Produktdetails auf der Rechnung anzeigen zu lassen. Der Code stammt von Brain! aus dem WHMCS Forum (Quelle)

  • Hat jemand eine Auflistung der ganzen Änderungen und neuen Pflichten? Stichtag ist doch der 13.6. oder?


    Vielen Dank für die Anleitung, echt schade das WHMCS dieses Feature nicht schon von Haus aus hat.

  • ich verstehe das aber mit der sprachdatei noch nicht so richtig...


    könntest du mir mal ein beispiel machen mit 3 produkten ?
    einfach mit 123 durchnummerieren.
    zeitgleich auch für die sprachdatei die passende ausgabe...


    wenn ich deinen cide hinzufüge und die sprachdatei selbst anpasse bekomme ich ne weiße seite statt der rechnung ^^
    ich bin etwas zu doof um da jetzt allein hinter zu kommen.
    mfg, rommy.

  • okay, genau so habe ich es auch gemacht wie du gerade beschreibst, ich bekomme aber die von mir erwähnte weiße seite ...


    ich habe dein teilcodestück eingefügt und den bestehenden ordentlich und sauber überschrieben in der tpl.
    den nun von dir genannten code habe ich auch genau so in die german.php eingesetzt.


    resultat ist bei mir eine weiße seite.
    aus genau diesem grund bin ich jetzt auch überfordert.


    *edit* ich glaube ich habe den fehler gefunden.
    ich hab schwer zu sehen aber an einer stelle ein } zuviel gehabt.


    nun hab ich aber ein neues problemchen.
    ich habe nun die sprachdatei mit dem wort test gefüttert.
    und deinen code nun wirklich richtig drin.
    jedoch kommt in der zeile unter dem produkt trotzdem nichts ... also auch nicht das wort test.


    *edit*
    also ich habe mich jetzt zu diesem punkt dazu entschieden die erweiterbaren optionen hierfür zu missbrauchen.
    da ich sowieso zumbeispiel für plesklizenzen extra geld verlange ist das sowieso nötig damit zu arbeiten.


    die festen wichtigen sachen fixxe ich einfach mit nem radiobutton und nur einer option zu diesem zusatz. somit kann der user die option nicht ändern.
    ich finde das die sauberere lösung um nicht so viel am code machen zu müssen.


    aber danke für die unterstüzung.
    ich hoffe das irgendwann mal nen richtig gutes update von whmcs raus kommt was eine flexieblere arbeit ermöglicht.
    aktuell ist das ja alles noch sehr umständlich.
    ich bin nicht der king was programmieren angeht.
    ich finde zwar durch, aber irgendwo ist dann ende.
    da gibts sicherlich noch mehr wie mich, die dann wenn sie das hier nicht finden ggf echt nen problem haben.


    es ist zwar ein amerikanisches system.
    nur irgendwie wünsche ich mir das ganze noch modularer.
    das man mehr mit wenigen klicks anpassen kann.
    das ganze vielleicht etwas übersichtlicher noch.
    die grundsubstanz vn whmcs ist ja eigentlich genial.
    aber so simple sachen wie ne fixed rechnung is echt käse.

    • Offizieller Beitrag

    Moin und willkommen im Forum,


    muss ich mir nachher mal ansehen (die Anleitung ist ja schon was älter). Prinzipiell ist es aber einfacher seine Produktdetails einfach mit den Config Options aufzubauen. Diese werden dem Kunden ja dann automatisch im Bestellprozess und auf der Rechnung angezeigt.

    • Offizieller Beitrag

    Ah ja, jetzt fällt mir auch wieder ein wieso ich strpos verwendet hatte...


    Okay dann müssen wir das ganze etwas umständlicher machen.


    Ersetze mal das vorherige

    Code
    if (strpos($item['description'],'Produktname') !== false) {


    durch

    Code
    if (strpos($item['description'],'Produktname') !== false && strpos($item['description'],'Einrichtungsgebühr') == false) {


    Wobei du Einrichtungsgebühr durch deine Bezeichnung ersetzen musst, falls du mehrsprachige Rechnungen hast wo sich die Bezeichnung "Einrichtungsgebühr" unterscheidet musst du die Abfrage dann entsprechend erweitern.
    Auf meinem Testsystem hat es so jedenfalls geklappt.