Hilfe & Wissen Welche Template Funktionen gibt es?

Welche Template Funktionen gibt es?

kjm.landingpage

Beispiel

kjm.landingpage("landingpagename")

Definition und Benutzung

kjm.landingpage gibt die passende URL einer Landingpage zurück. Ist ein UserGuid oder eine MailingID gesetzt, dann wird die automatisch der URL hinzugefügt.

Syntax

kjm.landingpage(landingpage_name)

kjm.quote

Beispiel

kjm.quote("string")

Definition und Benutzung

kjm.quote urlencoded den String. "hallo " wird konvertiert zu "hallo%20"

Syntax

kjm.quote(string)

kjm.quote_plus

Beispiel

kjm.quote_plus("string")

Definition und Benutzung

kjm.quote_plus wie quote aber ersetzt auch ' ' mit '+', wie man es für HTML form values braucht. Plus signs im Orginal string werden escaped, es sei denn sie können sicher inkludiert werden. Es konvertiert auch '/' zu '%2F'

Syntax

kjm.quote_plus(string)

kjm.json_dumps

Beispiel

kjm.json_dumps({"key": "value"})


<script>
  var test = [[raw kjm.json_dumps("test") ]];
</script>

wird zu 

<script>
  var test = "test";
</script>

Definition und Benutzung

kjm.json_dumps verwandelt das Object in einen json String. Wenn es ein String ist dann wird es so gedumped das man es als Javacsript variable verwenden kann. Wenn man es als Variable verwendet werden soll, muss man raw verwenden, um das Autoescape Feature abzuschalten.

Syntax

kjm.json_dumps(object_or_string)

kjm.json_loads

Beispiel

kjm.json_loads('{"key": "value"}')

Definition und Benutzung

kjm.json_loads lädt einen Json string in ein Object

Syntax

kjm.json_loads(string)

kjm.str

Beispiel

kjm.str(10)

Definition und Benutzung

kjm.str Gibt ein String zurück.

Syntax

kjm.str(strOrIntOrObject)

kjm.modulo

Beispiel

kjm.modulo(9,4)

Definition und Benutzung

kjm.modulo Gibt ein Integer zurück: a % b. Versucht die Inputs in integer umzuwandeln (default=0).

Syntax

kjm.modulo(strOrInt,strOrInt)

kjm.arguments

Beispiel

kjm.strOrIntOrObject()

<script>
  var request = [[raw kjm.json_dumps(kjm.arguments())]];
</script>

wird für `http://youurl/l/landingpageguid.html?test=10` zu:

<script>
  var request = {"method": "GET", vars: {"test": "10"}}
</script>

Definition und Benutzung

kjm.arguments gibt die GET oder POST argumente zurück.

Syntax

kjm.arguments()

kjm.signature

Beispiel

var sig = [[raw kjm.json_dumps(kjm.signature('POST', '/signature/users', 'email=&firstname=&cnf=0&user1=demo&x_kjm_fix=cnf,user1,listnum&listnum=2')) ]]; 

kommt folgende HTML zurück

var sig = {"method": "POST", "uri": "http://yoururl/apisignature/signature/users", "params": {"cnf": "0", "email": "", "firstname": "", "listnum": "2", "user1": "demo", "x_kjm_fix": ["cnf", "user1", "listnum"], "x_kjm_sig": "asignatureforediting", "x_kjm_time": 1526652960}};

In diesem Fall kann ein User erstellt werden mit dem Feld `email,firstname` welches editierbar ist und `cnf,listnum,user1` müssen auf den Werten gesetzt bleiben.

Definition und Benutzung

kjm.signature gibt die Passende Signature zurück um User mit bestimmten Variablen anzulegen oder upzudaten.

Syntax

kjm.signature(method, base_url, params)    

kjm.environment

Beispiel

kjm.environment()

Definition und Benutzung

kjm.environment Gibt das aktuelle Environment zurück. Als Rückgabeparameter gibt es mailing, readonline, landingpage

Syntax

kjm.environment()

kjm.strip

Beispiel

kjm.strip("hallo ")

Definition und Benutzung

kjm.strip Strippt die Leerzeichen vorne unt hinten weg.

Syntax

kjm.strip(string)

kjm.split

Beispiel

kjm.split("ha.llo", ".")

Definition und Benutzung

kjm.split splittet den string anhand des delimiter

Syntax

kjm.strip(string, delimiter)

kjm.ident

Beispiel

kjm.ident(%_f%).get('firstname')

Definition und Benutzung

kjm.ident gibt einfach das Object zurück und man kann dann weitere funktionen verwenden.

Syntax

kjm.ident(object)

kjm.enumerate

Beispiel

[for (%_counter%,%_f%) in kjm.enumerate(['a','b']) ]
  %_counter%: %_f%
[/for]

Definition und Benutzung

kjm.enumerate enumeriert ein Array und gibt gleichzeitg noch zusätzlich den counter aus

Syntax

kjm.enumerate(array)

kjm.mark_last

Beispiel

[for (%_f%, %_is_last%) in kjm.mark_last(['a','b']) ]
  %_is_last%: %_f%
[/for]

Definition und Benutzung

kjm.mark_kast markiert das letzte Element eines Arrays.

Syntax

kjm.mark_last(array)

kjm.capwords

Beispiel

kjm.capwords("max mustermann ") => "Max Mustermann"

Definition und Benutzung

kjm.capwords stript leerzeichen am Anfang und Ende und verwandelt alle Wörter in Großschreibung.

Syntax

kjm.capwords(string)

rss_feed

Beispiel

[for %_f% in kjm.rss_feed('https://www.businessinsider.de/wirtschaft/feed/', ['rss', 'channel', 'item'], 3)]
  [[ kjm.ident(%_f%).get('title').get('$') ]]
[/for]

Definition und Benutzung

kjm.feed holt einen Feed von der url, parsed then path, und der letzte Parameter ist wieviele FeedElement geholt werden sollen. Alle Parameter sind Pflicht gibt es weniger Element als limit dann werden weniger geholt. In dem Beispiel sieht der Feed folgendermaßen aus. Der Path zu dem Item ist also ['rss', 'channel', 'item']

<rss>
  <channel>
    <item>
      <title>First</title>
    </item>
    <item>
      <title>Second</title>
    </item>
  </channel>
</rss>

Syntax

kjm.rss_feed(url, path, limit)

kjm_empty

Beispiel

[[ kjm.empty(kjm.ident(%_test%).append('newitem')) ]]

Definition und Benutzung

Gibt einen leeren String zurück.

Syntax

kjm.empty(variable_or_function)

kjm.change_var

Beispiel

[[ kjm.empty(kjm.change_var(%_test%,0,'newvalue')) ]]

Definition und Benutzung

Ändert den Wert einer Liste oder Dictionary

Syntax

kjm.change_var(list_or_dict, index, value)

kjm.get_var

Beispiel

[[ kjm.get_var(%_test%, 0) ]]

Definition und Benutzung

Gibt den Wert einer Liste oder Dictionary zurück. Bei Dictionaries kann auch kjm.ident(%dict%).get('as') verwendet werden.

Syntax

kjm.get_var(list_or_dict, index)

kjm.lower

Beispiel

[[ kjm.lower(%_test%) ]]

Definition und Benutzung

Gibt den lowercase einer Variable zurück

Syntax

kjm.lower(var)

kjm.sha256

Beispiel

[[ kjm.sha256('test') ]]

Definition und Benutzung

Gibt den hexdigest einer sha256 Verschlüsselung zurück

Syntax

kjm.sha256(string)

kjm.sha256_digest

Beispiel

[[ kjm.sha256_digest('test') ]]

Definition und Benutzung

Gibt den digest einer sha256 Verschlüsselung zurück. Achtung hat den type bytes

Syntax

kjm.sha256_digest(string)

kjm.substr

Beispiel

[[ kjm.substr('test', 0,1) ]]

Definition und Benutzung

Gibt den Substring zurück

Syntax

kjm.substr(string, start, length)

kjm.sublist

Beispiel

[[ kjm.sublist(%list%, 0,1) ]]

Definition und Benutzung

Gibt eine subliste zurück

Syntax

kjm.sublist(list, start, length)

kjm.len

Beispiel

[[ kjm.len(%list%) ]]

Definition und Benutzung

Gibt die Länge des Strings oder liste zurück. Ist es kein String oder Liste gibt er -1 zurück

Syntax

kjm.len(str_or_list)

kjm.b64encode

Beispiel

[[ kjm.b64encode(%list%) ]]

Definition und Benutzung

Encodiert einen String base64

Syntax

kjm.b64encode(str_or_bytes)

kjm.iso8601todatetime

Beispiel

[[ kjm.iso8601_to_datetime(%datesent%).strftime('%Y-%m-%d %H:%M') ]]

Definition und Benutzung

Convertiert einen ISO_8601 String zur lokal datetime unseres Servers

Syntax

kjm.iso8601_to_datetime(iso8601_string)

kjm.tuple

Beispiel

[[ kjm.tuple(1,2,3,4) ]]

Definition und Benutzung

Gibt ein Tuple zurück

Syntax

kjm.tuple(*variables)

kjm.bonuscode

Beispiel

[[ kjm.bonuscode('gutschein') ]]

Definition und Benutzung

Gibt ein Bonuscode für den Type gutschein, für diesen User zurück, und reserviert ihn für diesen User

Syntax

kjm.bonuscode(type_of_bonuscode)

kjm.pubdateto_datetime

Beispiel

[[ kjm.pub_date_to_datetime('Thu, 20 Oct 2022 04:00:00 GMT', 'Europe/Berlin').strftime('%Y-%m-%d %H:%M') ]]

Definition und Benutzung

Wandelt bsp. das pubDate eines rss_feeds in eine datetime object um. Die Standard Timezone wenn der 2 Parameter weggelassen wird, ist 'Europe/Berlin'.

Syntax

kjm.pub_date_to_datetime(pubdate_as_string, timezone_optional)

kjm.fetch_data

Beispiel

[[ kjm.get_var(kjm.fetch_data('https://price.api.to/items/12', ['Price'], 1, {"accept": "application/json", "Authorization":"Authorization"}), 0) ]]

Definition und Benutzung

Die Funktion kjm.fetchdata ruft den Inhalt einer URL ab und formatiert diesen in das JSON-Format um. Dabei unterstützt sie auch HTML und XML. Falls die API oder die URL JSON-Daten zurückgibt, muss der Header auf {"accept": "application/json"} gesetzt sein. In unserem speziellen Fall beziehen wir uns auf den Pfad ['Price'] für den Preiswert. Da immer ein Array zurückgegeben wird, verwenden wir kjm.getvar(var, 0), um das erste Element daraus zu extrahieren.

{"Price": 25.00, ....}

Syntax

kjm.fetch_data(url, path, limit, headers[optional])

kjm.format

Beispiel

kjm.format("%.2f", 2)
kjm.format("Hallo %s, wie geht es dir?", %firstname%)

Definition und Benutzung

Die Funktion konvertiert unterschiedliche Datenformate in Strings um. Im ersten Beispiel ergibt sich der String 2.00 als Ausgabe. Im zweiten Beispiel wird Hallo Nikolai, wie geht es dir? erzeugt.

Syntax

kjm.format(format, path, limit, headers[optional])

kjm.replace

Beispiel

kjm.replace(".", ",", "2.00")

Definition und Benutzung

Ersetzt ein String durch einen anderen.

Syntax

kjm.replace(old, new, string)