Przygotowywanie szablonu do wysyłki oferty w treści wiadomości
Przygotowywanie szablonu do wysyłki oferty w treści wiadomości
System umożliwia przygotowanie szablonów wiadomości email, które pozwalają wysyłać ofertę bezpośrednio w treści wiadomości. Dzięki temu możesz zautomatyzować komunikację i personalizować treści dla klientów.
Jak dodać szablon?
Edycja lub usuwanie szablonu
- Kliknij ⋯ (3 kropki) obok wybranego szablonu
- Wybierz:
Obsługa znaczników (Twig)
Szablony obsługują dynamiczne dane dzięki znacznikom Twig.
UWAGA:
Znaczniki dodane w kodzie źródłowym ({% code %},{{ code }}) nie będą widoczne w edytorze, ale zostaną poprawnie przetworzone.
Dostępne obiekty
- employee – dane pracownika
- clients – dane klientów
- elements – elementy oferty
- investment – inwestycja
- company – spółka
- productBundles – pakiety produktów
Podstawowe tagi
Warunek
{% if company.address %}
{{ company.address.street }} {{ company.address.buildingNumber }},
{{ company.address.postalCode }} {{ company.address.city }}
{% endif %}
Pętla
{% set produkt = 'DOM' %}
{{ produkt }}
do (bez wyświetlania)
{% do 1 + 2 %}
Dostępne filtry
escape– znaki specjalnelower/uppercapitalize/titlelengthmergenumber_formatformat_currencyslicefilter
Dostępne funkcje
specificationArea(product: Product, optionName: string)
Zwraca powierzchnie z BuiltSpecifications jeśli istnieją, w przeciwnym razie ze Specifications.
Wiele wartości scala znakiem /.
Przykład:
Powierzchnie „Komórka lokatorska”:
{{ specificationArea(element.product, 'Komórka lokatorska') }}
getCardinalDirection(product: Product)
Zwraca kierunki świata dla lokalu (np. „północ, wschód”, „południowy zachód”).
Przykład:
Ekspozycja:
{{ getCardinalDirection(element.product) }}
downloadURL(file: File)
Funkcja pozwala na pobranie plików załączonych do produktu poprzez generowanie publicznego linku.
Przykład:
{% for productFile in element.product.files %}
{% if productFile.fileType.systemName == 'IMG_PDF' %}
<a href="{{ downloadUrl(productFile.file) }}">
Zobacz kartę mieszkania
</a>
<br/>
{% endif %}
{% endfor %}
footer()
Funkcja zwraca zawartość pola stopka z ustawień konta pracownika.
Przykład:
Przykładowa stopka pracownika

Przykładowy wygląd oferty
Przykładowe pola – Employee
{{ employee.name }}{{ employee.surname }}{{ employee.email }}{{ employee.phone }}
Przykładowe pola – Client
{{ client.name }}{{ client.surname }}{{ client.displayName }}{{ client.email }}{{ client.phone }}
Przykładowe pola – Company
{{ company.name }}{{ company.krs }}{{ company.regon }}{{ company.email }}
Przykładowe pola – Investment
{{ investment.name }}{{ investment.getPlannedStartDate }}{{ investment.getRealEndDate }}
Przykładowe pola – Product
{{ product.number }}{{ product.area }}{{ product.priceOffer }}{{ product.roomsCount }}
Przykładowe pola – Address
{{ address.city }}{{ address.street }}{{ address.postalCode }}
Dobre praktyki
- Udostępniaj tylko potrzebne dane
- System działa w sandboxie (ograniczone możliwości Twig)
footer()zwraca HTML – nie używajescape
Przykłady użycia
Przykład 1 – wiadomość
Szanowni klienci:
{% for client in clients %}
- {{ client.name | capitalize }} {{ client.surname | upper }}
{% endfor %}
Dziękujemy za zainteresowanie inwestycją {{ investment.name | title }}.
### Przykład 2 – tabela pakietów
```html
<table>
<thead>
<tr>
<td>Pakiet</td>
<td>Pow. [m²]</td>
<td>Ogród</td>
<td>Cena</td>
</tr>
</thead>
<tbody>
{% for b in productBundles %}
<tr>
<td>{{ b.name }}</td>
<td>{{ b.area }}</td>
<td>{{ b.garden }}</td>
<td>{{ b.price }}</td>
</tr>
{% endfor %}
</tbody>
</table>
Przykład 3 – tabela elementów
<table>
<thead>
<tr>
<td>ID</td>
<td>PIĘTRO</td>
<td>POWIERZCHNIA</td>
<td>CENA</td>
</tr>
</thead>
<tbody>
{% for element in elements %}
<tr>
<td>{{ element.product.number }}</td>
<td>{{ element.product.floor }}</td>
<td>{{ element.area }}</td>
<td>{{ element.nettoPrice }}</td>
</tr>
{% endfor %}
</tbody>
</table>



