summaryrefslogtreecommitdiffstats
path: root/Arguments.md
blob: 801adba42a28df9352be2efd2c58d4582123a089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
This document explains how to use the optional field for arguments in the content editor. This field can contain a list of arguments as key or key/value pairs formatted as follows:

`FOO=value|BAR=value` (or `FOO=value|BAR`; `BAR` will be automatically set to `TRUE`).

## How to access arguments in a template
Lets assume that your argument string for a specific post is something like this:

~~~
HIGHLIGHT|PREVIEW_IMG=foobar.png
~~~

You can now access the entire (unparsed) argument string in templates with `$POST['ATTR']['ARGV']` (see template documentation for more information). This contains the unparsed argument string as he was written into the content editor. You also can access a parsed version of the arguments as key->value array with `$POST['ARGV']`:

### Unparsed: `$POST['ATTR']['ARGV']`
	string(32) "HIGHLIGHT|PREVIEW_IMG=foobar.png"

### Parsed: `$POST['ARGV']`
	array(2) {
		["HIGHLIGHT"]=>
		bool(true)
		["PREVIEW_IMG"]=>
		string(10) "foobar.png"
	}

## How this arguments can be used to do something special
If you are a template developer, you can check within your templates if the argument `HIGHLIGHT` is present (arguments with no explicit value will be automatically set to boolean `TRUE`). If set, you can highlight this post differently. Just check if this value is set and add an extra CSS class to your HTML markup which then will highlight your post.

You can even add a preview image functionality. Lets assume you want to show a preview image for each post in the list? There is no core functionality to do this, but with the argument functionality you can do this very simple:

	<?php if(isset($POST['ARGV']['PREVIEW_IMG'])): ?>
		<img class="preview-img" href="<?=Application::getFileURL("images/preview/{$POST['ARGV']['PREVIEW_IMG']}")?>" alt="" />
	<?php endif; ?>

## Syntax
Each argument key (the part before the `=`) must only contain letters from `A-Z`, `a-z`, `0-9` and underscores (`_`)!

## Conclusion
The use cases of these arguments are practically unlimited. Please note that the templates of the `default` theme are not using any arguments provided in the argument field. It is up **to you** whether you implement this in your own template to do something special or not!