diff --git a/Quick-Template-Guide.md b/Quick-Template-Guide.md index 3331e00..37f5324 100644 --- a/Quick-Template-Guide.md +++ b/Quick-Template-Guide.md @@ -1,9 +1,11 @@ friendica has a template system. We are trying to separate html from php (wich is also a good think if we want a mobile teme). This template system allows variables substitution, a minimal logic and possibility to include a template in another template. -In 'view' folder there are some template for form fields, ready to be included, so that every form looks the same throughout the site. +In 'view/templates' folder there are some template for form fields, ready to be included, so that every form looks the same throughout the site. #A quick guide# -##1 - template syntax.### +##1 - template syntax. OBSOLETE### + +**Friendica default template engine is now Smarty3. Refer to smarty3 documentation** ###Variables### @@ -81,12 +83,17 @@ example: In friendica, templates are used with two functions: - get_markup_template($templatename); + get_markup_template($templatename, [$root]); replace_macro($tpl, $array); -The first function search _$templatename_ in _view/theme/$currenttheme_ and _view/_ and return its content. +_get_markup_template()_ search _$templatename_ in _$root/theme/templates/$currenttheme_ and _$root/templates_ and return its content. If _$root_ is not defined, defaults to _view/_ -The second replace _$array_ in template content. +Addons can load custom templates saving template files in _templates/_ subfolder, and calling _get_markup_template()_ with plugin relative path as _$root_: + + $tpl = get_markup_template("mytemplate.tpl", "addon/myplugin/"); + + +_replace_macro()_ replace _$array_ in template content. file: test.tpl Hello $name! {{ if $isback }} Welcome back! {{ endif }} @@ -105,7 +112,7 @@ result: ##Form fields templates## -In view/ folder there are many template for form fields. +In view/template folder there are many template for form fields. - **field_input.tpl**: prints a text input - **field_password.tpl**: prints a password input @@ -143,7 +150,4 @@ The $field var is an array: - field_select_raw: prebuild html string of < option > tags - field_yesno: custom labels for OFF and ON in array ("label off","label on" -A trick in addons to load a template from addon folder: - in addon/myaddon/myaddon.php - $tpl = file_get_content(dirname(__file__)."/mytemplate.tpl";