-
Intro
-
Deelnemers
-
Monitoren
-
Financieel
-
Communicatie
-
Geavanceerd
Velden uit dezelfde app als de mail
Velden uit de app waarvoor je deze mail maakt, kan je eenvoudig integreren via deze syntax:
{{.id_veld}}
Hiervoor vraag je de ID van het veld op in de Podio app, via het het moersleutel-icoon in de kolom ‘external ID’. Hierbij moet je koppeltekens (-) enkel nog vervangen door liggende streepjes (_) .
Er zijn enkele meta-attributen die je kan opvragen als volgt:
{{.item_id}}
{{.external_id}}
Velden uit gerelateerde apps
Om dieper te graven in relatie-velden (bv. om de postcode van de boeker van een inschrijving te vinden), kan je deze syntax gebruiken:
{{outgoing "parent.person_city.postal_code"}}
Je “graaft” dus dieper en dieper tot je het veld hebt dat je nodig hebt, steeds via de ID van relatievelden.
In het voorbeeld starten we bij de inschrijving, om dan naar de ouder te gaan, naar het stad-item en daarvan de postcode te vragen.
KampAdmin ondersteunt enkel uitgaande relaties.
Bij meerdere uitgaande relaties, kan je deze techniek gebruiken:
{{ all_outgoing "parent.firstname" }} = Slice of Strings
{{ all_outgoing "parent.firstname" | join ", " }} = String
{{ all_outgoing "parent_ids" }} = IDs
Formatters
Soms wil je het veld dat je wilt tonen, ook nog in een bepaald formaat tonen. Daarvoor biedt KampAdmin enkele handige formatters aan, deze komen steeds na een verticale lijn “|”.
Datum in EU formaat:
{{.birthdate | eu}}
{{outgoing "participant.birthdate" | eu}}
{{today}} = vandaag (2006-01-02)
{{now}} = nu (2006-01-02 15:04:05)
Bedrag met twee kommagetallen en euroteken:
{{.open_total | eur}}
{{outgoing "parent.open_total" | eur}}
Multi-line tekstveld ontdoen van html-tags:
{{.admin_comment | striphtml}}
{{outgoing "parent.admin_comment" | striphtml}}
Voor meer informatie of zottere ideeën, kan je KampAdmins steeds contacteren met een support-ticket met type “extra verzoek”.
Datums
{{.birthdate | eu}} => EU date string (16/12/2006))
{{outgoing "participant.birthdate" | eu}}
{{today}} = vandaag (2006-01-02)
{{now}} = nu (2006-01-02 15:04:05)
{{time}} = Now as Time object
Date range fields:
{{.my_date_field_start}}
{{.my_date_field_end}}
Including time:
{{.my_date_field_start_time}}
{{.my_date_field_end_time}}
Strings/Teksten
{{ printf "hello world" }} = create String
{{ printf "hello world %s" .firstname }} = create String with variable(s)
{{ .long_textfield | striphtml }} = strip html from textfields
Cijfers/Valuta
{{.open_total | eur}} = cijfer met twee kommagetallen en euroteken
{{outgoing "parent.open_total" | eur}}
{{.open_total | usd}} = in Dollar
Mails
{{uniqMails “[email protected]” “[email protected]” “[email protected]”}}
=> results in “[email protected]; [email protected]”
Category fields
{{ .tshirsize }} = Value
{{ .tshirsize_all }} = All values
{{ .tshirsize_ids }} = ID
{{ .tshirsize_all_ids }} = All IDs
Afbeeldingen in PDF's
Het is niet mogelijk om afbeeldingen uit Podio in een mailsjabloon te plaatsen. De info hieronder gaat over het gebruiken van afbeeldingen uit afbeelding-velden in PDF-templates (die KampAdmin meestal instelt) en gaat verder in het Engels.
{{image "profile_picture" "medium" | as ".profile_pic"}}
To add the image in a Google document:
- Add any image (for example a grey placeholder)
- After insertion, you can change the size in the Editor like you would normally.
- Add an ‘alt text’ with the variable name declared above
In our example: {{.profile_pic}}
Step 1
Step 2
Slices
extra slice []string methods:
reverse, sort, eus, first, last
eus (slice version of eu)
eurs (slice version of eur)
Conditionals
enkele handige conditionals, voor meer zie onderaan.
{{$token := or $parent_autologin_token .autologin_token }}
{{if contains .role "ouder"}}
{{printf "Beste ouder" | as ".aanspreking"}}
{{ else }}
{{printf "Beste deelnemer" | as ".aanspreking"}}
{{ end }}
Instellingen
{{setting "financial_active_ogm_levels"}}
Push naar Podio
Commentaar plaatsen in item activity bar:
comment "hello world" // puts a comment on the current item
comment_other appID itemID "hello world" // puts a comment on another item
Waarden aanpassen voor bestaande items:
{{"test 123" | push "admin_comments"}} = for tekst
{{"2" | push "application_locale"}} = ID for category fields
{{"949206190" | push "person_city"}} = ID for reference field
{{now | push "birthdate" }} = date
Podio Item creëren:
! Do not do this when not sure !
{{create appp_id "attribute_1" value_1 "attribute_2" value_2 ...}}
{{create 0000000 "leader-spot" 1398674977 "leader" .item_id "leader-subscription-state" 3}}
{{$leaderSpotItemID := create 000000 "leader-spot" 1398674977 "leader" .item_id "leader-subscription-state" 3}}
Find item in Podio (ask token to KampAdmin):
{{$couponID := find_id "00000_11111" "coupon-employer" .item_id}}
Trigger mail/pdf
! Do not use this when not sure !
{{$appID := int64 22198961}}
{{$kaUserID := int64 00000000 }} = ask KampAdmin
{{$mailTemplateID := int64 1428173100 }}
{{$pdfTemplateID := int64 1062788596 }}
{{mail $appID $mailTemplateID $leaderSpotItemID $kaUserID}}
{{pdf $appID $pdfTemplateID $leaderSpotItemID $kaUserID}}
Files
incoming_ids incomingAppFieldID
file_find_ids appID itemID "search" // where search can be an empty string,
file_clone fileID itemID // ! We assume [email protected] has access to both the original file and the target item
file_delete fileID
Meer info
Meer info kan je vinden via deze links:
Datatypes: http://masterminds.github.io/sprig/
Syntax: https://regisphilibert.com/blog/2017/04/hugo-cheat-sheet-go-template-translator/