Spaltenbreiten in der Bestell-E-Mail

  • Hallo Zusammen,


    gibt es eine Möglichkeit die Spaltenbreiten in der Bestell-E-Mail zu ändern/anzupassen?


    Die Spalte Preis ist bei mir so schmal, dass die Währung in einer zweiten Zeile unter dem Betrag angezeigt/gedruckt wird, umgekehrt würde bei den Spalten Menge und Preisnachlass ungefähr die halbe Spaltenbreite ausreichen.


    Im Adressfeld im Kopf der E-Mail wird z.B. die Straße 2-zeilig dargestellt, obwohl nach rechts eigentlich genug Platz wäre um Straße und Hausnummer (jeweils bei Rechnungs- und Lieferadresse) vollständig in eine Zeile zu drucken.


    Hat vielleicht jemand eine Idee, wie ich das ändern kann/könnte?


    Viele Grüße - Harald

  • Servus Harald,


    Die Spaltenbreiten werden in der mail_html_pricelist.php festgelegt.


    Original in:
    components/com_virtuemart/view/invoice/tmpl/mail_html_pricelist.php


    einen Override anlegen im Template:
    templates/Dein_Template/html/com_virtuemart/invoice/mail_html_pricelist.php


    Wenn man Preisnachlass Rabatt nennt, wird es auch schon weniger eng.


    Einige Erklärungen aus meinem E-Mail Pro könnten helfen:
    https://www.jooglies.com/dokumentation/30-vm-e-mail-pro


    Grüße
    Stefan

  • Hallo Stefan,


    danke für Deine Nachricht. Ich werde mir das mal anschauen, vielleicht besser erst mal in meinem Testshop, falls was schief läuft... ;)


    Ich habe bisher erst ein Override erstellt, das ist schon länger her.


    Ich weiß also nicht so genau, wie ich das am besten machen soll, das letzte Mal haben am Anfang noch ein paar Grafiken gefehlt.


    Gibt es im Backend eine Funktion zum erstellen eines Overrides oder muss man die Dateien bzw. Ordner per FTP an den entsprechenden Platz speichern/kopieren?


    Muss man alle Dateien/Ordner kopieren oder reicht es nur die zu kopieren, die man ändern will?


    Viele Grüße - Harald

  • Hallo Harald,


    ich handhabe es immer so, dass ich per FTP eine komplette Kopie meiner Seite in einen Unterordner kopiere. Dazu lege ich noch eine neue Datenbank an und ändere die Config mit den neuen DB- Daten. Somit kannst Du dir sicher sein, dass Änderungen nur in der Kopie vorgenommen werden. Wenn dann alles funktioniert, nehme ich die Änderungen an der Live- Seite vor.


    Gruß Faro

  • Hallo Faro,


    ich habe auch eine ältere Kopie von meinem Shop, die ich damals mit Akeeba Backup erstellt hatte. Diese Kopie aktualisiere ich regelmäßig mit, ich trage nur keine neuen Artikel ein. So kann ich grundsätzlich schon auch gefahrlos testen.


    Bei einem Override geht es, so wie ich es verstanden habe, aber darum, dass man grundsätzlich die Originaldateien unverändert lässt und nur Kopien der Dateien im Templateordner abändert, die dann statt der Originaldateien verwendet werden. Zum einen hat man dann notfalls immer noch die Originaldateien, falls irgend ein Problem auftaucht und zum anderen werden Anpassungen bei Updates nicht überschrieben.


    Ich habe das bisher erst einmal gemacht, weiß aber nicht mehr so genau wie. Es gibt irgendwo auch einen Button Override anlegen, aber das funktioniert wahrscheinlich nur innerhalb des Templateordners, ich weiß es aber eben nicht.


    Viele Grüße - Harald

  • Die Spaltenbreiten werden in der mail_html_pricelist.php festgelegt.


    Original in:
    components/com_virtuemart/view/invoice/tmpl/mail_html_pricelist.php


    Hallo Stefan,


    mein erstes Problem ist jetzt, dass es bei mir keinen Ordner view gibt, ich habe nur einen Ordner views (mit s am Ende).
    Ist das der richtige Ordner?


    In diesem Ordner gibt es eine solche Datei, allerdings finde ich in der Datei nichts, was auch nur annähernd nach Prozentangaben oder Spaltenbreiten aussieht, ich weiß also überhaupt nicht, was ich daran ändern müsste.



    Einige Erklärungen aus meinem E-Mail Pro könnten helfen:
    https://www.jooglies.com/dokumentation/30-vm-e-mail-pro


    Die Beschreibung der Datei scheint leider nicht mehr mit der Datei überein zu stimmen, ich finde da zumindest keine Angaben zu Spaltenbreiten und auch sonst keinerlei Prozentangaben. Hat sich da etwas (grundlegendes) geändert (z.B. Formatierung über CSS)?


    Viele Grüße - Harald

  • Servus,


    ja, views ist richtig. Manchmal fliegen die Finger zu schnell.


    Zum Beispiel sowas kann man ändern:
    <th align="left" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_SKU') ?></th>


    Einfach "width: 10%;" dazu:
    <th align="left" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;width: 10%;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_SKU') ?></th>


    Das sollte man für alle angezeigten Spalten mit Header TH angeben, am Ende sollte 100% herauskommen.


    Grüße
    Stefan

  • Hallo, ich habe das gleiche Problem. Preis und Tax Spalte sind zu schmal und das € Zeichen wird in einer neuen Zeile ausgegeben.

    In der Datei mail_html_pricelist.php habe ich einen Bereich gefunden wo vermutlich diese Einstellung gemacht wird. Diese habe ich das nach Override kopiert und die die die Breite eingegeben. Das funktioniert leider nicht. Habe auch gesehen, das die Zeilen mit <td und nicht mit <th anfangen.

    Das Resultat ist dass die Zeilen wie zuvor schmal ausgegeben werden aber nun keinen Rahmen mehr haben.

    Ich dachte <th wäre nur für den Tabellenkopf?


    Bekomme das einfach nicht hin. Kann mich jemand unterstützen?

    THX Tom


    Hier der o.g. Bereich

    <table class="html-email" width="100%" cellspacing="0" cellpadding="5" border="0" style="border-collapse: collapse; margin: 0 auto;<?php echo $this->isMail ? ' font-family: Arial, Helvetica, sans-serif; font-size: 12px;' : ''; ?>">

    <tr style="text-align: left;" class="sectiontableheader">

    <th align="left" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_SKU') ?></th>

    <th align="center" bgcolor="#EEEEEE" colspan="2" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_PRODUCT_NAME_TITLE') ?></th>

    <th align="center" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_PRODUCT_STATUS') ?></th>

    <?php if ($this->doctype == 'invoice') { ?>

    <th align="center" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_PRICE') ?></th>

    <?php } ?>

    <th align="center" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_QTY') ?></th>

    <?php if ($this->doctype == 'invoice') { ?>

    <?php if ( VmConfig::get('show_tax')) { ?>

    <th align="center" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php

    if(is_array($taxBill) and count($taxBill)==1){

    reset($taxBill);

    $t = current($taxBill);

    echo shopFunctionsF::getTaxNameWithValue($t->calc_rule_name,$t->calc_value);

    } else {

    echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_PRODUCT_TAX');

    }

    ?></th>

    <?php } ?>

    <th align="center" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_SUBTOTAL_DISCOUNT_AMOUNT') ?></th>

    <th align="right" bgcolor="#EEEEEE" style="border: 1px solid #CCCCCC;"><?php echo vmText::_('COM_VIRTUEMART_ORDER_PRINT_TOTAL') ?></th>

    <?php } ?>

    </tr>