System eDokumenty - od wersji 3.6.22 - posiada mechanizm umożliwiający wykorzystanie szablonów HTML/Flexy dla wysyłanych wiadomości email.
Mechanizm szablonów dla wiadomości email funkcjonuje w oparciu o bibliotekę Flexy. Umożliwia on wykorzystanie podczas tworzenia wiadomości wybranego, przygotowanego wcześniej szablonu - przypisanego do danego konta pocztowego (domyślnie), bądź wybranego ręcznie na formularzu wiadomości email. Szablon to w zasadzie plik HTML/Flexy zawierający dowolne elementy (np. tabele, obrazki), style (np. tło, rodzaj i wielkość czcionki, itd.) oraz predefiniowane zmienne.
Jeśli podczas tworzenia wiadomości (rys. 1), na formularzu dokonana zostanie zmiana konta, z którego wiadomość zostanie wysłana, bądź bezpośrednio wybrany zostanie jeden z dostępnych szablonów, treść wiadomości zostanie przeładowana z zastosowaniem właściwego szablonu zachowując prawidłową stopkę, cytowaną wiadomość (np. dla odpowiedzi, podczas przekazywania wiadomości), oraz wprowadzoną treść (rys. 2).
Wszystkie pliki z szablonami dla wiadomości email powinny mieć rozszerzenie .tpl i znajdować się w katalogu public_html/apps/edokumenty/var/tpl/emails/. Pliki muszą być zapisane w kodowaniu UTF-8.
W systemie eDokumenty szablony są identyfikowane nazwami plików z obciętym rozszerzeniem (np. plik nowy_szablon.tpl będzie wyświetlany na liście wyboru szablonu pod nazwą nowy_szablon).
Szablony są parsowane przez silnik Flexy (więcej o Flexy przeczytasz tutaj), a ich wynikowa zawartość traktowana jest jako HTML.
W szablonach można wykorzystywać także predefiniowane zmienne, których wartość jest generowana automatycznie w zależności od kontekstu użycia szablonu:
text - treść wiadomości wprowadzona przez użytkownika footer - stopka wiadomości, właściwa dla danego konta, bądź użytkownika jeśli stopka dla konta nie została określona quoted - treść cytowanej wiadomości wraz z nagłówkiem - w przypadku tworzenia odpowiedzi lub przekazywania wiadomości
W każdej wersji systemu eDokumenty instalowany jest domyślnie wykorzystywany szablon o nazwie default. Nie jest zalecana modyfikacja tego pliku, ani jego usuwanie. Domyślny szablon jest używany w przypadku braku możliwości użycia szablonu oczekiwanego w danym kontekście (np. brak właściwego pliku, brak uprawnień do pliku). Zmiany powinny być wprowadzane na zasadzie dodawania nowych szablonów. Możliwe jest wskazanie innego szablonu domyślnego poprzez modyfikację stałej EMAIL_DEFAULT_TEMPLATE w pliku konfiguracyjnym config.inc:
define('EMAIL_DEFAULT_TEMPLATE', 'default');
W szablonie można oczywiście umieszczać elementy graficzne (tag IMG) bądź też określać w definicji stylów obrazy wykorzystywane jako tło. Należy jednak pamiętać, że elementy te muszą być linkowane jako zasoby zewnętrzne, tzn. nie przesyłane wraz z wiadomością. Grafikę najczęściej publikuje się na serwerze obsługującym witrynę internetową.
Dla każdego z kont pocztowych możliwe jest niezależne określenie właściwego szablonu, który będzie wykorzystywany podczas tworzenia wiadomości.
formularz konfiguracji konta >> zakładka Ogólne >> pole Szablon wiadomości
Domyślnie, dla nowo konfigurowanych kont automatycznie wybierany jest szablon określony we wspomnianej stałej EMAIL_DEFAULT_TEMPLATE.
W przypadku wysyłania bardziej specyficznych wiadomości (np. ofert), gdzie oczekiwane jest zawarcie bardziej szczegółowych, statycznych informacji, możliwe jest wybranie szablonu już bezpośrednio na formularzu tworzonej wiadomości, na zakładce Opcje. Określony w ten sposób szablon ma wyższy priorytet, niż domyślny szablon przypisany do konta, więc w tym momencie kolejne zmiany w polu Od będą powodowały jedynie aktualizację stopki.
Poniżej zamieszczony został kod szablonu widocznego na rysunku 1.
<body> <style type="text/css"> body { font-size: 12pt; font-family: calibri, arial, sans-serif; color: #000; background: #fff; padding: 4px; } table, td { font-family: calibri, arial, sans-serif; border-style: none; padding: 0px; margin: 0px; } td { vertical-align: top; } img { padding: 0px; border: 0px; } .tmain { width: 100%; } .tmain .leftCol { width: 200px; color: #999; border-right: 1px solid #bbb; } .tmain .rightCol { padding: 0px 12px; } .footer { border-top: 1px solid #bbb; margin-top: 12px; padding-top: 12px; } .account { color: #777; } .quoted { padding: 0px 10px; } .quoted blockquote { border: 2px none #3D8BFF; border-style: none solid; padding: 0px 10px; margin: 0px; } </style> <table class="tmain"> <tr> <td class="leftCol"> <div class="company"> <img src="http://www.edokumenty.eu/themes/e12/images/eDokumenty_logo.png"><br> System obiegu dokumentów,<br>workflow i CRM </div> </td> <td class="rightCol"> {text:h} {if:footer} <div class="footer account"> {footer:h} </div> {end:} </td> </tr> </table> {if:quoted} <br><br> <div class="quoted"> {quoted:h} </div> {end:} </body>