From 1bff6b9774a6acba7f7925750c52140b4c7bd95c Mon Sep 17 00:00:00 2001 From: adezm Date: Tue, 18 Sep 2007 17:45:46 +0000 Subject: [PATCH] Typos correction and all translated now. --- .../language-escaping.xml | 91 ++ .../language-basic-syntax/language-math.xml | 54 ++ .../language-syntax-attributes.xml | 61 ++ .../language-syntax-comments.xml | 106 +++ .../language-syntax-functions.xml | 84 ++ .../language-syntax-quotes.xml | 90 ++ .../language-syntax-variables.xml | 84 ++ .../language-function-capture.xml | 139 +++ .../language-function-config-load.xml | 183 ++++ .../language-function-foreach.xml | 459 ++++++++++ .../language-function-if.xml | 263 ++++++ .../language-function-include-php.xml | 148 ++++ .../language-function-include.xml | 216 +++++ .../language-function-insert.xml | 160 ++++ .../language-function-ldelim.xml | 97 ++ .../language-function-literal.xml | 102 +++ .../language-function-php.xml | 82 ++ .../language-function-section.xml | 826 ++++++++++++++++++ .../language-function-strip.xml | 85 ++ .../language-function-assign.xml | 158 ++++ .../language-function-counter.xml | 126 +++ .../language-function-cycle.xml | 153 ++++ .../language-function-debug.xml | 66 ++ .../language-function-eval.xml | 155 ++++ .../language-function-fetch.xml | 139 +++ .../language-function-html-checkboxes.xml | 236 +++++ .../language-function-html-image.xml | 163 ++++ .../language-function-html-options.xml | 279 ++++++ .../language-function-html-radios.xml | 223 +++++ .../language-function-html-select-date.xml | 347 ++++++++ .../language-function-html-select-time.xml | 223 +++++ .../language-function-html-table.xml | 247 ++++++ .../language-function-mailto.xml | 171 ++++ .../language-function-math.xml | 203 +++++ .../language-function-popup-init.xml | 85 ++ .../language-function-popup.xml | 442 ++++++++++ .../language-function-textformat.xml | 296 +++++++ .../language-modifier-capitalize.xml | 96 ++ .../language-modifier-cat.xml | 84 ++ .../language-modifier-count-characters.xml | 96 ++ .../language-modifier-count-paragraphs.xml | 71 ++ .../language-modifier-count-sentences.xml | 69 ++ .../language-modifier-count-words.xml | 66 ++ .../language-modifier-date-format.xml | 287 ++++++ .../language-modifier-default.xml | 111 +++ .../language-modifier-escape.xml | 159 ++++ .../language-modifier-indent.xml | 127 +++ .../language-modifier-lower.xml | 67 ++ .../language-modifier-nl2br.xml | 69 ++ .../language-modifier-regex-replace.xml | 106 +++ .../language-modifier-replace.xml | 105 +++ .../language-modifier-spacify.xml | 98 +++ .../language-modifier-string-format.xml | 98 +++ .../language-modifier-strip-tags.xml | 99 +++ .../language-modifier-strip.xml | 75 ++ .../language-modifier-truncate.xml | 129 +++ .../language-modifier-upper.xml | 65 ++ .../language-modifier-wordwrap.xml | 143 +++ .../language-assigned-variables.xml | 203 +++++ .../language-config-variables.xml | 119 +++ .../language-variables-smarty.xml | 227 +++++ .../advanced-features-objects.xml | 142 +++ .../advanced-features-outputfilters.xml | 80 ++ .../advanced-features-postfilters.xml | 73 ++ .../advanced-features-prefilters.xml | 72 ++ .../section-template-cache-handler-func.xml | 191 ++++ .../advanced-features/template-resources.xml | 261 ++++++ .../api-functions/api-append-by-ref.xml | 71 ++ .../programmers/api-functions/api-append.xml | 77 ++ .../api-functions/api-assign-by-ref.xml | 76 ++ .../programmers/api-functions/api-assign.xml | 98 +++ .../api-functions/api-clear-all-assign.xml | 66 ++ .../api-functions/api-clear-all-cache.xml | 60 ++ .../api-functions/api-clear-assign.xml | 60 ++ .../api-functions/api-clear-cache.xml | 81 ++ .../api-functions/api-clear-compiled-tpl.xml | 69 ++ .../api-functions/api-clear-config.xml | 65 ++ .../api-functions/api-config-load.xml | 82 ++ .../programmers/api-functions/api-display.xml | 114 +++ .../programmers/api-functions/api-fetch.xml | 157 ++++ .../api-functions/api-get-config-vars.xml | 66 ++ .../api-get-registered-object.xml | 64 ++ .../api-functions/api-get-template-vars.xml | 67 ++ .../api-functions/api-is-cached.xml | 133 +++ .../api-functions/api-load-filter.xml | 70 ++ .../api-functions/api-register-block.xml | 91 ++ .../api-register-compiler-function.xml | 58 ++ .../api-functions/api-register-function.xml | 92 ++ .../api-functions/api-register-modifier.xml | 74 ++ .../api-functions/api-register-object.xml | 53 ++ .../api-register-outputfilter.xml | 55 ++ .../api-functions/api-register-postfilter.xml | 57 ++ .../api-functions/api-register-prefilter.xml | 57 ++ .../api-functions/api-register-resource.xml | 98 +++ .../api-functions/api-template-exists.xml | 92 ++ .../api-functions/api-trigger-error.xml | 52 ++ .../api-functions/api-unregister-block.xml | 49 ++ .../api-unregister-compiler-function.xml | 47 + .../api-functions/api-unregister-function.xml | 57 ++ .../api-functions/api-unregister-modifier.xml | 57 ++ .../api-functions/api-unregister-object.xml | 42 + .../api-unregister-outputfilter.xml | 46 + .../api-unregister-postfilter.xml | 44 + .../api-unregister-prefilter.xml | 44 + .../api-functions/api-unregister-resource.xml | 59 ++ .../variable-autoload-filters.xml | 52 ++ .../api-variables/variable-cache-dir.xml | 69 ++ .../variable-cache-handler-func.xml | 33 + .../api-variables/variable-cache-lifetime.xml | 67 ++ .../variable-cache-modified-check.xml | 44 + .../api-variables/variable-caching.xml | 81 ++ .../api-variables/variable-compile-check.xml | 47 + .../api-variables/variable-compile-dir.xml | 56 ++ .../api-variables/variable-compile-id.xml | 69 ++ .../api-variables/variable-compiler-class.xml | 30 + .../variable-config-booleanize.xml | 36 + .../api-variables/variable-config-dir.xml | 40 + .../variable-config-fix-newlines.xml | 30 + .../variable-config-overwrite.xml | 75 ++ .../variable-config-read-hidden.xml | 33 + .../api-variables/variable-debug-tpl.xml | 36 + .../api-variables/variable-debugging-ctrl.xml | 54 ++ .../api-variables/variable-debugging.xml | 49 ++ .../variable-default-modifiers.xml | 34 + .../variable-default-resource-type.xml | 33 + ...variable-default-template-handler-func.xml | 29 + .../variable-error-reporting.xml | 41 + .../api-variables/variable-force-compile.xml | 36 + .../api-variables/variable-left-delimiter.xml | 36 + .../api-variables/variable-php-handling.xml | 61 ++ .../api-variables/variable-plugins-dir.xml | 78 ++ .../variable-request-use-auto-globals.xml | 42 + .../variable-request-vars-order.xml | 35 + .../variable-right-delimiter.xml | 35 + .../api-variables/variable-secure-dir.xml | 54 ++ .../variable-security-settings.xml | 75 ++ .../api-variables/variable-security.xml | 66 ++ .../api-variables/variable-template-dir.xml | 41 + .../api-variables/variable-trusted-dir.xml | 33 + .../api-variables/variable-use-sub-dirs.xml | 71 ++ .../programmers/caching/caching-cacheable.xml | 139 +++ .../id/programmers/caching/caching-groups.xml | 109 +++ .../caching/caching-multiple-caches.xml | 136 +++ .../caching/caching-setting-up.xml | 208 +++++ .../plugins/plugins-block-functions.xml | 127 +++ .../plugins/plugins-compiler-functions.xml | 97 ++ .../programmers/plugins/plugins-functions.xml | 130 +++ docs/id/programmers/plugins/plugins-howto.xml | 45 + .../programmers/plugins/plugins-inserts.xml | 71 ++ .../programmers/plugins/plugins-modifiers.xml | 116 +++ .../plugins/plugins-naming-conventions.xml | 95 ++ .../plugins/plugins-outputfilters.xml | 73 ++ .../plugins-prefilters-postfilters.xml | 117 +++ .../programmers/plugins/plugins-resources.xml | 168 ++++ .../programmers/plugins/plugins-writing.xml | 64 ++ 155 files changed, 16726 insertions(+) create mode 100644 docs/id/designers/language-basic-syntax/language-escaping.xml create mode 100644 docs/id/designers/language-basic-syntax/language-math.xml create mode 100644 docs/id/designers/language-basic-syntax/language-syntax-attributes.xml create mode 100644 docs/id/designers/language-basic-syntax/language-syntax-comments.xml create mode 100644 docs/id/designers/language-basic-syntax/language-syntax-functions.xml create mode 100644 docs/id/designers/language-basic-syntax/language-syntax-quotes.xml create mode 100644 docs/id/designers/language-basic-syntax/language-syntax-variables.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-capture.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-config-load.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-foreach.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-if.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-include-php.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-include.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-insert.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-ldelim.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-literal.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-php.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-section.xml create mode 100644 docs/id/designers/language-builtin-functions/language-function-strip.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-assign.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-counter.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-cycle.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-debug.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-eval.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-fetch.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-checkboxes.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-image.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-options.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-radios.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-select-date.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-select-time.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-html-table.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-mailto.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-math.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-popup-init.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-popup.xml create mode 100644 docs/id/designers/language-custom-functions/language-function-textformat.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-capitalize.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-cat.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-count-characters.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-count-paragraphs.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-count-sentences.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-count-words.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-date-format.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-default.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-escape.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-indent.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-lower.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-nl2br.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-regex-replace.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-replace.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-spacify.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-string-format.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-strip-tags.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-strip.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-truncate.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-upper.xml create mode 100644 docs/id/designers/language-modifiers/language-modifier-wordwrap.xml create mode 100644 docs/id/designers/language-variables/language-assigned-variables.xml create mode 100644 docs/id/designers/language-variables/language-config-variables.xml create mode 100644 docs/id/designers/language-variables/language-variables-smarty.xml create mode 100644 docs/id/programmers/advanced-features/advanced-features-objects.xml create mode 100644 docs/id/programmers/advanced-features/advanced-features-outputfilters.xml create mode 100644 docs/id/programmers/advanced-features/advanced-features-postfilters.xml create mode 100644 docs/id/programmers/advanced-features/advanced-features-prefilters.xml create mode 100644 docs/id/programmers/advanced-features/section-template-cache-handler-func.xml create mode 100644 docs/id/programmers/advanced-features/template-resources.xml create mode 100644 docs/id/programmers/api-functions/api-append-by-ref.xml create mode 100644 docs/id/programmers/api-functions/api-append.xml create mode 100644 docs/id/programmers/api-functions/api-assign-by-ref.xml create mode 100644 docs/id/programmers/api-functions/api-assign.xml create mode 100644 docs/id/programmers/api-functions/api-clear-all-assign.xml create mode 100644 docs/id/programmers/api-functions/api-clear-all-cache.xml create mode 100644 docs/id/programmers/api-functions/api-clear-assign.xml create mode 100644 docs/id/programmers/api-functions/api-clear-cache.xml create mode 100644 docs/id/programmers/api-functions/api-clear-compiled-tpl.xml create mode 100644 docs/id/programmers/api-functions/api-clear-config.xml create mode 100644 docs/id/programmers/api-functions/api-config-load.xml create mode 100644 docs/id/programmers/api-functions/api-display.xml create mode 100644 docs/id/programmers/api-functions/api-fetch.xml create mode 100644 docs/id/programmers/api-functions/api-get-config-vars.xml create mode 100644 docs/id/programmers/api-functions/api-get-registered-object.xml create mode 100644 docs/id/programmers/api-functions/api-get-template-vars.xml create mode 100644 docs/id/programmers/api-functions/api-is-cached.xml create mode 100644 docs/id/programmers/api-functions/api-load-filter.xml create mode 100644 docs/id/programmers/api-functions/api-register-block.xml create mode 100644 docs/id/programmers/api-functions/api-register-compiler-function.xml create mode 100644 docs/id/programmers/api-functions/api-register-function.xml create mode 100644 docs/id/programmers/api-functions/api-register-modifier.xml create mode 100644 docs/id/programmers/api-functions/api-register-object.xml create mode 100644 docs/id/programmers/api-functions/api-register-outputfilter.xml create mode 100644 docs/id/programmers/api-functions/api-register-postfilter.xml create mode 100644 docs/id/programmers/api-functions/api-register-prefilter.xml create mode 100644 docs/id/programmers/api-functions/api-register-resource.xml create mode 100644 docs/id/programmers/api-functions/api-template-exists.xml create mode 100644 docs/id/programmers/api-functions/api-trigger-error.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-block.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-compiler-function.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-function.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-modifier.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-object.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-outputfilter.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-postfilter.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-prefilter.xml create mode 100644 docs/id/programmers/api-functions/api-unregister-resource.xml create mode 100644 docs/id/programmers/api-variables/variable-autoload-filters.xml create mode 100644 docs/id/programmers/api-variables/variable-cache-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-cache-handler-func.xml create mode 100644 docs/id/programmers/api-variables/variable-cache-lifetime.xml create mode 100644 docs/id/programmers/api-variables/variable-cache-modified-check.xml create mode 100644 docs/id/programmers/api-variables/variable-caching.xml create mode 100644 docs/id/programmers/api-variables/variable-compile-check.xml create mode 100644 docs/id/programmers/api-variables/variable-compile-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-compile-id.xml create mode 100644 docs/id/programmers/api-variables/variable-compiler-class.xml create mode 100644 docs/id/programmers/api-variables/variable-config-booleanize.xml create mode 100644 docs/id/programmers/api-variables/variable-config-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-config-fix-newlines.xml create mode 100644 docs/id/programmers/api-variables/variable-config-overwrite.xml create mode 100644 docs/id/programmers/api-variables/variable-config-read-hidden.xml create mode 100644 docs/id/programmers/api-variables/variable-debug-tpl.xml create mode 100644 docs/id/programmers/api-variables/variable-debugging-ctrl.xml create mode 100644 docs/id/programmers/api-variables/variable-debugging.xml create mode 100644 docs/id/programmers/api-variables/variable-default-modifiers.xml create mode 100644 docs/id/programmers/api-variables/variable-default-resource-type.xml create mode 100644 docs/id/programmers/api-variables/variable-default-template-handler-func.xml create mode 100644 docs/id/programmers/api-variables/variable-error-reporting.xml create mode 100644 docs/id/programmers/api-variables/variable-force-compile.xml create mode 100644 docs/id/programmers/api-variables/variable-left-delimiter.xml create mode 100644 docs/id/programmers/api-variables/variable-php-handling.xml create mode 100644 docs/id/programmers/api-variables/variable-plugins-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-request-use-auto-globals.xml create mode 100644 docs/id/programmers/api-variables/variable-request-vars-order.xml create mode 100644 docs/id/programmers/api-variables/variable-right-delimiter.xml create mode 100644 docs/id/programmers/api-variables/variable-secure-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-security-settings.xml create mode 100644 docs/id/programmers/api-variables/variable-security.xml create mode 100644 docs/id/programmers/api-variables/variable-template-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-trusted-dir.xml create mode 100644 docs/id/programmers/api-variables/variable-use-sub-dirs.xml create mode 100644 docs/id/programmers/caching/caching-cacheable.xml create mode 100644 docs/id/programmers/caching/caching-groups.xml create mode 100644 docs/id/programmers/caching/caching-multiple-caches.xml create mode 100644 docs/id/programmers/caching/caching-setting-up.xml create mode 100644 docs/id/programmers/plugins/plugins-block-functions.xml create mode 100644 docs/id/programmers/plugins/plugins-compiler-functions.xml create mode 100644 docs/id/programmers/plugins/plugins-functions.xml create mode 100644 docs/id/programmers/plugins/plugins-howto.xml create mode 100644 docs/id/programmers/plugins/plugins-inserts.xml create mode 100644 docs/id/programmers/plugins/plugins-modifiers.xml create mode 100644 docs/id/programmers/plugins/plugins-naming-conventions.xml create mode 100644 docs/id/programmers/plugins/plugins-outputfilters.xml create mode 100644 docs/id/programmers/plugins/plugins-prefilters-postfilters.xml create mode 100644 docs/id/programmers/plugins/plugins-resources.xml create mode 100644 docs/id/programmers/plugins/plugins-writing.xml diff --git a/docs/id/designers/language-basic-syntax/language-escaping.xml b/docs/id/designers/language-basic-syntax/language-escaping.xml new file mode 100644 index 00000000..7249fc4b --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-escaping.xml @@ -0,0 +1,91 @@ + + + + Escaping Penguraian Smarty + + Ada kalanya diinginkan atau bahkan perlu agar Smarty mengabaikan seksi + atau sebaliknya akan diuraikan. Contoh klasi adalah melengketkan kode + Javascript atau CSS dalam sebuah template. Masalah muncul karena bahasa + tersebut menggunakan karakter { dan } yang juga merupakan + pembatas standar untuk + Smarty. + + + + Hal paling sederhana untuk menghindari situasi sekaligus adalah dengan + memisahkan kode Javascript dan CSS anda ke dalam filenya sendiri dan + kemudian menggunakan metode standar HTML untuk mengaksesnya. + + + + Menyertakan konten literal dimungkinkan dengan menggunakan blok + {literal}..{/literal}. + Mirip dengan penggunaan entitas HTML, anda bisa memakai {ldelim},{rdelim} atau + + {$smarty.ldelim} untuk menampilkan pembatas saat + ini. + + + + Seringkali lebih nyaman dengan cukup mengubah + $left_delimiter dan + + $right_delimiter Smarty. + + + contoh mengubah pembatas + +left_delimiter = ''; + +$smarty->assign('foo', 'bar'); +$smarty->assign('name', 'Albert'); +$smarty->display('example.tpl'); + +?> +]]> + + + Di mana template adalah: + + + to Smarty + +]]> + + + + diff --git a/docs/id/designers/language-basic-syntax/language-math.xml b/docs/id/designers/language-basic-syntax/language-math.xml new file mode 100644 index 00000000..da787ace --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-math.xml @@ -0,0 +1,54 @@ + + + + Matematika + + Matematika dapat diterapkan secara langsung ke nilai variabel. + + + contoh matematika + +bar-$bar[1]*$baz->foo->bar()-3*7} + +{if ($foo+$bar.test%$baz*134232+10+$b+10)} + +{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} + +{assign var="foo" value="`$foo+$bar`"} +]]> + + + + + Lihat juga fungsi + {math} untuk persamaan yang kompleks dan + {eval}. + + + diff --git a/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml new file mode 100644 index 00000000..9649e5a3 --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml @@ -0,0 +1,61 @@ + + + + Atribut + + Kebanyakan fungsi + memerlukan atribut yang menetapkan atau mengubah perilakunya. Atribut + bagi fungsi Smarty lebih mirip atribut HTML. Nilai statis tidak perlu + ditutup dengan tanda kutip, tapi direkomendasikan untuk string literal. + Variabel bisa juga dipakai, dan tidak boleh dalam tanda kutip. + + + Beberapa atribut memerlukan nilai boolean (&true; atau &false;). Ini dapat + ditetapkan sebagai tanpa tanda kutip true, + on, dan yes, atau + false, off, dan + no. + + + sintaks atribut fungsi + + + {html_options options=$companies selected=$company_id} + +]]> + + + + diff --git a/docs/id/designers/language-basic-syntax/language-syntax-comments.xml b/docs/id/designers/language-basic-syntax/language-syntax-comments.xml new file mode 100644 index 00000000..c154eef5 --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-syntax-comments.xml @@ -0,0 +1,106 @@ + + + + Komentar + + Komentar template dikelilingi oleh bintang, dan ditutup oleh tag + pembatas + seperti: + + + + + + + + Komentar Smarty TIDAK ditampilkan dalam output template final, tidak seperti + <!-- HTML comments -->. + Ini berguna untuk membuat catatan internal dalam template yang tak seorangpun + akan melihatnya ;-) + + + Komentar di dalam template + + + +{$title} + + + +{* komentar smarti satu baris lainnya *} + + +{* ini komentar smarty + multi baris + tidak dikirimkan ke browser +*} + +{********************************************************* +Blok komentar multi baris dengan blok penghargaan + @ pembuat: bg@example.com + @ pemeliharan support@example.com + @ para: var yang menetapkan gaya blok + @ css: gaya output +**********************************************************} + +{* File header dengan logo utama dan lainnya *} +{include file='header.tpl'} + + +{* Catatan Dev: var $includeFile ditempatkan dalam naskah foo.php *} + +{include file=$includeFile} + +{* blok + {html_options options=$vals selected=$selected_id} + +*} + + +{* $affiliate|upper *} + +{* you cannot nest comments *} +{* + +*} + + +{* tag cvs untuk template, di bawah 36 HARUS kurs amerika +. akan tetapi ia diubah dalam cvs.. *} +{* $Id: Exp $ *} +{* $Id: *} + + +]]> + + + + diff --git a/docs/id/designers/language-basic-syntax/language-syntax-functions.xml b/docs/id/designers/language-basic-syntax/language-syntax-functions.xml new file mode 100644 index 00000000..e2aca0be --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-syntax-functions.xml @@ -0,0 +1,84 @@ + + + + Fungsi + + Setiap tag Smarty bisa mencetak + variabel ataupun memanggil beberapa + fungsi. Ini diproses dan ditampilkan dengan menutupi fungsi dan + atributnya + di dalam pembatas seperti: + {funcname attr1='val1' attr2='val2'}. + + + sintaks fungsi + +{$name}! +{else} + hi, {$name} +{/if} + +{include file='footer.tpl' ad=$random_id} +]]> + + + + + + Kedua fungsi built-in + dan fungsi kustom + mempunyai sintaks yang sama di dalam template. + + + Fungsi built-in adalah + inner pekerjaan Smarty, seperti + {if}, + {section} dan + {strip}. + Tidak diperlukan untuk mengubah atau memodifikasinya. + + + Fungsi kustom adalah fungsi + tambahan + yang diimplementasikan via plugins. + Ini dapat diubah sesuai dengan yang anda sukai, atau anda bisa membuat yang + baru, + + {html_options} dan + {popup} + adalah contoh dari fungsi kustom. + + + + + Lihat juga register_function() + + + + diff --git a/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml new file mode 100644 index 00000000..8c1ac5f5 --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml @@ -0,0 +1,90 @@ + + + + Menyertakan Vars dalam Tanda Kutip Ganda + + + + + Smarty akan mengenali variabel + yang ditempati yang disertakan dalam + "tanda kutip ganda" selama nama variabel hanya berisi angka, huruf, garis bawah, + dan kurung[]. + Lihat penamaan + untuk lebih jelasnya. + + + + Dengan karakter lainnya, contohnya .titik atau + $object>referensi, maka variabel harus dikelilingi oleh + `tanda kutip mundur`. + + + Anda tidak bisa menyertakan + pengubah, ia harus selalu diterapkan + di luar tanda kutip. + + + + + Contoh sintaks + + + + + + + Contoh praktis + + + + + + + Lihat juga escape. + + + + diff --git a/docs/id/designers/language-basic-syntax/language-syntax-variables.xml b/docs/id/designers/language-basic-syntax/language-syntax-variables.xml new file mode 100644 index 00000000..858ff584 --- /dev/null +++ b/docs/id/designers/language-basic-syntax/language-syntax-variables.xml @@ -0,0 +1,84 @@ + + + + Variabel + + Variabel template dimulai dengan tanda $dolar. Ia dapat berisi angka, + huruf dan garis bawah, lebih mirip + variabel PHP. + Anda bisa mereferensi array dengan indeks secara numerik atau non-numerik. + Juga referensi properi dan metode obyek. + + Variabel file config + adalah kekecualian untuk sintaks $dolar dan sebaliknya direferensi dengan + sekeliling #tanda kris#, atau via variabel + + $smarty.config. + + + Variabel + +bar} <-- menampilkan properti obyek "bar" +{$foo->bar()} <-- menampilkan pengembalian nilai metode obyek "bar" +{#foo#} <-- menampilkan variabel file config "foo" +{$smarty.config.foo} <-- persamaan untuk {#foo#} +{$foo[bar]} <-- sintaks hanya benar dalam pengulangan, lihat {section} +{assign var=foo value='baa'}{$foo} <-- menampilkan "baa", lihat {assign} + +Banyak kombinasi lain yang dibolehkan + +{$foo.bar.baz} +{$foo.$bar.$baz} +{$foo[4].baz} +{$foo[4].$baz} +{$foo.bar.baz[4]} +{$foo->bar($baz,2,$bar)} <-- mengirimkan parameter +{"foo"} <-- nilai statis dibolehkan + +{* menampilkan variabel server "SERVER_NAME" ($_SERVER['SERVER_NAME'])*} +{$smarty.server.SERVER_NAME} +]]> + + + + Request variables such as $_GET, + $_SESSION, etc are available via the + reserved + $smarty variable. + + + + Lihat juga + $smarty, + variabel config + {assign} + dan + assign(). + + + + diff --git a/docs/id/designers/language-builtin-functions/language-function-capture.xml b/docs/id/designers/language-builtin-functions/language-function-capture.xml new file mode 100644 index 00000000..2d4732b1 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-capture.xml @@ -0,0 +1,139 @@ + + + + {capture} + + + {capture} dipakai untuk mengumpulkan output template antara + tag ke dalam variable daripada menampilkannya. Setiap konten antara + {capture name='foo'} dan {/capture} + yang dikumpulkan ke dalam variabel ditetapkan dalam atribut + name. + + Konten yang ditangkap dapat digunakan dalam template dari variabel $smarty.capture.foo + di mana foo adalah nilai yang dikirimkan dalam atribut name. + Jika anda tidak menyertakan atribut name, maka + default akan dipakai sebagai nama misalnya + $smarty.capture.default. + + {capture}'s dapat diulang-ulang. + + + + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + no + default + The name of the captured block + + + assign + string + No + n/a + The variable name where to assign the captured output to + + + + + + + + Perhatian + + Harap berhati-hati ketika menangkap output {insert}. Jika + anda menghidupkan + $caching + dan anda mempunyai perintah + {insert} + yang anda harapkan untuk dijalankan di dalam konten yang di-cache, jangan + menangkap konten ini. + + + + + + {capture} dengan atribut nama + +{$smarty.capture.banner} +{/if} +]]> + + + + + {capture} ke dalam variabel template + Contoh ini juga memperlihatkan fungsi + {popup} + + + +IP anda adalah {$smarty.server.REMOTE_ADDR}. +{/capture} +bantuan +]]> + + + + + + + Lihat juga + $smarty.capture, + {eval}, + {fetch}, + fetch() + dan {assign}. + + + + \ No newline at end of file diff --git a/docs/id/designers/language-builtin-functions/language-function-config-load.xml b/docs/id/designers/language-builtin-functions/language-function-config-load.xml new file mode 100644 index 00000000..f5cd6e41 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-config-load.xml @@ -0,0 +1,183 @@ + + + + {config_load} + + {config_load} dipakai untuk mengambil + #variables# + konfig dari file konfigurasi ke dalam + template. + + + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + Nama file config untuk disertakan + + + section + string + No + n/a + Nama seksi untuk diambil + + + scope + string + no + lokal + + Bagaimana lingkup variabel yang diambil diperlakukan, yang harus berupa + lokal, parent atau global. Lokal berarti variabel diambil ke dalam konteks + template lokal. parent berarti variabel diambil ke dalam konteks lokal + dan template leluhur yang memanggilnya. + global berarti variabel tersedia bagi seluruh template. + + + + global + boolean + No + No + + Apakah variabel terlihat ke template leluhurnya atau tidak, + sama seperti scope=parent. CATATAN: Atribut ini tidak dipakai lagi + oleh atribut scope, tapi masih didukugn. Jika scope disertakan, + nilai ini diabaikan. + + + + + + + + {config_load} + + File example.conf. + + + + + dan template + + +{#pageTitle#|default:"No title"} + + + + + + + +
FirstLastAddress
+ + +]]> +
+
+ + File Config + dapat juga berisi seksi. Anda bisa mengambil variabel dari dalam seksi + dengan menambahkan atribut section. Catatan bahwa + variabel config global selalu diambil bersamaan dengan variabel seksi, + dan variabel seksi bernama-sama menimpa global. + + + + Seksi file config dan fungsi template built-in + memanggil {section} + tidak ada kaitannya dengan yang lain, itu terjadi untuk berbagi konvensi + penamaan umum. + + + + function {config_load} dengan seksi + + +{#pageTitle#} + + + + + + + +
FirstLastAddress
+ + +]]> +
+
+ + +Lihat $config_overwrite +untuk membuat arrays dari variabel file config. + + + + Lihat juga halaman config files, halaman + config variables, + $config_dir, + get_config_vars() + dan + config_load(). + +
+ + diff --git a/docs/id/designers/language-builtin-functions/language-function-foreach.xml b/docs/id/designers/language-builtin-functions/language-function-foreach.xml new file mode 100644 index 00000000..1fe3b633 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-foreach.xml @@ -0,0 +1,459 @@ + + + + {foreach},{foreachelse} + + {foreach} dipakai untuk mengulang terus-menerus melalui + array asosiatif juga array-diindeks secara + numerik, tidak seperti {section} + yang untuk mengulang melalui hanya array-diindeks secara numerik. + Sintaks untuk + {foreach} jauh lebih mudah daripada + {section}, + tapi sebagai imbalannya hanya bisa dipakai untuk array + tunggal. Setiap tag {foreach} harus + dipasangkan dengan tag {/foreach} penutup. + + + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + from + array + Yes + n/a + Array yang anda ulang terus + + + item + string + Yes + n/a + Nama variabel yang jadi elemen saat ini + + + key + string + No + n/a + Nama variabel yang saat ini jadi kunci + + + name + string + No + n/a + Nama perulangan foreach untuk mengakses properti + + + + + + + + + Atribut yang diperlukan adalah from dan item. + + + + Name dari pengulangan {foreach} + bisa apa saja yang anda sukai, terdiri dari huruf, angka dan garis bawah, + seperti + variabel PHP. + + + + Pengulangan {foreach} bisa diulang terus, dan nama + {foreach} yang diulang harus unik dari yang lain. + + + + Atribut from, biasanya sebuah array nilai, + menetapkan jumlah berapa kali {foreach} akan diulang. + + + + {foreachelse} dijalankan ketika tidak ada nilai dalam + variabel from. + + + + Pengulangan {foreach} juga memiliki variabelnya + sendiri yang menangani properti. Ini diakses dengan: + + {$smarty.foreach.name.property} dengan + name menjadi atribut + name. + + + Catatan + Atribut name hanya diperlukan saat anda ingin + mengakses properti {foreach}, tidak seperti + {section}. + Mengakses properti {foreach} dengan name + tidak terdefinisi tidak menimbulkan kesalahan, tapi sebaliknya + mengakibatkan hasil yang tidak diinginkan. + + + + + + Properti {foreach} adalah + index, + iteration, + first, + last, + show, + total. + + + + + + Atribut <parameter>item</parameter> + +assign('myArray', $arr); +?> +]]> + + Template untuk ditampilkan $myArray dalam daftar tidak-berurut + + +{foreach from=$myArray item=foo} +
  • {$foo}
  • +{/foreach} + +]]> +
    + + Contoh di atas akan menampilkan: + + + +
  • 1000
  • +
  • 1001
  • +
  • 1002
  • + +]]> +
    +
    + + + Mendemonstrasikan atribut <parameter>item</parameter> dan <parameter>key</parameter> + + 'Tennis', 3 => 'Swimming', 8 => 'Coding'); +$smarty->assign('myArray', $arr); +?> +]]> + + Template untuk ditampilkan $myArray sebagai + pasangan kunci/nilai, seperti + foreach + PHP. + + +{foreach from=$myArray key=k item=v} +
  • {$k}: {$v}
  • +{/foreach} + +]]> +
    + + Contoh di atas akan menampilkan: + + + +
  • 9: Tennis
  • +
  • 3: Swimming
  • +
  • 8: Coding
  • + +]]> +
    +
    + + + + {foreach} dengan asosiatif atribut <parameter>item</parameter> + + array('no' => 2456, 'label' => 'Salad'), + 96 => array('no' => 4889, 'label' => 'Cream') + ); +$smarty->assign('items', $items_list); +?> +]]> + + Template untuk ditampilkan $items dengan + $myId dalam url + + +{foreach from=$items key=myId item=i} +
  • {$i.no}: {$i.label}
  • +{/foreach} + +]]> +
    + + Contoh di atas akan menampilkan: + + + +
  • 2456: Salad
  • +
  • 4889: Cream
  • + +]]> + +
    + + + {foreach} dengan pengulangan <parameter>item</parameter> dan <parameter>key</parameter> + Menempatkan array ke Smarty, kunci berisi kunci untuk setiap nilai + yang diulang. + +assign('contacts', array( + array('phone' => '1', + 'fax' => '2', + 'cell' => '3'), + array('phone' => '555-4444', + 'fax' => '555-3333', + 'cell' => '760-1234') + )); +?> +]]> + + Template yang menampilkan $contact. + + + {foreach key=key item=item from=$contact} + {$key}: {$item}
    + {/foreach} +{/foreach} +]]> +
    + + Contoh diatas akan menampilkan: + + + + phone: 1
    + fax: 2
    + cell: 3
    +
    + phone: 555-4444
    + fax: 555-3333
    + cell: 760-1234
    +]]> +
    +
    + + + Contoh database dengan {foreachelse} + Contoh database (seperti PEAR atau ADODB) dari naskah pencarian, hasil query + ditempatkan ke Smarty + +assign('results', $db->getAssoc($sql) ); +?> +]]> + + Template yang menampilkan None found + jika tidak ada hasil dengan {foreachelse}. + +{$con.name} - {$con.nick}

    +{foreachelse} + No items were found in the search +{/foreach} +]]> + + + + + + .index + + index berisi indeks array saat ini, dimulai dengan nol. + + + contoh <parameter>index</parameter> + + + +{foreach from=$items key=myId item=i name=foo} + {if $smarty.foreach.foo.index % 5 == 0} + Title + {/if} + {$i.label} +{/foreach} + +]]> + + + + + + .iteration + + iteration berisi iterasi perulangan saat ini dan + selalu dimulai dari satu, tidak seperti + indeks. + Ia bertambah satu setiap kali iterasi. + + + contoh <parameter>iteration</parameter> dan <parameter>indeks</parameter> + + + + + + + + + .first + + first adalah &true; jika iterasi {foreach} + saat ini adalah yang awal. + + + contoh properti <parameter>first</parameter> + + +{foreach from=$items key=myId item=i name=foo} + + {if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if} + {$i.label} + +{/foreach} + +]]> + + + + + + .last + + last disetel &true; jika iterasi + {foreach} saat ini adalah yang terakhir. + + + contoh properti <parameter>last</parameter> + +{$prod}{if $smarty.foreach.products.last}
    {else},{/if} +{foreachelse} + ... konten ... +{/foreach} +]]> +
    +
    +
    + + + .show + + show dipakai sebagai parameter untuk {foreach}. + show adalah nilai boolean. Jika &false;, + {foreach} tidak akan ditampilkan. Jika terdapat + {foreachelse}, akan ditampilkan secara selang-seling. + + + + + .total + + total berisi jumlah iterasi yang akan diulang + {foreach}. + Ini dapat digunakan di dalam atau setelah {foreach}. + + + contoh properti <parameter>total</parameter> + +
    +{if $smarty.foreach.foo.last} +
    {$smarty.foreach.foo.total} items
    +{/if} +{foreachelse} + ... something else ... +{/foreach} +]]> +
    +
    + + + Lihat juga {section} + dan $smarty.foreach. + +
    +
    + + diff --git a/docs/id/designers/language-builtin-functions/language-function-if.xml b/docs/id/designers/language-builtin-functions/language-function-if.xml new file mode 100644 index 00000000..d4fbce0f --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-if.xml @@ -0,0 +1,263 @@ + + + + {if},{elseif},{else} + + Pernyataan {if} dalam Smarty memiliki kesamaan + fleksibilitas seperti pernyataan PHP if, + dengan beberapa fitur yang ditambahkan untuk mesin template. + Setiap {if} harus dipasangkan dengan + {/if} yang sama. {else} dan + {elseif} juga dibolehkan. Semua kondisional dan fungsi PHP + dikenal, seperti ||, or, + &&, and, + is_array(), dll. + + + Jika $security + dihidupkan, hanya fungsi PHP dari array IF_FUNCS dari $security_settings + yang dibolehkan. + + + Berikut adalah daftar kualifikator yang dikenal yang harus dipisahkan dari + elemen yang dikelilingi oleh spasi. Catatan bahwa item terdaftar dalam + [kurung] adalah opsional. Persamaan PHP ditampilkan bila memungkinkan. + + + + + + + + + + + + Kualifikator + Pembeda + Contoh Sintaks + Arti + Persamaan PHP + + + + + == + eq + $a eq $b + sama + == + + + != + ne, neq + $a neq $b + tidak sama + != + + + > + gt + $a gt $b + lebih besar dari + > + + + < + lt + $a lt $b + kurang dari + < + + + >= + gte, ge + $a ge $b + lebih besar atau sama + >= + + + <= + lte, le + $a le $b + kurang dari atau sama + <= + + + === + + $a === 0 + periksa identitas + === + + + ! + not + not $a + negasi (unari) + ! + + + % + mod + $a mod $b + modulus + % + + + is [not] div by + + $a is not div by 4 + bisa dibagi dengan + $a % $b == 0 + + + is [not] even + + $a is not even + [bukan] angka genap (unari) + $a % 2 == 0 + + + is [not] even by + + $a is not even by $b + tingkat pengelompokan [bukan] genap + ($a / $b) % 2 == 0 + + + is [not] odd + + $a is not odd + [bukan] angka ganjil (unari) + $a % 2 != 0 + + + is [not] odd by + + $a is not odd by $b + [bukan] pengelompokan ganjil + ($a / $b) % 2 != 0 + + + + + + pernyataan {if} + + 1000 ) and $volume >= #minVolAmt#} + ... +{/if} + + +{* anda juga bisa menyertakan fungsi panggil php *} +{if count($var) gt 0} + ... +{/if} + +{* periksa array. *} +{if is_array($foo) } + ..... +{/if} + +{* periksa untuk yang bukan null. *} +{if isset($foo) } + ..... +{/if} + + +{* uji apakah nilai genap atau ganjil *} +{if $var is even} + ... +{/if} +{if $var is odd} + ... +{/if} +{if $var is not odd} + ... +{/if} + + +{* uji apakah var bisa dibagi dengan 4 *} +{if $var is div by 4} + ... +{/if} + + +{* + uji apakah var genap, dikelompokan oleh dua. misalnya, + 0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, dst. +*} +{if $var is even by 2} + ... +{/if} + +{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} +{if $var is even by 3} + ... +{/if} +]]> + + + + + + contoh {if} berikutnya + + 0) + {* lakukan untuk setiap pengulangan *} +{/if} + ]]> + + + + + diff --git a/docs/id/designers/language-builtin-functions/language-function-include-php.xml b/docs/id/designers/language-builtin-functions/language-function-include-php.xml new file mode 100644 index 00000000..c776b12f --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-include-php.xml @@ -0,0 +1,148 @@ + + + + {include_php} + + Catatan Teknis + + {include_php} tidak lagi dipakai oleh Smarty, anda bisa + melakukan fungsionalitas yang sama melalui fungsi template kustom. + Satu-satunya alasan untuk menggunakan {include_php} + adalah jika anda benar-benar perlu untuk mengkarantina fungsi php jauh + dari direktori + plugins/ + atau kode aplikasi anda. Lihat contoh mengkomponenkan template + agar lebih jelas. + + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + file + string + Ya + n/a + Nama file php untuk disertakan + + + once + boolean + Tidak + &true; + Apakah file php perlu disertakan lebih dari sekali atau tidak + jika disertakan berkali-kali + + + assign + string + Tidak + n/a + Nama variabel yang outputnya akan ditempati oleh include_php + + + + + + + Tag {include_php} dipakai untuk menyertakan naskah php + dalam template anda. + Jika $security dihidupkan, + maka naskah php harus ditempatkan dalam path $trusted_dir. + Tag {include_php} harus mempunyai atribut + file, yang berisi path ke file php yang disertakan, baik + relatif ke $trusted_dir, + ataupun path absolut. + + + Standarnya, file php hanya disertakan sekali meskipun dipanggil + berkali-kali dalam template. Anda dapat menetapkan bahwa ia harus + disertakan setiap kali dengan atribut once. + Setelan once ke &false; akan menyertakan naskah php setiap kali ia + disertakan dalam template. + + + Secara opsional anda bisa mengirimkan atribut assign, + yang akan menetapkan nama variabel yang outputnya akan + {include_php} tempati daripada ditampilkan. + + + Obyek smarty tersedia sebagai $this di dalam + naskah PHP yang anda sertakan. + + + fungsi {include_php} + File load_nav.php: + +query('select url, name from navigation order by name'); +$this->assign('navigation', $db->getRows()); + +?> +]]> + + + di mana template adalah: + + +{$nav.name}
    +{/foreach} +]]> +
    +
    + + Lihat juga {include}, + $security, +$trusted_dir, + {php}, {capture}, sumber daya dan mengkomponenkan template +
    + diff --git a/docs/id/designers/language-builtin-functions/language-function-include.xml b/docs/id/designers/language-builtin-functions/language-function-include.xml new file mode 100644 index 00000000..9d7183d4 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-include.xml @@ -0,0 +1,216 @@ + + + + {include} + + Tag {include} dipakai untuk menyertakan template lain + dalam template saat ini. Setiap variabel yang tersedia dalam template + saat ini juga tersedia di dalam template yang disertakan. + + + + + Tag {include} harus mempunyai atribut + file yang berisi path sumber daya template. + + + + Menyetel atribut opsional assign menetapkan variabel + template yang menempatkan {include} ke output, daripada + ditampilkan. Mirip dengan + {assign}. + + + + Variabel bisa dikirimkan ke template yang disertakan sebagai + atribut. + Setiap variabel yang dikirimkan secara eksplisit ke template + yang disertakan hanya tersedia di dalam lingkup file yang + disertakan. Variabel atribut menimpa variabel template saat + ini, dalam hal ketika bernama sama. + + + + Semua nilai variabel yang ditempatkan dikembalikan setelah lingkup + template yang disertakan tidak ada. Ini berarti anda dapat menggunakan + semua variabel termasuk template di dalam template yang disertakan. + Tapi perubahan variabel di dalam template yang disertakan tidak terlihat + di dalam template yang menyertakan setelah pernyataan + {include}. + + + + Gunakan sintaks sumber daya template + untuk {include} file di luar direktori + $template_dir. + + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + file + string + Ya + n/a + Nama file template yang disertakan + + + assign + string + Tidak + n/a + Nama variabel yang outputnya akan ditempati + + + [var ...] + [var type] + Tidak + n/a + variabel untuk mengirimkan lokal ke template + + + + + + + Contoh {include} sederhana + + + + {$title} + + +{include file='page_header.tpl'} + +{* badan template di sini, variabel $tpl_name diganti dengan + nilai misalnya 'contact.tpl' +*} +{include file="$tpl_name.tpl"} + +{include file='page_footer.tpl'} + + +]]> + + + + + variabel pengiriman {include} + + + + Template di atas menyertakan contoh links.tpl + di bawah ini. + + +

    {$title}{/h3> +
      +{foreach from=$links item=l} +.. do stuff ... + + +]]> + + + + + + {include} and assign to variable + This example assigns the contents of nav.tpl + to the $navbar variable, + which is then output at both the top and bottom of the page. + + + + {include file='nav.tpl' assign=navbar} + {include file='header.tpl' title='Smarty is cool'} + {$navbar} + {* badan template di sini *} + {$navbar} + {include file='footer.tpl'} + +]]> + + + + + Contoh berbagai sumber daya {include} + + + + + + Lihat juga + {include_php}, + {insert}, + {php}, + sumber daya template dan + mengkomponenkan template. + + + + diff --git a/docs/id/designers/language-builtin-functions/language-function-insert.xml b/docs/id/designers/language-builtin-functions/language-function-insert.xml new file mode 100644 index 00000000..d77a2510 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-insert.xml @@ -0,0 +1,160 @@ + + + + {insert} + + Tag {insert} bekerja sangat mirip dengan tag {include}, + kecuali bahwa tag {insert} TIDAK di-cache ketika + caching template dihidupkan. Ia akan + dijalankan pada setiap permintaan template. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Ya + n/a + Nama fungsi insert (insert_name) + + + assign + string + Tidak + n/a + Nama variabel template yang outputnya akan ditempati + + + script + string + Tidak + n/a + Nama naskah php yang disertakan sebelum fungsi insert dipanggil + + + [var ...] + [var type] + Tidak + n/a + variabel untuk mengirimkan fungsi insert + + + + + + + + Katakanlah anda mempunyai template dengan slot spanduk di atas halaman. + Spanduk bisa berisi campuran HTML, gambar, flash, dll. maka kita tidak bisas + cukup menggunakan link statis di sini, dan kita tidak ingin konten ini + di-cache dengan halaman. Sampailah tag {insert}: template mengetahui + #banner_location_id# dan nilai #site_id# (dikumpulkan dari + file config), dan perlu untuk + memanggil fungsi guna memperoleh konten spanduk. + + + fungsi {insert} + +{* contoh mengambil spanduk *} +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} + + + + Pada contoh ini, kita menggunakan nama getBanner dan + mengirimkan parameter #banner_location_id# dan #site_id#. Smarty akan + mencari fungsi bernama insert_getBanner() dalam aplikasi PHP anda, + mengirimkan nilai #banner_location_id# dan #site_id# sebagai argumen + pertama dalam array asosiatif. Semua nama fungsi {insert} dalam aplikasi + anda harus didahului dengan "insert_" guna menghindari kemungkinan + konflik ruang-nama fungsi. Fungsi insert_getBanner() anda harus melakukan + sesuatu dengan nilai yang dikirimkan dan mengembalikan hasil. Hasil ini + kemudian ditampilkan dalam template di tempat tag {insert}. Dalam contoh + ini, Smarty akan memanggil fungsi ini: + insert_getBanner(array("lid" => "12345","sid" => "67890")); + dan menampilkan hasil yang dikembalikan di tempat tag {insert}. + + + + Jika anda menyertakan atribut assign, output + dari tag {insert} akan ditampati variabel template + ini daripa menjadi output bagi template. + + + Menempatkan output ke variabel template tidak terlalu berguna jika + caching dihidupkan. + + + + + + Jika anda menyertakan atribut script, naskah php ini + akan disertakan (hanya sekali) sebelum funsi {insert} + dijalankan. Ini kasus di mana fungsi insert mungkin belum ada, dan naskah php + harus disertakan lebih dulu agar ia bekerja. + + + Path dapat berupa absolut, atau relatif ke + $trusted_dir. + Ketika $security + dihidupkan, naskah harus berada dalam + $trusted_dir. + + + + Obyek Smarty dikriimkan sebagai argumen kedua. Dengan cara ini anda dapat + mereferensi dan mengubah informasi dalam obyek Smarty dari dalam fungsi + {insert}. + + + Catatan Teknis + + Dimungkinkan bagian template tidal di-cache. Jika anda menghidupkan + caching, tag {insert} + tidak akan di-cache. Ia akan dijalankan secara dinamis setiap kali + halaman dibuat, bahkan di dalam halaman yang di-cache. Ini bekerja baik + untuk hal-hal seperti spanduk, polling, laporan cuaca, hasil pencarian, + area umpan balik pengguna, dll. + + + + Lihat juga + {include} + + + \ No newline at end of file diff --git a/docs/id/designers/language-builtin-functions/language-function-ldelim.xml b/docs/id/designers/language-builtin-functions/language-function-ldelim.xml new file mode 100644 index 00000000..d05a8b9d --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-ldelim.xml @@ -0,0 +1,97 @@ + + + + {ldelim},{rdelim} + + {ldelim} dan {rdelim} dipakai untuk + melepaskan pembatas template, + standarnya { dan }. + Anda juga bisa memakai + {literal}{/literal} + untuk membatasi blok teks misalnya Javascript atau CSS. + Lihat juga {$smarty.ldelim} + tambahan. + + + {ldelim}, {rdelim} + + + + + Contoh di atas akan menghasilkan: + + + + + Contoh lain dengan beberapa Javascript + + +function foo() {ldelim} + ... kode ... +{rdelim} + +]]> + + + akan menghasilkan + + + +function foo() { + .... kode ... +} + +]]> + + + + + + Contoh Javascript lain + + + function myJsFunction(){ldelim} + alert("The server name\n{$smarty.server.SERVER_NAME}\n{$smarty.server.SERVER_ADDR}"); + {rdelim} + +Click here for Server Info +]]> + + + + Lihat juga + {literal} + dan escaping penguraian Smarty. + + + + diff --git a/docs/id/designers/language-builtin-functions/language-function-literal.xml b/docs/id/designers/language-builtin-functions/language-function-literal.xml new file mode 100644 index 00000000..5005a2d8 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-literal.xml @@ -0,0 +1,102 @@ + + + + {literal} + + Tag {literal} membolehkan blok data diambil secara literal. + Ini biasanya dipakai sekitar blok Javascript atau stylesheet di mana + {kurung kurawal} akan berpengaruh dengan sintaks + pembatas template. Apapun di + dalam tag {literal}{/literal} tidak diinterpretasikan, but displayed as-is. + If you need template tags embedded in a {literal} block, consider using + {ldelim}{rdelim} to escape the + individual delimiters instead. + + + + {literal} tags + + + + +{/literal} +]]> + + + + + Javascript function example + + +{literal} +function myJsFunction(name, ip){ + alert("The server name\n" + name + "\n" + ip); +} +{/literal} + +Click here for the Server Info + ]]> + + + + + Some css style in a template + + +{literal} +/* this is an intersting idea for this section */ +.madIdea{ + border: 3px outset #ffffff; + margin: 2 3 4 5px; + background-color: #001122; +} +{/literal} + +
      With smarty you can embed CSS in the template
      +]]> +
      +
      + + + See also + {ldelim} {rdelim} + and the + escaping Smarty parsing page. + +
      + + diff --git a/docs/id/designers/language-builtin-functions/language-function-php.xml b/docs/id/designers/language-builtin-functions/language-function-php.xml new file mode 100644 index 00000000..5a8f3446 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-php.xml @@ -0,0 +1,82 @@ + + + + {php} + + Tag {php} membolehkan kode PHP untuk disertakan secara + langsung ke dalam template. Ia tidak akan diberi escape, mengabaikan setelan $php_handling. + Ini hanya untuk pengguna tingkat lanjut, normalnya tidak perlukan dan + tidak direkomendasikan. + + +Catatan Teknis + + Untuk mengakses variabel PHP dalam blok {php} anda perlu + menggunakan kata kunci + global. + + + + + kode php dalam tag {php} + + + + + + + + tag {php} dengan variabel global dan penempatan + +assign('varX','Toffee'); +{/php} +{* keluarkan variabel *} +{$varX} is my fav ice cream :-) +]]> + + + + + Lihat juga + $php_handling, + {include_php}, + {include}, + {insert} + dan + template yang dikomponenkan. + + + diff --git a/docs/id/designers/language-builtin-functions/language-function-section.xml b/docs/id/designers/language-builtin-functions/language-function-section.xml new file mode 100644 index 00000000..22ad3b22 --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-section.xml @@ -0,0 +1,826 @@ + + + + {section},{sectionelse} + + {section} + adalah untuk mengulang melalui array data, + tidak seperti {foreach} + yang dipakai untuk mengulang melalui + satu array asosiatif. + Setiap {section} tag harus dipasangkan dengan + penutup{/section} tag. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Ya + n/a + Nama seksi + + + loop + mixed + Ya + n/a + Nilai untuk menentukan sumber iterasi pengulangan + + + start + integer + Tidak + 0 Posisi indeks + di mana seksi akan diulang. Jika nilai negatif, awal + posisi dihitung dari akhir array. Sebagai contoh, + jika ada tujuh nilai dalam pengulangan array dan awalnya + adalah -2, indeks awal adalah 5. Nilai yang tidak benar + (nilai di luar panjang pengulangan array) otomatis + dipotong ke nilai terdekat yang benar. + + + step + integer + Tidak + 1 + Nilai step akan dipakai untuk melewati pengulangan array. + Sebagai contoh, step=2 akan berulang pada indeks 0,2,4, dst. + Jika step negatif, ia akan mundur kembali melewati array. + + + max + integer + Tidak + n/a + Menyetel angka maksimum berapa kali seksi akan mengulang. + + + show + boolean + Tidak + &true; + Menentukan apakan menampilkan seksi ini atau tidak + + + + + + + + Atribut yang diperlukan adalah name dan loop. + + + + name dari {section} bisa berupa + apapun yang anda suka, terdiri dari huruf, angka dan garis bawah, seperti + variabel PHP. + + + + {section} dapat diulang, dan nama {section} yang diulang + harus unik dari yang lainnya. + + + + Atribut loop, biasanya sebuah array nilai, menentukan + jumlah berapa kali {section} akan mengulang. Anda juga + dapat mengirimkan integer sebagai nilai pengulangan. + + + Ketika mencetak variabel di dalam {section}, + {section} name harus diberikan di + sebelah nama variabel dalam [kurung kotak]. + + + + {sectionelse} dijalankan saat tidak ada lagi nilai + dalam variabel loop. + + + + {section} juga memiliki variabelnya sendiri yang + menangani properti {section}. + Properti ini dapat diakses sebagai: + {$smarty.section.name.property} + di mana name adalah atribut name. + + + + properti {section} adalah + index, + index_prev, + index_next, + iteration, + first, + last, + rownum, + loop, + show, + total. + + + + + Mengulang array sederhana dengan {section} + +assign() array ke Smarty + + +assign('custid',$data); +?> +]]> + +Template yang menampilkan array + + +{/section} +
      +{* mengeluarkan semua nilai array $custid secara terbalik *} +{section name=foo loop=$custid step=-1} + {$custid[foo]}
      +{/section} +]]> +
      + + Contoh di atas akan menampilkan: + + + +id: 1001
      +id: 1002
      +
      +id: 1002
      +id: 1001
      +id: 1000
      +]]> +
      +
      + + + + {section} tanpa array yang ditempati + + +{section name=bar loop=21 max=6 step=-2} + {$smarty.section.bar.index} +{/section} +]]> + + + Contoh di atas akan menampilkan: + + + +20 18 16 14 12 10 +]]> + + + + + + Penamaan {section} + name dari {section} bisa apa + saja sesuai yang anda inginkan, lihat + variabel PHP. + Ini dipakai untuk mereferensi data di dalam {section}. + + + + + + + + Pengulangan array asosiatif dengan {section} + Ini adalah contoh pencetakan array data asosiatif dengan + {section}. Berikut adalah naskah php untuk menempatkan + array $contacts ke Smarty. + + 'John Smith', 'home' => '555-555-5555', + 'cell' => '666-555-5555', 'email' => 'john@myexample.com'), + array('name' => 'Jack Jones', 'home' => '777-555-5555', + 'cell' => '888-555-5555', 'email' => 'jack@myexample.com'), + array('name' => 'Jane Munson', 'home' => '000-555-5555', + 'cell' => '123456', 'email' => 'jane@myexample.com') + ); +$smarty->assign('contacts',$data); +?> +]]> + + +Template untuk menampilkan $contacts + + + name: {$contacts[customer].name}
      + home: {$contacts[customer].home}
      + cell: {$contacts[customer].cell}
      + e-mail: {$contacts[customer].email} +

      +{/section} +]]> +
      + + Contoh di atas akan menampilkan: + + + + name: John Smith
      + home: 555-555-5555
      + cell: 666-555-5555
      + e-mail: john@myexample.com +

      +

      + name: Jack Jones
      + home phone: 777-555-5555
      + cell phone: 888-555-5555
      + e-mail: jack@myexample.com +

      +

      + name: Jane Munson
      + home phone: 000-555-5555
      + cell phone: 123456
      + e-mail: jane@myexample.com +

      +]]> +
      +
      + + + {section} mendemonstrasikan variabel <varname>loop</varname> + Contoh ini mengasumsikan bahwa $custid, $name + dan $address adalah semua array yang berisi jumlah + nilai yang sama. Pertama naskah php menempatkan array ke Smarty. + +assign('custid',$id); + +$fullnames = array('John Smith','Jack Jones','Jane Munson'); +$smarty->assign('name',$fullnames); + +$addr = array('253 Abbey road', '417 Mulberry ln', '5605 apple st'); +$smarty->assign('address',$addr); + +?> +]]> + +Variabel loop hanya menentukan jumlah berapa kali + untuk mengulang. Anda dapat mengakses variabel MANAPUN dari template di dalam + {section} + + + id: {$custid[customer]}
      + name: {$name[customer]}
      + address: {$address[customer]} +

      +{/section} +]]> +
      + + Contoh di atas akan menampilkan: + + + + id: 1000
      + name: John Smith
      + address: 253 Abbey road +

      +

      + id: 1001
      + name: Jack Jones
      + address: 417 Mulberry ln +

      +

      + id: 1002
      + name: Jane Munson
      + address: 5605 apple st +

      +]]> +
      +
      + + + + + {section} yang berulang + + {section} dapat diulang sedalam yang anda suka. Dengan {section} yang + diulang, anda bisa mengakses struktur data yang kompleks, seperti array + multi dimensi. Ini adalah contoh naskah .php yang + menempatkan array. + + +assign('custid',$id); + +$fullnames = array('John Smith','Jack Jones','Jane Munson'); +$smarty->assign('name',$fullnames); + +$addr = array('253 N 45th', '417 Mulberry ln', '5605 apple st'); +$smarty->assign('address',$addr); + +$types = array( + array( 'home phone', 'cell phone', 'e-mail'), + array( 'home phone', 'web'), + array( 'cell phone') + ); +$smarty->assign('contact_type', $types); + +$info = array( + array('555-555-5555', '666-555-5555', 'john@myexample.com'), + array( '123-456-4', 'www.example.com'), + array( '0457878') + ); +$smarty->assign('contact_info', $info); + +?> + ]]> + +Dalam contoh ini, $contact_type[customer] adalah + sebuah array tipe kontak untuk kustomer saat ini. + + + id: {$custid[customer]}
      + name: {$name[customer]}
      + address: {$address[customer]}
      + {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}
      + {/section} +{/section} +]]> +
      + + Contoh di atas akan menampilkan: + + + + id: 1000
      + name: John Smith
      + address: 253 N 45th
      + home phone: 555-555-5555
      + cell phone: 666-555-5555
      + e-mail: john@myexample.com
      +
      + id: 1001
      + name: Jack Jones
      + address: 417 Mulberry ln
      + home phone: 123-456-4
      + web: www.example.com
      +
      + id: 1002
      + name: Jane Munson
      + address: 5605 apple st
      + cell phone: 0457878
      +]]> +
      +
      + + + +Contoh database dengan {sectionelse} + Hasil pencarian database (misal ADODB atau PEAR) ditempatkan ke Smarty + + assign('contacts', $db->getAll($sql)); +?> +]]> + +Template yang menampilkan hasil database dalam tabel HTML + + + Name>HomeCellEmail +{section name=co loop=$contacts} + + view + {$contacts[co].name} + {$contacts[co].home} + {$contacts[co].cell} + {$contacts[co].email} + +{sectionelse} + Tidak ada item yang ditemukan +{/section} + +]]> + + + + + + .index + + index berisi indeks array saat ini, dimulai dengan nol + atau atribut start bila diberikan. Ia bertambah satu + atau dengan atribut step bila diberikan. + + + Catatan Teknis + + Jika properti step dan start + tidak diubah, maka pekerjaan ini sama seperti properti iteration, + kecuali ia dimulai dengan nol daripada satu. + + + +{section} <varname>index</varname> property + +FYI +$custid[customer.index] dan +$custid[customer] adalah sama. + + + + +{/section} +]]> + + + Contoh di atas akan menampilkan: + + + +1 id: 1001
      +2 id: 1002
      +]]> +
      +
      +
      + + + + .index_prev + + index_prev adalah indeks pengulangan sebelumnya. + Pada pengulangan pertama, ini disetel -1. + + + + + .index_next + + index_next adalah indeks pengulangan berikutnya. + Pada pengulangan terakhir, ini masih satu lagi daripada indeks saat ini, + memperhatikan setelan atribut step, jika diberikan. + + + +properti <varname>index</varname>, <varname>index_next</varname> + dan <varname>index_prev</varname> + +assign('rows',$data); +?> +]]> + +Template untuk menampilkan array di atas dalam sebuah tabel + + + + indexid + index_prevprev_id + index_nextnext_id + +{section name=row loop=$rows} + + {$smarty.section.row.index}{$rows[row]} + {$smarty.section.row.index_prev}{$rows[row.index_prev]} + {$smarty.section.row.index_next}{$rows[row.index_next]} + +{/section} + +]]> + + + Contoh di atas akan menampilkan tabel yang berisi sebagai berikut: + + + + + + + + + + .iteration + + iteration berisi iterasi pengulangan saat ini dan + dimulai dari satu. + + + + Ini tidak dipengaruhi oleh properti {section} + start, step dan max, + tidak seperti properti + index. + iteration juga dimulai dengan satu daripada nol + tidak seperti index. rownum + adalah alias untuk iteration, keduanya sama. + + + +Properti <varname>iteration</varname> dari seksi + +assign('arr',$id); +?> +]]> + +Template untuk menampilkan setiap elemen lain array $arr +dengan step=2 + + +{/section} +]]> + + + Contoh di atas akan menampilkan: + + + +iteration=2 index=7 id=3007
      +iteration=3 index=9 id=3009
      +iteration=4 index=11 id=3011
      +iteration=5 index=13 id=3013
      +iteration=6 index=15 id=3015
      +]]> +
      + + Contoh lain yang menggunakan properti iteration untuk + mengeluarkan blok header tabel setiap lima baris. + Menggunakan fungsi {if} + dengan operator mod. + + + +{section name=co loop=$contacts} + {if $smarty.section.co.iteration % 5 == 1} +  Name>HomeCellEmail + {/if} + +
      view + {$contacts[co].name} + {$contacts[co].home} + {$contacts[co].cell} + {$contacts[co].email} + +{/section} + +]]> + + + + + + + .first + + first disetel &true; jika iterasi + {section} saat ini adalah yang pertama. + + + + + + .last + + last disetel &true; jika iterasi seksi saat ini + adalah yang terakhir. + + + properti {section} <varname>first</varname> dan <varname>last</varname> + + Contoh ini mengulang array $customers, mengeluarkan + blok header pada iterasi pertama dan terakhir mengeluarkan blok footer. + Juga menggunakan properti + total. + + + + idkustomer + {/if} + + + {$customers[customer].id}} + {$customers[customer].name} + + + {if $smarty.section.customer.last} + {$smarty.section.customer.total} kustomer + + {/if} +{/section} +]]> + + + + + + + .rownum + + rownum berisi iterasi pengulangan saat ini, + dimulai dengan satu. Ini adalah nama lain dari iterasi, + cara kerjanya sama persis. + + + + + .loop + + loop berisi angka indeks terakhir yang mengulang + {section}. Ini bisa dipakai di dalam atau setelah {section}. + + + properti {section} <varname>loop</varname> + + +{/section} +Ada {$smarty.section.customer.loop} kustomer yang ditampilkan di atas. +]]> + + + Contoh di atas akan menampilkan: + + + +1 id: 1001
      +2 id: 1002
      +Ada 3 kustomer yang ditampilkan di atas. +]]> +
      +
      +
      + + + .show + + show dipakai sebagai parameter ke seksi dan berupa + nilai boolean. Jika &false;, seksi tidak akan ditampilkan. Jika terdapat + {sectionelse}, akan ditampilkan sebagai alternatif. + + + <varname>show</varname> properti + Boolean $show_customer_info sudah dikirimkan dari + aplikasi PHP, untuk mengatur apakah seksi ditampilkan atau tidak. + + +{/section} + +{if $smarty.section.customer.show} + seksi ditampilkan. +{else} + seksi tidak ditampilkan. +{/if} +]]> + + + Contoh di atas akan menampilkan: + + + +2 id: 1001
      +3 id: 1002
      + +the section was shown. +]]> +
      +
      +
      + + + .total + + total berisi jumlah iterasi yang akan + {section} mengulangnya. Ini bisa dipakai di dalam atau setelah + {section}. + + + <varname>total</varname> contoh properti + + +{/section} + Ada {$smarty.section.customer.total} kustomer yang ditampilkan di atas. +]]> + + + + Lihat juga {foreach} + dan + $smarty.section. + + +
      + + diff --git a/docs/id/designers/language-builtin-functions/language-function-strip.xml b/docs/id/designers/language-builtin-functions/language-function-strip.xml new file mode 100644 index 00000000..77d804cb --- /dev/null +++ b/docs/id/designers/language-builtin-functions/language-function-strip.xml @@ -0,0 +1,85 @@ + + + + {strip} + + Berulang kali desainer designers mengalami hal di mana spasi dan + tombol enter mempengarhui output dari HTML yang dibuatnya ("fitur" + browser), kemudian anda harus menjalankan semua tag anda bersamaan + dalam template guna memperoleh hasil yang diinginkan. Ini biasanya + berakhir dengan template yang tidak terbaca atau tidak teratur. + + + Apapun spasi ekstra atau tanda tombol enter di dalam tag + {strip}{/strip} dibuang di awal dan akhir baris + sebelum ditampilkan. Dengan cara ini anda bisa memelihara template + mudah dibaca, dan tidak mencemaskan tentang spasi ekstra yang + menyebabkan masalah. + + + + {strip}{/strip} tidak mempengaruhi isi dari + variabel template, sebaliknya lihat + pengubah strip. + + + + tag {strip} + + + + + + This is a test + + + + +{/strip} +]]> + + + Contoh di atas akan menampilkan: + + +strip. + + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-assign.xml b/docs/id/designers/language-custom-functions/language-function-assign.xml new file mode 100644 index 00000000..2cdd7609 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-assign.xml @@ -0,0 +1,158 @@ + + + + {assign} + + {assign} dipakai untuk menempatkan variabel template + selama eksekusi sebuah template. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + var + string + Ya + n/a + Nama variabel yang ditempati + + + value + string + Ya + n/a + Nilai yang ditempatkan + + + + + + + {assign} + + + + + Contoh di atas akan menampilkan: + + + + + + + + {assign} with some maths +Contoh kompleks harus memiliki variabel dalam `tanda kutip terbalik` + + + + + + + + Mengakses variabel {assign} dari naskah PHP + + Untuk mengakses variabel {assign} dari naskah php + menggunakan + get_template_vars(). + Ini adalah template yang membuat variabel $foo. + + + + +Variabel template hanya tersedia setelah/selama eksekusi template seperti + dalam naskah berikut. + + +get_template_vars('foo'); + +// ambil template ke variabel +$whole_page = $smarty->fetch('index.tpl'); + +// ini akan menampilkan 'smarty' karena template sudah dieksekusi +echo $smarty->get_template_vars('foo'); + +$smarty->assign('foo','Even smarter'); + +// ini akan menampilkan 'Even smarter' +echo $smarty->get_template_vars('foo'); + +?> +]]> + + + + + + Fungsi berikut dapat juga secara opsional menempatkan + variabel template. + + + + {capture}, + {include}, + {include_php}, + {insert}, + {counter}, + {cycle}, + {eval}, + {fetch}, + {math}, + {textformat} + + + + Lihat juga assign() + dan + get_template_vars(). + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-counter.xml b/docs/id/designers/language-custom-functions/language-function-counter.xml new file mode 100644 index 00000000..bcb69765 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-counter.xml @@ -0,0 +1,126 @@ + + + + {counter} + + {counter} dipakai untuk mengeluarkan jumlah. + {counter} akan mengingat jumlah pada setiap + pengulangan. Anda dapat menyesuaikan jumlah, interval dan arah + penghitungan, juga menentukan apakah menampilkan nilai atau tidak. + Anda dapat menjalankan multipel penghitung secara konkuren dengan + menyertakan masing-masing dengan nama yang unik. Jika anda tidak + menyertakan sebuah nama, nama default akan dipakai. + + + Jika anda menyertakan atribut assign, keluaran + dari fungsi {counter} akan ditempatkan ke variabel + template ini daripada dikeluarkan ke template. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Tidak + default + Nama penghitung + + + start + number + Tidak + 1 + Angka awal untuk memulai perhitungan + + + skip + number + Tidak + 1 + Interval untuk setiap perhitungan + + + direction + string + Tidak + up + Arah perhitungan (naik/turun) + + + print + boolean + Tidak + &true; + Apakan memperlihatkan nilai atau tidak + + + assign + string + Tidak + n/a + variabel template di mana output akan ditempatinya + + + + + + + {counter} + + +{counter}
      +{counter}
      +{counter}
      +]]> +
      + + Ini akan menampilkan: + + + +2
      +4
      +6
      +]]> +
      +
      +
      + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-cycle.xml b/docs/id/designers/language-custom-functions/language-function-cycle.xml new file mode 100644 index 00000000..6ec141c3 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-cycle.xml @@ -0,0 +1,153 @@ + + + + {cycle} + + {cycle} dpakai untuk mengganti satu set nilai. + Ini memudahkan misalnya, mengganti antara dua atau lebih warna dalam + sebuah tabel, atau berputar melalui array nilai. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Tidak + default + Nama cycle + + + values + mixed + Ya + N/A + Nilai untuk berputar, bisa daftar dipisahkan koma + (lihat atribut pembatas), atau array nilai + + + print + boolean + Tidak + &true; + Apakah mencetak nilai atau tidak + + + advance + boolean + Tidak + &true; + Apakah maju ke nilai berikutnya + + + delimiter + string + Tidak + , + Pembatas yng dipakai dalam atribut nilai + + + assign + string + Tidak + n/a + Variabel template yang akan ditempati output + + + reset + boolean + Tidak + &false; + Perputaran akan disetel ke nilai pertama dan tidak dimajukan + + + + + + + + Anda bisa {cycle} melalui lebih dari satu set nilai + dalam sebuah template dengan menyertakan atribut name. + Beri setiap {cycle} name yang + unik. + + + Anda dapat memaksa nilai saat ini untuk mencetak dengan atribut + print disetel ke &false;. Ini berguna untuk + melewati sebuah nilai secara diam-diam. + + + Atribut advance dipakai untuk mengulang nilai, + Ketika disetel ke &false;, panggilan berikutnya ke {cycle} + akan mencetak nilai yang sama. + + + Jika anda menyertakan atribut assign, output dari + fungsi {cycle} akan ditempatkan ke variabel template + daripada ke template. + + + + + {cycle} + + + {$data[rows]} + +{/section} +]]> + + Template di atas akan memperlihatkan: + + + 1 + + + 2 + + + 3 + +]]> + + + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-debug.xml b/docs/id/designers/language-custom-functions/language-function-debug.xml new file mode 100644 index 00000000..597a06d3 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-debug.xml @@ -0,0 +1,66 @@ + + + + {debug} + + {debug} mengeluarkan konsol debug ke halaman. Ini bekerja + mengabaikan setelan debug + dalam naskah php. Karena ini dieksekusi saat runtime, ini hanya dapat + menampilkan variabel yang ditempatkan; + bukan templates yang sedang digunakan. Akan tetapi, anda bisa melihat + semua variabel yang tersedia saat ini dalam lingkup template. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + output + string + Tidak + javascript + tipe output, html atau javascript + + + + + + + Lihat juga + halaman konsol debugging. + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-eval.xml b/docs/id/designers/language-custom-functions/language-function-eval.xml new file mode 100644 index 00000000..926d3a44 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-eval.xml @@ -0,0 +1,155 @@ + + + + {eval} + + {eval} dipakai untuk mengevaluasi sebuah variabel + sebagai template. + Ini bisa dgunakan untuk hal seperti menyertakan tag/variabel template + ke dalam variabel atau tag/variabel template ke dalam file config. + + + Jika anda menyertakan atribut assign, output dari + fungsi {eval} akan ditempatkan ke variabel template + ini daripada ke template. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + var + mixed + Ya + n/a + Variabel (atau string) untuk mengevaluasi + + + assign + string + Tidak + n/a + Variabel template yang akan ditempati output + to + + + + + + + Catatan Teknis + + + + Variabel yang dievaluasi diperlakukan sama seperti template. Mengikuti + fitur pengeluaran dan keamanan yang sama seolah-olah sebuah template. + + + + Variabel yang dievaluasi dikompilasi setiap kali permintaan, versi + terkompilasi tidak disimpan! Akan tetapi jika anda menghidupkan + caching, output akan di-cache + dengan sisa template. + + + + + + + {eval} +Isi dari file config, setup.conf. + + +emphend = +title = Welcome to {$company}'s home page! +ErrorCity = You must supply a {#emphstart#}city{#emphend#}. +ErrorState = You must supply a {#emphstart#}state{#emphend#}. +]]> + + + Di mana template adalah: + + + + + + Template di atas akan menampilkan: + + +city. +You must supply a state. +]]> + + + + + Contoh {eval} lainnya + Ini menampilkan nama server (in uppercase) dan IP. Variabel yang + ditempati $str berasal dari query database. + + assign('foo',$str); +?> + ]]> + + + Di mana template adalah: + + + + + + + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-fetch.xml b/docs/id/designers/language-custom-functions/language-function-fetch.xml new file mode 100644 index 00000000..6fd2efb2 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-fetch.xml @@ -0,0 +1,139 @@ + + + + {fetch} + + {fetch} dipakai untuk mengambil file dari sistem file + lokal, http, atau ftp dan menampilkan konten. + + + + + Jika nama file diawali dengan + http://, halaman situs web akan diambil dan + ditempilkan. + + + Ini tidak akan mendukung pengalihan http, pastikan untuk menyertakan + garis miring terakhir pada halaman web yang anda ambil bila + diperlukan. + + + + + + Jika nama file diawali dengan ftp://, file akan + di-download dari server ftp dan ditampilkan. + + + + Untuk file lokal, harus memberikan baik path file sistem lengkap ataupun + path relatif ke naskah php yang dijalankan. + + + Jika template + $security + dihidupkan dan anda sedang mengambil file dari sistem file lokal, + {fetch} hanya akan membolehkan file dari dalam + salah satu yang didefinisikan dalam + will only allow files from within one of the defined + direktori aman. + + + + + + Jika atribut assign disetel, output fungsi + {fetch} akan ditempatkan ke variabel template + ini daripada ke template. + + + + + + + + + + + + + Nama Atribut + Type + Diperlukan + Default + Deskripsi + + + + + file + string + Ya + n/a + File, http atau situs ftp untuk diambil + + + assign + string + Tidak + n/a + Variabel template yang akan ditempati + + + + + + + + contoh {fetch} + +{$weather} +{/if} +]]> + + + + Lihat juga + {capture}, + {eval}, + {assign} + dan + fetch(). + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/id/designers/language-custom-functions/language-function-html-checkboxes.xml new file mode 100644 index 00000000..f68cdf2b --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-checkboxes.xml @@ -0,0 +1,236 @@ + + + + {html_checkboxes} + + {html_checkboxes} adalah + fungsi kustom + yang membuat grup kotak centang html dengan data yang disediakan. + Ia menangani item-item yang dipilihnya juga. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Tidak + checkbox + Name daftar kotak centang + + + values + array + Ya, kecuali memakai atribut options + n/a + Sebuah array nilai untuk tombol kotak centang + + + output + array + Ya, kecuali memakai atribut options + n/a + Output array untuk tombol kotak centang + + + selected + string/array + Tidak + empty + Elemen kotak centang yang dipilih + + + options + associative array + Ya, kecuali memakai nilai dan output + n/a + Array nilai asosiatif dan output + + + separator + string + Tidak + empty + String teks untuk memisahkan setiap item kotak centang + + + assign + string + Tidak + empty + Menempatkan tag kotak centang ke array daripada output + + + labels + boolean + Tidak + &true; + Menambahkan tag <label> ke output + + + assign + string + Tidak + empty + Menempatkan output ke array dengan setiap output kotak centang + sebagai satu elemen. + + + + + + + + Atribut yang dibutuhkan adalah values dan + output, kecuali sebaliknya anda menggunakan + options. + + + + Seluruh output adalah sesuai XHTML. + + + + Semua parameter yang tidak dalam daftar di atas dicetak sebagai pasangan + nama/nilai di dalam setiap tag <input> yang dibuat. + + + + + {html_checkboxes} + +assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array( + 'Joe Schmoe', + 'Jack Smith', + 'Jane Johnson', + 'Charlie Brown') + ); +$smarty->assign('customer_id', 1001); + +?> +]]> + + +di mana template adalah + + +'} +]]> + + + atau di mana kode PHP adalah: + + +assign('cust_checkboxes', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown') + ); +$smarty->assign('customer_id', 1001); + +?> +]]> + + + dan template adalah + + +'} +]]> + + + kedua contoh akan menampilkan: + + +Joe Schmoe
      + +
      +
      +
      +]]> +
      +
      + + + Contoh database (misal PEAR atau ADODB): + + +assign('contact_types',$db->getAssoc($sql)); + +$sql = 'select contact_id, contact_type_id, contact ' + .'from contacts where contact_id=12'; +$smarty->assign('contact',$db->getRow($sql)); + +?> +]]> + + Hasil query database di atas akan ditampilkan. + +'} +]]> + + + + Lihat juga + {html_radios} + dan + {html_options} + +
      + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-image.xml b/docs/id/designers/language-custom-functions/language-function-html-image.xml new file mode 100644 index 00000000..022d16ad --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-image.xml @@ -0,0 +1,163 @@ + + + + {html_image} + + {html_image} adalah sebuah + fungsi kustom + yang membuat sebuah tag HTML <img>. + height dan width + secara otomatis dihitung dari gile gambar jika tidak disediakan. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + file + string + Ya + n/a + nama/path ke gambar + + + height + string + Tidak + tinggi asli gambar + Tinggi untuk menampilkan gambar + + + width + string + Tidak + panjang asli gambar + Panjang untuk menampilkan gambar + + + basedir + string + Tidak + akar doc server web + Direktori yang jadi basis path relatifnya + + + alt + string + Tidak + + Deskripsi alternatif dari gambar + + + href + string + Tidak + n/a + nilai href untuk menghubungkan gambar + + + path_prefix + string + Tidak + n/a + Prefiks untuk path output + + + + + + + + basedir adalah basis direktori yang menjadi dasar + path relatif ke gambar. Jika tidak disediakan, akar dokumen server web, + $_ENV['DOCUMENT_ROOT'] dipakai sebagai basis. + Jika $security + dihidupkan, path ke gambar harus di dalam + direktori aman. + + + + href adalah nilai href untuk menghubungkan gambar. + Jika link tidak disediakan, tag <a href="LINKVALUE"><a> + ditempatkan sekitar tag gambar. + + + + path_prefix adalah string prefiks opsional yang + dapat anda berikan path output. + Ini berguna jika anda ingin menyediakan nama server yang berbeda untuk gambar. + + + + Semua parameters yang tidak dalam daftar di atas dicetak sebagai pasangan + nama/nilai di dalam tag <img> yang dibuat. + + + + + Catatan Teknis + + {html_image} membutuhkan mencari ke disk untuk membaca + gambar dan menghitung tingi serta panjangnya. Jika anda tidak memakai + caching template, + umumnya lebih baik untuk menghindari {html_image} dan + membiarkan tag gambar statis untuk performansi optimal. + + + + + contoh {html_image} + + + + + Contoh tampilan dari template di atas akan seperti: + + + + + +]]> + + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-options.xml b/docs/id/designers/language-custom-functions/language-function-html-options.xml new file mode 100644 index 00000000..a7202c23 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-options.xml @@ -0,0 +1,279 @@ + + + + {html_options} + + {html_options} adalah + fungsi kustom + yang membuat grup html <select><option> + dengan data yang ditempatkan. Ia menangani item-item yang dipilihnya juga. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + values + array + Ya, kecuali memakai atribut options + n/a + Array nilai untuk dropdown + + + output + array + Ya, kecuali memakai atribut options + n/a + Array output untuk dropdown + + + selected + string/array + Tidak + empty + Elemen opsi yang dipilih + + + options + associative array + Ya, kecuali memakai nilai dan output + n/a + Array nilai asosiatif dan output + + + name + string + Tidak + empty + Nama pilihan grup + + + + + + + + Atribut yang dibutuhkan adalah + values dan output, + kecuali anda sebaliknya menggunakan options yang + dibagung. + + + + + Jika atribut opsional name disediakan, tag + <select></select> dibuat, sebaliknya + HANYA daftar <option> yang dibuat. + + + + Jika yang nilai diberikan adalah array, ia akan memperlakukannya sebagai + html <optgroup>, dan menampilkan grup. + Rekursi didukung dengan <optgroup>. + + + + Semua parameter yang tidak dalam daftar di atas dicetak sebagai pasangan + nama/nilai di dalam tag <select>. Diabaikan jika + name opsional tidak disediakan. + + + + Semua output sesuai dengan XHTML. + + + + + + Array asosiatif dengan atribut <varname>options</varname> + +assign('myOptions', array( + 1800 => 'Joe Schmoe', + 9904 => 'Jack Smith', + 2003 => 'Charlie Brown') + ); +$smarty->assign('mySelect', 9904); +?> +]]> + + + Template berikut akan membuat daftar drop-down. + Perhatikan keberadaan atribut name yang membuat + tag <select>. + + + + + + + Output dari contoh di atas akan terlihat seperti: + + + + + + + +]]> + + + + +Dropdown dengan array terpisah untuk<varname>values</varname> dan +<varname>ouptut</varname> + +assign('cust_ids', array(56,92,13)); +$smarty->assign('cust_names', array( + 'Joe Schmoe', + 'Jane Johnson', + 'Charlie Brown')); +$smarty->assign('customer_id', 92); +?> +]]> + + + Array di atas yang akan ditampilkan dengan template berikut (perhatikan + penggunaan fungsi php + count() sebagai pengubah untuk menyetel + ukuran pilihan). + + + + {html_options values=$cust_ids output=$cust_names selected=$customer_id} + +]]> + + + Contoh di atas akan memperlihatkan: + + + + + + + + +]]> + + + + Contoh database (misal ADODB atau PEAR) + +assign('contact_types',$db->getAssoc($sql)); + +$sql = 'select contact_id, name, email, contact_type_id + from contacts where contact_id='.$contact_id; +$smarty->assign('contact',$db->getRow($sql)); + +?> +]]> + + +Di mana sebuah template bisa seperti berikut. Perhatikan penggunaan pengubah +truncate. + + + + + {html_options options=$contact_types|truncate:20 selected=$contact.type_id} + +]]> + + + + + Dropdown dengan <optgroup> + + 'Golf', 9 => 'Cricket',7 => 'Swim'); +$arr['Rest'] = array(3 => 'Sauna',1 => 'Massage'); +$smarty->assign('lookups', $arr); +$smarty->assign('fav', 7); +?> +]]> + + Naskah di atas dan template berikut + + + + + + + akan memperlihatkan: + + + + + + + + + + + + + +]]> + + + + + Lihat juga + {html_checkboxes} + dan + {html_radios} + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-radios.xml b/docs/id/designers/language-custom-functions/language-function-html-radios.xml new file mode 100644 index 00000000..b12acfdc --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-radios.xml @@ -0,0 +1,223 @@ + + + + {html_radios} + + {html_radios} adalah + fungsi kustom + yang membuat grup tombol radio HTML. Ia juga menangani item + yang dipilihnya juga. + + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + name + string + Tidak + radio + Nama daftar radio + + + values + array + Ya, kecuali memakai atribut options + n/a + Array nilai untuk tombol radio + + + output + array + Ya, kecuali atribut options + n/a + Array output untuk tombol radio + + + selected + string + Tidak + empty + Elemen radio yang dipilih + + + options + associative array + Ya, kecuali memakai nilai dan output + n/a + Array asosiatif nilai dan output + + + separator + string + Tidak + empty + String teks untuk memisahkan setiap item radio + + + assign + string + Tidak + empty + Menempatkan tag radio ke array daripada output + + + + + + + + Atribut yang diperlukan adalah values dan + output, kecuali sebaliknya anda memakai + options. + + + + Semua output sesuai dengan XHTML. + + + + Semua parameter yang tidak dalam daftar di atas adalah output sebagai + pasangan nama/nilai di dalam setiap tag <input> + yang dibuat. + + + + contoh pertama {html_radios} + +assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array( + 'Joe Schmoe', + 'Jack Smith', + 'Jane Johnson', + 'Charlie Brown') + ); +$smarty->assign('customer_id', 1001); + +?> +]]> + + + Di mana template adalah: + + +'} + ]]> + + + + contoh kedua {html_radios} + +assign('cust_radios', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); + +?> +]]> + + + Di mana template adalah: + + +'} +]]> + + + Kedua contoh akan memperlihatkan: + + + +Joe Schmoe
      +
      +
      +
      +]]> +
      +
      + + {html_radios} - Contoh database (misal PEAR atau ADODB): + +assign('contact_types',$db->getAssoc($sql)); + +$sql = 'select contact_id, name, email, contact_type_id ' + .'from contacts where contact_id='.$contact_id; +$smarty->assign('contact',$db->getRow($sql)); + +?> +]]> + + + Variabel yang ditetmpatkan dari database di atas akan menjadi + output dengan template: + + +'} +]]> + + + + LIhat juga {html_checkboxes} + dan {html_options} + +
      + + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-select-date.xml b/docs/id/designers/language-custom-functions/language-function-html-select-date.xml new file mode 100644 index 00000000..2be2418b --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-select-date.xml @@ -0,0 +1,347 @@ + + + + {html_select_date} + + {html_select_date} adalah + fungsi kustom + yang membuat dropdown tanggal. + Ia bisa menampilkan setiap atau seluruh tahun, bulan, dan hari. + Semua parameter yang tidak dalam dafrar di bawah ini dicetak sebagai + pasangan nama/nilai di dalam tag <select> hari, + bulan dan tahun. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + prefix + string + Tidak + Date_ + Apa yang menjadi prefiks nama var + + + time + timestamp/ YYYY-MM-DD + Tidak + waktu dalam cap waktu unix atau format YYYY-MM-DD + Tanggal/jam apa yang dipakai + + + start_year + string + Tidak + tahun sekarang + Tahun pertama dalam dropdown, baik angka tahun, + atau relatif ke tahun sekarang (+/- N) + + + end_year + string + Tidak + sama seperti start_year + Tahun terakhir dalam dropdown, baik angka tahun, + atau relatif ke tahun sekarang (+/- N) + + + display_days + boolean + Tidak + &true; + Apakan menampilkan hari atau tidak + + + display_months + boolean + Tidak + &true; + Apakah menampilkan bulan atau tidak + + + display_years + boolean + Tidak + &true; + Apakah menampilkan tahun atau tidak + + + month_format + string + Tidak + %B + Format apa seharusnya bulan ditampilkan dalam (strftime) + + + day_format + string + Tidak + %02d + Format apa hari seharusnya ditampilkan dalam (sprintf) + + + day_value_format + string + Tidak + %d + Format apa nilai hari seharusnya ditampilkan dalam (sprintf) + + + year_as_text + boolean + Tidak + &false; + Apakah menampilkan tahun sebagai teks + + + reverse_years + boolean + Tidak + &false; + Menampilkan tahun dalam urutan terbalik + + + field_array + string + Tidak + null + + Jika nama diberikan, kotak pilih akan ditampilkan agar hasil akan + dikembalikan ke PHP dalam bentuk name[Day], name[Year], name[Month]. + + + + day_size + string + Tidak + null + Menambahkan atribut size untuk memilih tag jika disediakan + + + month_size + string + Tidak + null + Menambahkan atribut size untuk memilih tag jika disediakan + + + year_size + string + Tidak + null + Menambahkan atribut size untuk memilih tag jika dsediakan + + + all_extra + string + Tidak + null + Menambahkan atribut ekstra ke semua tag select/input jika disediakan + + + day_extra + string + Tidak + null + Menambahkan atribut ekstra untuk tag select/input jika disediakan + + + month_extra + string + Tidak + null + Menambahkan atribut ekstra untuk tag select/input jika disediakan + + + year_extra + string + Tidak + null + Menambahkan atribut ekstra untuk tag select/input jika disediakan + + + field_order + string + Tidak + MDY + Urutan untuk menampilkan field + + + field_separator + string + Tidak + \n + String dicetak diantara field yang berbeda + + + month_value_format + string + Tidak + %m + format strftime() dari nilai bulan, standarnya adalah + %m untuk angka bulan. + + + year_empty + string + Tidak + null + Jika disediakan maka elemen pertama dari kotak-pilih tahun memiliki + nilai ini sebagai labelnya dan sebagai nilainya. Ini + berguna untuk menjadikan kotak-select membaca + Please select a year sebagai contoh. + Catatan bahwa anda bisa memakai nilai seperti -MM-DD + sebagai atribut-waktu untuk menunjukan tahuun yang tidak dipilih. + + + month_empty + string + Tidak + null + Jika disediakan maka elemen pertama dari kotak-pilih bulan memiliki + nilai ini sebagai labelnya dan sebagai nilainya. + Catatan bahwa anda dapat memakai nilai seperti YYYY--DD + sebagai atribut-waktu untuk menunjukan bulan yang tidak dipilih. + + + day_empty + string + Tidak + null + Jika disediakan maka elemen pertama dari kotak-pilih hari memiliki + nilai ini sebagai labelnya dan sebagai nilainya. + Catatan bahwa anda dapat memakai nilai seperti YYYY-MM- + sebagai atribut-waktu untuk menunjukan hari yang tidak dipilih. + + + + + + + + Ada fungsi php berguina pada + halaman tips tanggal untuk mengubah + nilai bentuk {html_select_date} ke cap wantu. + + + + + {html_select_date} + Kode template + + + + + Ini akan memperlihatkan: + + + + + + + ..... snipped ..... + + + + + + +]]> + + + + + contoh kedua {html_select_date} + + + + + Dengan 2000 sebagai tahun sekarang outputnya: + + + + + +.... snipped .... + + + + +]]> + + + + Lihat juga + {html_select_time}, + date_format, + $smarty.now + dan the halaman tips tanggal. + + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-html-select-time.xml b/docs/id/designers/language-custom-functions/language-function-html-select-time.xml new file mode 100644 index 00000000..d8c4ef36 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-select-time.xml @@ -0,0 +1,223 @@ + + + + {html_select_time} + + {html_select_time} adalah + fungsi kustom + yang membuat dropdowns jam untuk anda. + Ia bisa menampilkan setiap atau seluruh jam, menit, detik dan meridian. + + + Atribut time dapat memiliki format berbeda. + Ia bisa berupa cap waktu uni, string dengan format + YYYYMMDDHHMMSS atau string yang dapat diurai oleh + strtotime() + PHP. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + prefix + string + Tidak + Time_ + Apa yang mengawali nama var + + + time + timestamp + Tidak + jam sekarang + Tanggal/jam apa yang dipakai + + + display_hours + boolean + Tidak + &true; + Apakah menampilkan jam atau tidak + + + display_minutes + boolean + Tidak + &true; + Apakah menampilkan menit atau tidak + + + display_seconds + boolean + Tidak + &true; + Apakah menampilkan detik atau tidak + + + display_meridian + boolean + Tidak + &true; + Apakah menampilkan meridian (am/pm) atau tidak + + + use_24_hours + boolean + Tidak + &true; + Apakah menggunakan waktu 24 jam atau tidak + + + minute_interval + integer + Tidak + 1 + Angka interval dalam dropdown menit + + + second_interval + integer + Tidak + 1 + Angka interval dalam dropdown detik + + + field_array + string + Tidak + n/a + Menyimpan nilai ke array dari nama ini + + + all_extra + string + Tidak + null + Menambahkan atribut ekstra untuk select/input jika disediakan + + + hour_extra + string + Tidak + null + Menambahkan atribut ekstra untuk select/input jika disediakan + + + minute_extra + string + Tidak + null + Menambahkan atribut ekstra untuk select/input jika disediakan + + + second_extra + string + Tidak + null + Menambahkan atribut ekstra untuk select/input jika disediakan + + + meridian_extra + string + Tidak + null + Menambahkan atribut ekstra untuk select/input jika disediakan + + + + + + + {html_select_time} + + + + + Pada 9:20 dan 23 detik di pagi hari template di atas akan menampilkan: + + + + + +... snipped .... + + + +... snipped .... + + + + + + +]]> + + + + Lihat juga + $smarty.now, + {html_select_date} + dan halaman tips tanggal. + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-html-table.xml b/docs/id/designers/language-custom-functions/language-function-html-table.xml new file mode 100644 index 00000000..9f85ea7b --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-html-table.xml @@ -0,0 +1,247 @@ + + + + {html_table} + + {html_table} adalah + fungsi kustom + yang mengeluarkan array data ke dalam HTML <table>. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + loop + array + Ya + n/a + Array data untuk diulang + + + cols + mixed + Tidak + 3 + + Jumlah kolom dalam tabel atau daftar dipisahkan-koma daru nama heading + kolom. Jika atribut-cols kosong, tapi rows disediakan, maka jumlah cols + dihitung sejumlah rows dan jumlah elemen untuk ditampilkan cukup cols + untuk menampilkan semua elemen. Jika kedua rows dan cols, mengabaikan + standar cols ke 3. Jika disediakan sebagai daftar atau array, jumlah + kolom dihitung dari jumlah elemen dalam daftar atau array. + + + + rows + integer + Tidak + empty + + Jumlah baris dalam tabel. Jika atribut-rows kosong, tapi cols disediakan, + maka jumlah rows dihitung dengan jumlahcols dan jumlah elemen untuk + ditampilkan cukup rows untuk menampilkan semua elemen. + + + + inner + string + Tidak + cols + + Arah elemen konsekutif dalam pengulangan-array yang diberikan. + cols berarti elemen ditampilkan kolom-demi-kolom. + rows berarti elemen ditampilkan baris-demi-baris. + + + + caption + string + Tidak + empty + Teks yang dipakai untuk elemen <caption> + tabel + + + table_attr + string + Tidak + border="1" + Atribut untuk tag <table> + + + th_attr + string + Tidak + empty + Atribut untuk tag <th> + (array diputar) + + + tr_attr + string + Tidak + empty + atribut untuk tag <tr> + (arrays diputar) + + + td_attr + string + Tidak + empty + Atribut untuk tag <td> + (arrays diputar) + + + trailpad + string + Tidak + &nbsp; + Nilai untuk mengisi sel sisa pada baris terakhir (jika ada) + + + hdir + string + Tidak + right + + Arah setiap baris digambar. nilai yang mungkin: + right (kiri-ke-kanan), dan + left (kanan-ke-kiri) + + + + vdir + string + Tidak + down + + Arah setiap kolom digambar. Nilai yang mungkin: + down (atas-ke-bawah), up + (bawah-ke-atas) + + + + + + + + + Atribut cols menentukan berapa banyak kolom + berada dalam tabel. + + + + Nilai table_attr, tr_attr + dan td_attr menentukan atribut yang diberikan ke + tag <table>, <tr> + dan <td>. + + + + Jika tr_attr atau td_attr + adalah array, ia akan dilewati berputar. + + + + trailpad adalah nilai yang disimpan ke dalam sel + sisa pada baris tabel terakhir jika ada. + + + + + {html_table} + +assign( 'data', array(1,2,3,4,5,6,7,8,9) ); +$smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') ); +$smarty->display('index.tpl'); +?> +]]> + + Variabel yang ditempatkan dari php dapat ditampilkan seperti tiga + contoh demonstrasi. Setiap contoh menampilkan template diikuti oleh output. + + + + +123 +456 +789 + + + + +{**** Contoh Dua ****} +{html_table loop=$data cols=4 table_attr='border="0"'} + + + + + + + +
      1234
      5678
      9   
      + + +{**** Contoh Tiga ****} +{html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr} + + + + + + + + + + + + +
      pertamakeduaketigakeempat
      1234
      5678
      9   
      +]]> +
      + +
      +
      + + diff --git a/docs/id/designers/language-custom-functions/language-function-mailto.xml b/docs/id/designers/language-custom-functions/language-function-mailto.xml new file mode 100644 index 00000000..f031b290 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-mailto.xml @@ -0,0 +1,171 @@ + + + + {mailto} + + {mailto} mengotomasi pembuatan link mailto: + dan secara opsional mengkodekannya. Mengkodekan email menjadikannya lebih + sulit untuk pengawas web untuk mengangkat alamat email dari sebuah situs0. + + Catatan Teknis + + Javascript mungkin bentuk pengkodean paling teliti, meskipun anda dapat + menggunakan pengkodean heksa juga. + + + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + address + string + Ya + n/a + Alamat e-mail + + + text + string + Tidak + n/a + Teks untuk ditampilkan, standarnya adalah alamat e-mail + + + encode + string + Tidak + none + Bagaimana untuk mengkodekan e-mail. Bisa berupa salah satu dari none, + hex, javascript + atau javascript_charcode. + + + cc + string + Tidak + n/a + Alamat Email untuk carbon copy, pisahkan entri dengan koma. + + + + bcc + string + Tidak + n/a + Alamat Email untuk blind carbon copy, pisahkan dengan koma + + + subject + string + Tidak + n/a + Subyek Email + + + newsgroups + string + Tidak + n/a + Menulis ke Newsgroups, pisahkan entri dengan koma. + + + followupto + string + Tidak + n/a + Alamat untuk diikuti, pisahkan entri dengan koma. + + + extra + string + Tidak + n/a + Setiap informasi ekstra yang ingin anda kirimkan ke link, seperti + kelas style sheet + + + + + + + + contoh baris {mailto} diikuti oleh hasil + +me@example.com
      + +{mailto address="me@example.com" text="send me some mail"} +send me some mail + +{mailto address="me@example.com" encode="javascript"} + + +{mailto address="me@example.com" encode="hex"} +m&..snipped...#x6f;m + +{mailto address="me@example.com" subject="Hello to you!"} +me@example.com + +{mailto address="me@example.com" cc="you@example.com,they@example.com"} +me@example.com + +{mailto address="me@example.com" extra='class="email"'} + + +{mailto address="me@example.com" encode="javascript_charcode"} + +]]> + + + + Lihat juga + escape, + {textformat} + dan + mengaburkan alamat email. + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-math.xml b/docs/id/designers/language-custom-functions/language-function-math.xml new file mode 100644 index 00000000..72820392 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-math.xml @@ -0,0 +1,203 @@ + + + + {math} + + {math} membolehkan desainer template untuk melakukan + persamaan matematika dalam template. + + + + Setiap variabel template numerik bisa dipakai dalam persamaa, dan hasil + dicetak di tempat tag. + + + + Variabel yang dipakai dalam persamaa dikirimkan sebagai parameter, yang + bisa berupa variabel template atau nilai statis. + + + +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, + pi, pow, rand, round, sin, sqrt, srans dan tan adalah operator yang benar. + Lihat dokumentasi PHP untuk informasi lebih jauh pada fungsi + math ini. + + + + Jika anda menyediakan atribut assign, output fungsi + {math} akan ditempatkan ke variabel template ini daripada + ke template. + + + + + Catatan Teknis + + {math} adalah fungsi yang mahal dalam performansi + karena penggunaannya dalam fungsi php + eval(). Melakukan matematika dalam PHP jauh + lebih efisien, maka kapan saja memungkinkan lakukan perhitungan matamatika + dalam naskah dan assign() + hasil ke template. Hindari fungsi panggil berulang + {math}, misalnya dalam + pengulangan + {section}. + + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + equation + string + Ya + n/a + Persamaan yang dieksekusi + + + format + string + Tidak + n/a + Format hasil (sprintf) + + + var + numeric + Ya + n/a + Nilai variabel persamaan + + + assign + string + Tidak + n/a + Variabel template untuk ditempati + + + [var ...] + numeric + Ya + n/a + Nilai variabel persamaan + + + + + + + + {math} + + Contoh a: + + + + + + Contoh di atas akan menampilkan: + + + + + + Contoh b: + + + + + + Contoh di atas akan menampilkan: + + + + + + Example c: + + + + + + Contoh di atas akan menampilkan: + + + + + + Example d: + + + + + + Contoh di atas akan menampilkan: + + + + + + + \ No newline at end of file diff --git a/docs/id/designers/language-custom-functions/language-function-popup-init.xml b/docs/id/designers/language-custom-functions/language-function-popup-init.xml new file mode 100644 index 00000000..4194e996 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-popup-init.xml @@ -0,0 +1,85 @@ + + + + {popup_init} + + {popup} + adalah integrasi dari overLib, + sebuah librari yang dipakai untuk jendela popup. Ini dipakai untuk + informasi sensitif, seperti jendela bantuan atau tooltips. + + + + + {popup_init} harus dipanggil hanya sekali, + lebih disukai di dalam tag <head> di setiap halaman + yang anda rencanakan untuk menggunakan fungsi + {popup}. + + + + Path relatif ke naskah yang sedang dijalankan atau path domain lengkap, + bukan relatif ke template. + + + + overLib ditulis dan dipelihara oleh + Erik Bosrup, dan homepage/download di + &url.overLib;. + + + + + {popup_init} + + +{* popup_init harus dipanggil sekali di atas halam *} +{popup_init src='javascripts/overlib/overlib.js'} + +{* contoh url lengkap *} +{popup_init src='http://myserver.org/my_js_libs/overlib/overlib.js'} + + +// contoh pertama akan menampilkan + + + + +]]> + + + + +Validasi XHTML +{popup_init} tidak memvalidasi dengan langsung dan +akan memperoleh kesalahan +document type does not allow element "div" here; +(misal tag <div> dalam <head>). + +Ini berarti anda perlu menyertakan tag <script> dan +<div> secara manual. + + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-popup.xml b/docs/id/designers/language-custom-functions/language-function-popup.xml new file mode 100644 index 00000000..d4e66428 --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-popup.xml @@ -0,0 +1,442 @@ + + + + {popup} + + {popup} dipakai untuk membuat lapisan/jendela popup + Javascript. + + {popup_init} HARUS dipanggil pertama agar ini bekerja. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + text + string + Ya + n/a + text/html untuk ditampilkan dalam jendela popup + + + trigger + string + Tidak + onMouseOver + apa yang dipakai untuk memicu jendela popup. Ia bisa berupa + onMouseOver atau onClick + + + sticky + boolean + Tidak + &false; + membiarkan popup tetap tampil sampai ditutup + + + caption + string + Tidak + n/a + menyetal judul untuk dinamai + + + fgcolor + string + Tidak + n/a + warna di dalam kotak popup + + + bgcolor + string + Tidak + n/a + warna batas kotak popup + + + textcolor + string + Tidak + n/a + menyetel warna teks di dalam kotak + + + capcolor + string + Tidak + n/a + menyetel warna judul kotak + + + closecolor + string + Tidak + n/a + menyetel warna teks tutup + + + textfont + string + Tidak + n/a + menyetel font yang dipakai oleh teks utama + + + captionfont + string + Tidak + n/a + menyetel font judul + + + closefont + string + Tidak + n/a + menyetel font untuk teks Close + + + textsize + string + Tidak + n/a + menyetel besar font teks utama + + + captionsize + string + Tidak + n/a + menyetel besar font judul + + + closesize + string + Tidak + n/a + menyetel besar font teks Close + + + width + integer + Tidak + n/a + menyetel panjang kotak + + + height + integer + Tidak + n/a + menyetel tinggi kotak + + + left + boolean + Tidak + &false; + menjadikan popup pergi ke kiri mouse + + + right + boolean + Tidak + &false; + menjadikan popups pergi ke kanan mouse + + + center + boolean + Tidak + &false; + menjadikan popup pergi ke tengah mouse + + + above + boolean + Tidak + &false; + menjadikan popup di atas mouse. CATATAN: hanya mungkin + bila tinggi sudah disetel + + + below + boolean + Tidak + &false; + menjadikan popup di bawah mouse + + + border + integer + Tidak + n/a + menjadikan batas popup lebih tebal atau lebih kecil + + + offsetx + integer + Tidak + n/a + berapa jauh poopup dari penunjuk akan ditampilkan, secara + horisontal + + + offsety + integer + Tidak + n/a + berapa jauh poopup dari penunjuk akan ditampilkan, secara + vertikal + + + fgbackground + url to image + Tidak + n/a + menetapkan gambar yang dipakai daripada warna di dalam popup. + + + bgbackground + url to image + Tidak + n/a + menetapkan gambar yang ditetapkan daripada warna untuk batas popup. + CATATAN: Anda ingin menyetel bgcolor ke atau warna akan + tampil juga. CATATAN: Ketika ada link Close, Netscape akan menggambar + ulang sel tabel, menjadikan semuanya terlihat tidak benar + + + closetext + string + Tidak + n/a + menyetel teks Close ke sesuatu yang lain + + + noclose + boolean + Tidak + n/a + tidak menampilkan teks Close pada sticky dengan + sebuah judul + + + status + string + Tidak + n/a + menyetel teks dalam bar status browsers + + + autostatus + boolean + Tidak + n/a + menyetel teks bar status ke teks popup. + CATATAN: mengabaikan setelan status + + + autostatuscap + string + Tidak + n/a + menyeteal teks bar status ke teks judul. + CATATAN: mengabaikan setelan status dan autostatus + + + inarray + integer + Tidak + n/a + memberitahu overLib untuk membaca teks dari indeks ini dalam array + ol_text, ditempatkan dalam overlib.js. Parameter ini bisa dipakai + daripada teks + + + caparray + integer + Tidak + n/a + memberitahu overLib untuk membaca judul dari indeks ini dalam array + ol_caps + + + capicon + url + Tidak + n/a + menampilkan gambar yang diberikan sebelum judul popup + + + snapx + integer + Tidak + n/a + menempelkan popup ke posisi dalam jaring horizontal + + + snapy + integer + Tidak + n/a + menempelkan popup ke posisi dalam jaring vertikal + + + fixx + integer + Tidak + n/a + mengunci posisi horisontal popups Catatan: + mengabaikan semua penempatan horisontal lain + + + fixy + integer + Tidak + n/a + mengunci posisi vertikal popups Catatan: + mengabaikan semua penempatan vertikal lain + + + background + url + Tidak + n/a + menyetel gambar yang dipakai daripada latar belakang kotak tabel + + + padx + integer,integer + Tidak + n/a + mengisi gambar latar belakang denga spasi horisontal + untuk penempatan teks. Catatan: ini adalah dua perintah parameter + + + pady + integer,integer + Tidak + n/a + mengisi gambar latar belakang denga spasi vertikal + untuk penempatan teks. Catatan: ini adalah dua perintah parameter + + + fullhtml + boolean + Tidak + n/a + membolehkan anda untuk mengontrol html sepenuhnya pada gambar + latar belakang. Kode html diharapkan dalam atribut text + + + frame + string + Tidak + n/a + mengontrol popups dalam bingkai berbeda. Lihat halaman overlib + untuk info lebih jauh atas fungsi ini + + + function + string + Tidak + n/a + memanggil fungsi javascript yang ditetapkan dan mengambil + nilai balik sebagai teks yang harus ditampilkan dalam jendela popup + + + delay + integer + Tidak + n/a + menjadikan popup itu seperti tooltip. Ia hanya akan muncul setelah + tenggal dalam milidetik + + + hauto + boolean + Tidak + n/a + otomatis menentukan apakah popup harus di sebelah kiri atau + kanan mouse. + + + vauto + boolean + Tidak + n/a + otomatis menentukan apakah popup harus di sebelah atas atau + bawah mouse. + + + + + + + {popup} + +mypage + +{* anda bisa memakai html, link, dll dalam teks popup anda *} +mypage + +{* popup melewati sebuah sel tabel *} +{$part_number} +]]> + + + Ada contoh baik lainnya di halaman + {capture} + . + + Lihat juga + {popup_init} + dan + overLib homepage. + + + + diff --git a/docs/id/designers/language-custom-functions/language-function-textformat.xml b/docs/id/designers/language-custom-functions/language-function-textformat.xml new file mode 100644 index 00000000..25552c7d --- /dev/null +++ b/docs/id/designers/language-custom-functions/language-function-textformat.xml @@ -0,0 +1,296 @@ + + + + {textformat} + + {textformat} adalah + fungsi blok yang dipakai + untuk membentuk teks. Pada dasarnya ia membersihkan spasi dan karakter + khusus, dan membentuk paragraf dengan menggulung di batas dn baris + yang menggantung. + + + Anda bisa menyetel parameter secara eksplisit, atau memakai gaya preset. + Saat ini email adalah satu-satunya gaya yang tersedia. + + + + + + + + + + + + Nama Atribut + Tipe + Diperlukan + Default + Deskripsi + + + + + style + string + Tidak + n/a + Gaya preset + + + indent + number + Tidak + 0 + Jumlah karakter untuk melekuk setiap baris + + + indent_first + number + Tidak + 0 + Jumlah karakter untuk melekukan baris pertama + + + indent_char + string + Tidak + (single space) + Karakter (atau string karakter) untuk melekukan + + + wrap + number + Tidak + 80 + Berapa banyak karakter untuk menggulung setiap barisnya + + + wrap_char + string + Tidak + \n + Karakter (or string of chars) to break each line with + + + wrap_cut + boolean + Tidak + &false; + Jika &true;, gulungan akan memecah baris di karakter yang tepat + daripada di batas kata + + + assign + string + Tidak + n/a + Variabel template yang akan ditempati output + + + + + + + {textformat} + + + + + Contoh di atas akan menampilkan: + + + + + + + + + Contoh di atas akan menampilkan: + + + + + + + + + Contoh di atas akan menampilkan: + + + + + + + + + Contoh di atas akan menampilkan: + + + + + + + Lihat juga + {strip} + dan + wordwrap. + + + + \ No newline at end of file diff --git a/docs/id/designers/language-modifiers/language-modifier-capitalize.xml b/docs/id/designers/language-modifiers/language-modifier-capitalize.xml new file mode 100644 index 00000000..39a436cd --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-capitalize.xml @@ -0,0 +1,96 @@ + + + + capitalize + + Ini dipakai untuk membesarkan huruf pertama dari seluruh kata dalam variable. + Mirip dengan fungsi PHP + ucfirst(). + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + boolean + Tidak + &false; + Ini menentukan apakah kata dengan digit akan dibesarkan atau + tidak + + + + + + capitalize + +assign('articleTitle', 'next x-men film, x3, delayed.'); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + Lihat juga + lower + dan + upper + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-cat.xml b/docs/id/designers/language-modifiers/language-modifier-cat.xml new file mode 100644 index 00000000..06cd999e --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-cat.xml @@ -0,0 +1,84 @@ + + + + cat + + Nilai ini digabungkan ke variabel yang disediakan. + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Tidak + empty + Nilai ini menggabung variabel yang disediakan. + + + + + + + cat + +assign('articleTitle', "Psychics predict world didn't end"); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-count-characters.xml b/docs/id/designers/language-modifiers/language-modifier-count-characters.xml new file mode 100644 index 00000000..8471a987 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-count-characters.xml @@ -0,0 +1,96 @@ + + + + count_characters + + Ini akan dipakai untuk menghitung jumlah karakter dalam variabel. + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + boolean + Tidak + &false; + Ini menentukan apakah menyertakan karakter spasi dalam + hitungan atau tidak. + + + + + + + count_characters + +assign('articleTitle', 'Cold Wave Linked to Temperatures.'); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + count_words, + count_sentences dan + count_paragraphs. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/id/designers/language-modifiers/language-modifier-count-paragraphs.xml new file mode 100644 index 00000000..4fd78460 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-count-paragraphs.xml @@ -0,0 +1,71 @@ + + + + count_paragraphs + + Ini dipakai untuk menghitung jumlah paragraf dalam variabel. + + + count_paragraphs + +assign('articleTitle', + "War Dims Hope for Peace. Child's Death Ruins Couple's Holiday.\n\n + Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation." + ); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + count_characters, + count_sentences + dan + count_words. + + + + \ No newline at end of file diff --git a/docs/id/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/id/designers/language-modifiers/language-modifier-count-sentences.xml new file mode 100644 index 00000000..3b8de049 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-count-sentences.xml @@ -0,0 +1,69 @@ + + + + count_sentences + + Ini dipakai untuk menghitung jumlah kalimat dalam variabel. + + + count_sentences + +assign('articleTitle', + 'Two Soviet Ships Collide - One Dies. + Enraged Cow Injures Farmer with Axe.' + ); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + count_characters, + count_paragraphs + dan + count_words. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-count-words.xml b/docs/id/designers/language-modifiers/language-modifier-count-words.xml new file mode 100644 index 00000000..01d56ba4 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-count-words.xml @@ -0,0 +1,66 @@ + + + + count_words + + Ini dipakai untuk menghitung jumlah kata dalam variabel. + + + count_words + +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + count_characters, + count_paragraphs + dan + count_sentences. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-date-format.xml b/docs/id/designers/language-modifiers/language-modifier-date-format.xml new file mode 100644 index 00000000..0443becf --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-date-format.xml @@ -0,0 +1,287 @@ + + + + date_format + + Ini membentuk tanggal dan jam ke format + strftime() + yang disediakan. + Tanggal dapat dikirimkan ke Smarty sebagai + timestamps unix, mysql timestamps + atau string lain yang terdiri dari bulan hari tahun, dapat diuraikan oleh + strtotime() php. + Desainer dapat memakai date_format untuk mengontrol + sepenuhnya pembentukan tanggal. Jika tanggal yang dikiriimkan ke + date_format kosong dan parameter kedua dikirimkan, itu akan + dipakai sebagai format tanggal. + + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Tidak + %b %e, %Y + Ini adalah format untuk tanggal yang ditampilkan. + + + 2 + string + Tidak + n/a + Ini adalah tanggal standar jika input kosong. + + + + + + + + + Sejak Smarty-2.6.10 nilai numerik yang dikirimkan ke date_format + selalu (kecuali untuk cap waktu mysql, lihat di bawah) + diinterpretasikan sebagai cap waktu unix. + + + Sebelum Smarty-2.6.10 string numerik yang juga dapat diuraikan oleh + strtotime() dalam php (seperti YYYYMMDD) + di mana kadang-kadang (tergantung pada dasar implementasi + strtotime()) diinterpretasikan sebagai string tanggal + BUKAN sebagai cap waktu. + + + Satu-satunya kekecualian adalah cap waktu mysql: Ia juga hanya numerik dan + panjang karakternya 14 (YYYYMMDDHHMMSS), + cap waktu mysql memiliki awalan dibanding cap waktu unix. + + + + Catatan pemrogram + + date_format pelapis penting untuk fungsi PHP + strftime(). + Anda dapat mempunyai penentu konversi lebih atau sedikit disediakan + tergantung pada fungsi strftime() + sistem anda di mana PHP dikompilasi. Periksa halaman manual sistem untuk + daftar lengkap dari penentu yang benar. Akan tetapi, sedikit penentu + diemulasikan pada Windows. Ini adalah: %D, %e, %h, %l, %n, + %r, %R, %t, %T. + + + + + date_format + +assign('config', $config); +$smarty->assign('yesterday', strtotime('-1 day')); + +?> +]]> + + + Template ini menggunakan + $smarty.now untuk mendapatkan jam saat ini: + + + + + + Contoh di atas akan memperlihatkan: + + + + + + + + Penentu konversi date_format: + + + %a - singkatan nama hari dalam minggu berdasarkan lokal saat ini + + + %A - nama hari lengkap berdasarkan lokal saat ini + + + %b - singkatan nama bulan berdasarkan lokal saat ini + + + %B - nama bulan lengkap berdasarkan lokal saat ini + + + %c - representasi tanggal dan jam yang lebih disukai berdasarkan lokal saat ini + + + %C - angka abad (tahun dibagi 100 dan dipotong ke integer, (mulai 00 sampai 99) + + + %d - hari pada bulan sebagai angka desimal (mulai 01 sampai 31) + + + %D - same as %m/%d/%y + + + %e - hari dalam bulan sebagai angka desimal, digit tunggal diawali dengan + spasi (mulai 1 sampai 31) + + + %g - tahun berbasis-Minggu di dalam abad [00,99] + + + %G - tahun berbasis-Minggu, termasuk abad [0000,9999] + + + %h - sama seperti %b + + + %H - jam sebagai angka desimal menggunakan waktu 24-jam (mulai 00 sampai 23) + + + %I - jam sebagai angka desimal menggunakan waktu 12-jam (mulai 01 sampai 12) + + + %j - hari dalam tahun sebagai angka desimal (mulai 001 sampai 366) + + + %k - Jam (waktu 24-jam) digit tunggal diawali dengan kosng. (mulai 0 sampai 23) + + + %l - jam sebagai angka desimal menggunakan waktu 12-jam, digit tunggal + diawali dengan spasi (mulai 1 sampai 12) + + + %m - bulan sebagai angka desimal (mulai 01 sampai 12) + + + %M - menit sebagai angka desimal + + + %n - karakter baris baru + + + %p - baik `am' ataupun `pm' berdasarkan nilai waktu yang disediakan, + atau string terkait untuk lokal saat ini + + + %r - jam dalam notasi a.m. dan p.m. + + + %R - jam dalam notasi 24 jam + + + %S - detik sebagai angka desimal + + + %t - karakter tab + + + %T - jam sekarang, sama dengan %H:%M:%S + + + %u - hari dalam minggu sebagai angka desimal [1,7], dengan1 mewakili Senin + + + %U - angka minggu dari tahun sekarang sebagai angka desimal, dimulai dengan + Minggu sebagai hari pertama dari minggu pertama + + + %V - Angka minggu ISO 8601:1988 dari tahun sekarang sebagai angka desimal, + mulai 01 sampai 53, di mana minggu 1 adalah minggu pertama yang mempunyai + setidaknya 4 hari dalam tahun sekarang, dan dengan Senin sebagai hari + pertama dalam seminggu. + + + %w - hari dari minggu sebagai desimal, Minggu adalah 0 + + + %W - angka minggu dari tahun sekarang sebagai angka desimal, dimulai + dengan Senin pertama sebagai hari pertama dari minggu pertama + + + %x - representasi tanggal yang lebih disukai untuk lokal saat ini tanpa jam + + + %X - representasi jam yang lebih disukai untuk lokal saat ini tanpa tanggal + + + %y - tahun sebagai angka desimal tanpa abad (mulai 00 sampai 99) + + + %Y - tahun sebagai angka desimal termasuk abad + + + %Z - zona waktu atau nama atau singkatan + + + %% - karakter literal `%' + + + + + + Lihat juga $smarty.now, + strftime(), + {html_select_date} + dan halaman tips tanggal page. + + + + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-default.xml b/docs/id/designers/language-modifiers/language-modifier-default.xml new file mode 100644 index 00000000..5ed8e77a --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-default.xml @@ -0,0 +1,111 @@ + + + + default + + Ini dipakai untuk menyetel nilai standar untuk sebuah variabel. Jika + variabel tidak disetel atau string kosong, nilai standar diberikan untuk + dicetak. Default memerlukan satu argumen. + + + + + Dengan + error_reporting(E_ALL), + variabel yang tidak dideklarasikan akan selalu menghasilkan kesalahan + di dalam template. Fungsi ini berguna untuk mengganti string dengan + panjang null atau nol. + + + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Tidak + empty + Ini adalah nilai standar untuk ditampilkan jika + variabel kosong. + + + + + + + default + +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->assign('email', ''); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + penanganan variabel standar + dan halaman + penanganan variabel kosong. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-escape.xml b/docs/id/designers/language-modifiers/language-modifier-escape.xml new file mode 100644 index 00000000..1bf4700f --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-escape.xml @@ -0,0 +1,159 @@ + + + + escape + + escape dipakai untuk mengkodekan atau mengubah variabel ke contohnya html, + url, tanda kutip tunggal, + heksa, heksentitas, + javascript dan mail. + Standarnya html. + + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Nilai yang Mungkin + Default + Deskripsi + + + + + 1 + string + Tidak + html, htmlall, + url, + urlpathinfo, quotes, + hex, hexentity, + javascript, mail + + html + Ini adalah format escape yang digunakan. + + + 2 + string + Tidak + ISO-8859-1, UTF-8, + dan setiap karakter yang didukung oleh + + htmlentities() + + ISO-8859-1 + Set karakter yang semuanya dikirimkan ke htmlentities(). + + + + + + + escape + +assign('articleTitle', + "'Stiff Opposition Expected to Casketless Funeral Plan'" + ); +$smarty->assign('EmailAddress','smarty@example.com'); + +?> +]]> + + + Ini adalah contoh baris template escape diikuti oleh output + + + *} +'Stiff Opposition Expected to Casketless Funeral Plan' + +{$articleTitle|escape:'htmlall'} {* escapes SEMUA entri html *} +'Stiff Opposition Expected to Casketless Funeral Plan' + +click here +click here + +{$articleTitle|escape:'quotes'} +\'Stiff Opposition Expected to Casketless Funeral Plan\' + +{$EmailAddress|escape:"hexentity"} +{$EmailAddress|escape:'mail'} {* this converts to email to text *} +bob..snip..et + +{'mail@example.com'|escape:'mail'} +smarty [AT] example [DOT] com +]]> + + + + + Contoh lain + Fungsi PHP dapat dipakai sebagai pengubah, + + $security yang mengijinkan. + + +click here +]]> + + This snippet is useful for emails, but see also + + {mailto} + +{$EmailAddress|escape:'mail'} +]]> + + + + + Lihat juga + escaping penguraian smarty, + {mailto} + dan halaman + mengaburkan alamat email. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-indent.xml b/docs/id/designers/language-modifiers/language-modifier-indent.xml new file mode 100644 index 00000000..d8f6d209 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-indent.xml @@ -0,0 +1,127 @@ + + + + indent + + Ini menggantungstring di setiap baris, standarnya 4. Sebagai parameter + opsional, anda dapat menetapkan jumlah karakter untuk digantung. Sebagai + parameter opsional kedua, anda dapat menetapkan karakter yang dipakai + untuk menggantung misalnya memakai "\t" untuk tab. + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + integer + Tidak + 4 + Ini menentukan berapa banyak karakter yang digantung + to. + + + 2 + string + Tidak + (satu spasi) + Ini adalah karakter yang digunakan untuk menggantung. + + + + + + + indent + +assign('articleTitle', + 'NJ judge to rule on nude beach. +Sun or rain expected today, dark tonight. +Statistics show that teen pregnancy drops off significantly after 25.' + ); +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + strip, + wordwrap + dan + spacify. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-lower.xml b/docs/id/designers/language-modifiers/language-modifier-lower.xml new file mode 100644 index 00000000..44c58b96 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-lower.xml @@ -0,0 +1,67 @@ + + + + lower + + Ini dipakai untuk mengecilkan variabel. Ini sama dengan fungsi PHP + + strtolower(). + + + lower + +assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); + +?> +]]> + + + Di mana template adalah: + + + + + + Ini akan memperlihatkan: + + + + + + + Lihat juga + upper + dan + capitalize. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-nl2br.xml b/docs/id/designers/language-modifiers/language-modifier-nl2br.xml new file mode 100644 index 00000000..72cd6fdf --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-nl2br.xml @@ -0,0 +1,69 @@ + + + + nl2br + + Semua pemisah baris "\n" akan diubah ke tag html + <br /> dalam variabel yang disediakan. + Ini sama dengan fungsi PHP + nl2br(). + + + nl2br + +assign('articleTitle', + "Sun or rain expected\ntoday, dark tonight" + ); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + +today, dark tonight +]]> + + + + Lihat juga + word_wrap, + count_paragraphs + dan + count_sentences. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/id/designers/language-modifiers/language-modifier-regex-replace.xml new file mode 100644 index 00000000..91103ae6 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-regex-replace.xml @@ -0,0 +1,106 @@ + + + + regex_replace + + Pencarian ekspresi reguler dan penggantian pada variabel. Gunakan sintaks + + preg_replace() dari manual PHP. + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Ya + n/a + Ini adalah ekspresi reguler untuk diganti. + + + 2 + string + Ya + n/a + Ini adalah string teks untuk mengganti. + + + + + + + regex_replace + +assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + replace + dan + escape. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-replace.xml b/docs/id/designers/language-modifiers/language-modifier-replace.xml new file mode 100644 index 00000000..3d6c13f1 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-replace.xml @@ -0,0 +1,105 @@ + + + + replace + + Pencarian sederhana dan penggantian pada variabel. Ini sama dengan fungsi + PHP + str_replace(). + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Ya + n/a + Ini adalah string teks untuk diganti. + + + 2 + string + Ya + n/a + Ini adalah string teks untuk mengganti. + + + + + + + replace + +assign('articleTitle', "Child's Stool Great for Use in Garden."); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + regex_replace + dan + escape. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-spacify.xml b/docs/id/designers/language-modifiers/language-modifier-spacify.xml new file mode 100644 index 00000000..e9b51e18 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-spacify.xml @@ -0,0 +1,98 @@ + + + + spacify + + spacify adalah cara untuk menyisipkan spasi diantara + setiap karakter dari variabel. + Anda bisa secara opsional mengirimkan karakter atau string berbeda + untuk disisipkan. + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Tidak + satu spasi + Ini akan disisipkan diantara setiap karakter dari variabel. + + + + + + + spacify + +assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + wordwrap + dan + nl2br. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-string-format.xml b/docs/id/designers/language-modifiers/language-modifier-string-format.xml new file mode 100644 index 00000000..cb035afb --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-string-format.xml @@ -0,0 +1,98 @@ + + + + string_format + + Ini adalah cara untuk membentuk string, seperti angka desimal dan + semacamnya. Gunakan sintaks + sprintf() + untuk pembentukan. + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + string + Ya + n/a + Ini adalah format apa yang dipakai. (sprintf) + + + + + + + string_format + +assign('number', 23.5787446); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + + See also + date_format. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/id/designers/language-modifiers/language-modifier-strip-tags.xml new file mode 100644 index 00000000..12355e3c --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-strip-tags.xml @@ -0,0 +1,99 @@ + + + + strip_tags + + Ini memotong tag markup, pada dasarnya apapun diantara + < dan >. + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + bool + Tidak + &true; + Ini menentukan apakah tag diganti dengan ' ' atau '' + + + + + + + strip_tags + +assign('articleTitle', + "Blind Woman Gets New +Kidney from Dad she Hasn't Seen in years." + ); + +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + +New Kidney from Dad she Hasn't Seen in years. +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years . +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. +]]> + + + + Lihat juga + replace + dan + regex_replace. + + + \ No newline at end of file diff --git a/docs/id/designers/language-modifiers/language-modifier-strip.xml b/docs/id/designers/language-modifiers/language-modifier-strip.xml new file mode 100644 index 00000000..1c3bc98a --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-strip.xml @@ -0,0 +1,75 @@ + + + + strip + + Ini mengganti semua spasi yang berulang, baris baru dan tab dengan spasi + tunggal, atau dengan string yang disertakan. + + + Catatan + + Jika anda ingin memotong blok teks template, gunakan fungsi built-in {strip}. + + + + strip + +assign('articleTitle', "Grandmother of\neight makes\t hole in one."); +$smarty->display('index.tpl'); +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + + Lihat juga + {strip} + dan + truncate. + + + \ No newline at end of file diff --git a/docs/id/designers/language-modifiers/language-modifier-truncate.xml b/docs/id/designers/language-modifiers/language-modifier-truncate.xml new file mode 100644 index 00000000..5de54e19 --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-truncate.xml @@ -0,0 +1,129 @@ + + + + truncate + + Ini memotong variabel ke panjang karakter, standarnya 80. + Sebagai parameter opsional kedua, anda bisa menetapkan string teks yang + ditampilkan di akhir jika variabel dipotong. Karakter dalam string + disertakan dengan panjang pemotongan asli. + Standarnya, truncate akan mencoba untuk memotong di + batas kata. Jika anda ingin memotong di panjang karakter persis, + kirimkan parameter opsional ketiga dengan &true;. + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + integer + Tidak + 80 + Ini menentukan berapa banyak karakter untuk dipotong. + + + 2 + string + Tidak + ... + Ini adalah teks string yang mengganti teks yang dipotong. + Panjangya disertakan dalam setelan panjang pemotongan. + + + 3 + boolean + Tidak + &false; + Ini menentukan apakah memotong di batas kata dengan &false; + atau tidak, atau di persis karakter dengan &true;. + + + 4 + boolean + Tidak + &false; + Ini menentukan apakah pemotongan terjadi di akhir string dengan + &false;, atau ditengah string dengan &true;. + Catatan bahwa jika setelan adalah &true;, maka batas kata diabaikan. + + + + + + + + truncate + +assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); +?> +]]> + + + di mana template adalah: + + + + + + Ini akan memperlihatkan: + + + + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-upper.xml b/docs/id/designers/language-modifiers/language-modifier-upper.xml new file mode 100644 index 00000000..4e3bfd8b --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-upper.xml @@ -0,0 +1,65 @@ + + + + upper + + Ini dipakai untuk membesarkan variabel. Ini sama dengan fungsi PHP + + strtoupper(). + + + upper + +assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); +?> +]]> + + + Di mana template adalah: + + + + + + Akan memperlihatkan: + + + + + + + Lihat juga + lower + dan + capitalize. + + + + diff --git a/docs/id/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/id/designers/language-modifiers/language-modifier-wordwrap.xml new file mode 100644 index 00000000..ba3c8cdd --- /dev/null +++ b/docs/id/designers/language-modifiers/language-modifier-wordwrap.xml @@ -0,0 +1,143 @@ + + + + wordwrap + + Menggulung string ke panjang kolom, standarnya 80. Sebagai parameter + opsional kedua, anda dapat menetapkan string teks untuk menggulung + teks ke baris berikutnya, biasanya adalah carriage return + "\n". + Standarnya, wordwrap akan mencoba untuk menggulung + di batas kata. Jika anda ingin memotong persis di panjang karakter, + kirimkan parameter opsional ketiga sebagai &true;. Ini sama dengan + fungsi PHP + wordwrap(). + + + + + + + + + + + + Posisi Parameter + Tipe + Diperlukan + Default + Deskripsi + + + + + 1 + integer + Tidak + 80 + Ini menentukan berapa banyak kolom digulung. + + + 2 + string + Tidak + \n + Ini adalah string yang dipakai untuk menggulung kata. + + + 3 + boolean + Tidak + &false; + Ini menentukan apakah menggulung di batas kata (&false;) atau tidak, + atau persis di karakter (&true;). + + + + + + + wordwrap + +assign('articleTitle', + "Blind woman gets new kidney from dad she hasn't seen in years." + ); + +?> +]]> + + + Di mana template adalah + + +\n"} + +{$articleTitle|wordwrap:26:"\n":true} +]]> + + + Akan memperlihatkan: + + + +from dad she hasn't seen in
      +years. + +Blind woman gets new kidn +ey from dad she hasn't se +en in years. +]]> +
      +
      + + Lihat juga + nl2br + dan + {textformat}. + +
      + + + diff --git a/docs/id/designers/language-variables/language-assigned-variables.xml b/docs/id/designers/language-variables/language-assigned-variables.xml new file mode 100644 index 00000000..182b2176 --- /dev/null +++ b/docs/id/designers/language-variables/language-assigned-variables.xml @@ -0,0 +1,203 @@ + + + + Variabel ditempatkan dari PHP + + Variabel + assigned dari PHP direferensi oleh + pendahulunya dengan tanda dolar $ (seperti php). + Variabel yang ditempati dari dalam template dengan fungsi + {assign} + juga ditampilkan dengan cara ini. + + + + Variabel yang ditempati + naskah php + +assign('firstname', 'Doug'); +$smarty->assign('lastname', 'Evans'); +$smarty->assign('meetingPlace', 'New York'); + +$smarty->display('index.tpl'); + +?> +]]> + + + di mana konten index.tpl adalah: + + + +{* ini tidak akan bekerja karena $variables adalah sensitif huruf *} +This weeks meeting is in {$meetingplace}. +{* ini akan bekerja *} +This weeks meeting is in {$meetingPlace}. +]]> + + + + Output di atas: + + + +This weeks meeting is in . +This weeks meeting is in New York. +]]> + + + + + + Array asosiatif + + Anda juga bisa mereferensi variabel array asosiatif yang ditempatkan dari + PHP dengan menetapkan kunci setelah simbol '.' (titik). + + + Mengakses variabel array asosiatif + +assign('Contacts', + array('fax' => '555-222-9876', + 'email' => 'zaphod@slartibartfast.example.com', + 'phone' => array('home' => '555-444-3333', + 'cell' => '555-111-1234') + ) + ); +$smarty->display('index.tpl'); +?> +]]> + + + di mana konten index.tpl adalah: + + + +{$Contacts.email}
      +{* anda dapat menampilkan array dari array juga *} +{$Contacts.phone.home}
      +{$Contacts.phone.cell}
      +]]> +
      + + ini akan menampilkan: + + + +zaphod@slartibartfast.example.com
      +555-444-3333
      +555-111-1234
      +]]> +
      +
      +
      + + + + Indeks array + + Anda bisa mereferensi array dengan indeksnya, lebih mirip dengan sintaks PHP. + + + Mengakses array dengan indeks + +assign('Contacts', array( + '555-222-9876', + 'zaphod@slartibartfast.example.com', + array('555-444-3333', + '555-111-1234') + )); +$smarty->display('index.tpl'); +?> +]]> + + + di mana index.tpl adalah: + + + +{$Contacts[1]}
      +{* anda dapat menampilkan arrays dari arrays juga *} +{$Contacts[2][0]}
      +{$Contacts[2][1]}
      +]]> +
      + + Ini akan menampilkan: + + + +zaphod@slartibartfast.example.com
      +555-444-3333
      +555-111-1234
      +]]> +
      +
      +
      + + + + Obyek + + Properti obyek + yang ditempatkan dari PHP dapat direferensi dengan menetapkan nama properti + setelah simbol ->. + + + Mengakses properti obyek + +name}
      +email: {$person->email}
      +]]> +
      + + ini akan menampilkan: + + + +email: zaphod@slartibartfast.example.com
      +]]> +
      +
      +
      +
      + + diff --git a/docs/id/designers/language-variables/language-config-variables.xml b/docs/id/designers/language-variables/language-config-variables.xml new file mode 100644 index 00000000..56b02cbd --- /dev/null +++ b/docs/id/designers/language-variables/language-config-variables.xml @@ -0,0 +1,119 @@ + + + + Variabel yang diambil dari file config + + Variabel yang diambil dari file config + direferensi dengan menutupinya dalam #tanda kris#, + atau dengan variabel smarty + $smarty.config. + Sintaks terakhir berguna untuk menyertakan ke dalam nilai atribut bertanda + kutip. + + + variabel config + + Contoh file config - foo.conf: + + + + + + Template yang memperlihatkan metode #hash#: + + + +{#pageTitle#} + + + + + + + +
      FirstLastAddress
      + + +]]> +
      + + Template yang memperlihatkan metode + + $smarty.config: + + + +{$smarty.config.pageTitle} + + + + + + + +
      FirstLastAddress
      + + +]]> +
      + + Kedua contoh akan menampilkan: + + + +This is mine + + + + + + + +
      FirstLastAddress
      + + +]]> +
      +
      + + Variabel file config tidak bisa dipakai sampai setelah diambil dari file + config. Prosedur ini dijelaskan nanti dalam dokumen ini di bawah + + {config_load}. + + + Lihat juga variabel dan + variabel terpakai $smarty + +
      + diff --git a/docs/id/designers/language-variables/language-variables-smarty.xml b/docs/id/designers/language-variables/language-variables-smarty.xml new file mode 100644 index 00000000..40e34ad9 --- /dev/null +++ b/docs/id/designers/language-variables/language-variables-smarty.xml @@ -0,0 +1,227 @@ + + + + variabel terpakai {$smarty} + + variabel PHP terpakai {$smarty} bisa digunakan untuk + mengakses beberapa lingkungan dan variabel permintaan. Daftar lengkapnya + sebagai berikut. + + + + Variabel permintaan + + variabel permintaan + seperti $_GET, $_POST, + $_COOKIE, $_SERVER, + $_ENV dan $_SESSION + (lihat + $request_vars_order + dan + $request_use_auto_globals) + bisa diakses seperti diperlihatkan dalam contoh di bawah ini: + + + Menampilkan variabel permintaan + + + + + + + Untuk alasan historis {$SCRIPT_NAME} dapat diakses + secara langsung, meskipun {$smarty.server.SCRIPT_NAME} + adalah cara yang diusulkan untuk mengakses nilai ini. + + +click me +click me +]]> + + + + + + {$smarty.now} + + Cap waktu saat ini + bisa diakses dengan {$smarty.now}. + Nilai merefleksikan jumlah detik berlalu sejak apa yang disebut + Epoch pada 1 Januari 1970, dan dapat dikirimkan secara langsung ke + pengubah + date_format + untuk ditampilkan. Catatan bahwa + time() + dipanggil setiap kali ada permintaan; misalnya naskah yang mengambil + tiga detik untuk dijalankan dengan sebuah panggilan ke + $smarty.now di awal dan akhir akan menampilkan + perbedaan tiga detik. + + + + + + + + + + {$smarty.const} + + Anda dapat mengakses nilai konstan PHP secara langsung. Lihat juga konstan smarty. + + + + +]]> + + +Output konstan dalam template + + + + + + + + + {$smarty.capture} + + Output template ditangkap melalui fungsi built-in + + {capture}..{/capture} bisa diakses menggunakan + variabel {$smarty.capture}. + Lihat halaman + {capture} untuk informasi lebih jauh. + + + + + {$smarty.config} + + Variabel {$smarty.config} bisa digunakan untuk + merujuk ke variabel config + yang diambil. + {$smarty.config.foo} adalah sinonim untuk + {#foo#}. Lihat halaman + {config_load} untuk + informasi lebih jauh. + + + + + {$smarty.section}, {$smarty.foreach} + + Variabel {$smarty.section} dan + {$smarty.foreach} dapat digunakan untuk merujuk ke + masing-masing properti pengulangan + {section} + dan + {foreach}. + Ini memiliki beberapa nilai kegunaan seperti + .first, .index, dll. + + + + + {$smarty.template} + + Mengembalikan nama template yang sedang diproses saat ini. Contoh berikut + memperlihatkan container.tpl dan + banner.tpl yang disertakan dengan + {$smarty.template} di dalam keduanya. + + +Main container is {$smarty.template} +{include file='banner.tpl'} +]]> + + + akan menampilkan + + +Main page is container.tpl +banner.tpl +]]> + + + + + {$smarty.version} + + Mengembalikan versi Smarty di mana template sudah dikompilasi dengannya. + + +Powered by Smarty {$smarty.version} +]]> + + + + + {$smarty.ldelim}, {$smarty.rdelim} + + Variabel ini dipakai untuk mencetak nilai pembatas-kiri dan pembatas-kanan + secara literal, sama seperti + {ldelim},{rdelim}. + + + Lihat juga + variabel yang ditempati dan + variabel config + + + + diff --git a/docs/id/programmers/advanced-features/advanced-features-objects.xml b/docs/id/programmers/advanced-features/advanced-features-objects.xml new file mode 100644 index 00000000..228ef922 --- /dev/null +++ b/docs/id/programmers/advanced-features/advanced-features-objects.xml @@ -0,0 +1,142 @@ + + + + Obyek + + Smarty membolehkan akses ke + obyek PHP melalui template. + Ada dua cara untuk mengaksesnya. + + + + + Cara pertama adalah meregistrasi obyek ke + template, lalu menaksesnya via sintaks mirip dengan + fungsi kustom. + + + Cara kedua adalah fungsi assign() + obyek ke template dan mengaksesnya seperti halnya variabel lainnya yang + ditempati. + + + + + Metode pertama ini merupakan sintaks template lebih baik. Ia juga lebih aman, + karena obyek terdaftar dapat dibatasi ke metode atau properti tertentu. AKan tetapi, + obyek terdaftar tidak bisa diulang terus menerus atau ditempati + dalam obyek arrays, dll. Metode yang anda pilih akan ditentukan oleh + kebutuhan anda, tapi gunakan metode pertama bila memungkinkan untuk + memelihara sintaks template menjadi minimum. + + + Jika $security + dihidupkan, tidak ada metode privat atau fungsi yang dapat diakses + (diawali dengan '_'). Jika ada metode dan properti dari nama yang sama, + metode yang akan dipakai. + + + Anda dapat membatasi metode dan propertis yang bisa diakses dengan + mendaftarkannya dalam sebuah array sebagai parameter ketiga registrasi. + + + Secara standar, parameter dioperkan ke obyek melaluis template, dioperkan + dengan cara yang sama + fungsi kustom mendapatkannya. + Array asosiatif dioper sebagai parameter pertama, dan obyek smarty sebagai + yang kedua. Jika anda menginginkan parameter mengoper satu parameter + sekali waktu untuk setiap argumen seperti pengoperan parameter obyek + tradisional, set parameter registrasi ke empat dengan &false;. + + + Parameter opsional ke lima hanya berpengaruh dengan + format dijadikan &true; + dan berisi daftar metode yang seharusnya diperlakukan sebagai blok. Itu + berarti metode ini mempunyai tag penutup dalam template + ({foobar->meth2}...{/foobar->meth2}) dan + parameter pada metode mempunyai sinopsis yang sama seperti parameter + untuk + + block-function-plugins: + Ia medapatkan empat parameters + $params, + $content, + &$smarty dan + &$repeat dan juga bertindak seperti + block-function-plugins. + + + Menggunakan obyek teregistrasi atau ditempatkan + +register_object('foobar',$myobj); + +// Jika kita ingin membatasi akses ke metode atau properti tertentu, daftarkan +$smarty->register_object('foobar',$myobj,array('meth1','meth2','prop1')); + +// Jika anda ingin menggunakan format parameter obyek tradisional, operkan nilai boolean false +$smarty->register_object('foobar',$myobj,null,false); + +// Kita juga menempatkan obyek. assign_by_ref bila memungkinkan. +$smarty->assign_by_ref('myobj', $myobj); + +$smarty->display('index.tpl'); +?> +]]> + + + Dan ini adalah bagaimana untuk mengakses obyek anda dalam index.tpl: + + +meth1 p1='foo' p2=$bar} + +{* anda juga dapat menempatkan output *} +{foobar->meth1 p1='foo' p2=$bar assign='output'} +the output was {$output} + +{* akses obyek kita yang sudah ditempatkan *} +{$myobj->meth1('foo',$bar)} +]]> + + + + Lihat juga register_object() + dan + assign(). + + + diff --git a/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml b/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml new file mode 100644 index 00000000..e291fb46 --- /dev/null +++ b/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml @@ -0,0 +1,80 @@ + + + + Filter Output + + Ketika template dipanggil via + display() atau + fetch(), outputnya bisa + dikirimkan melalui satu atau lebih filter output. Ini berbeda dari + + postfilters + karena postfilters beroperasi pada template terkompilasi sebelum disimpan + ke disk, sedangkan filter output beroperasi pada output template ketika ia + dijalankan. + + + + Filter output bisa + teregistrasi atau diambil dari + direktori plugins dengan + menggunakan metode + load_filter() + atau dengan menyetel variabel + $autoload_filters. + Smarty akan mengoper output template sebagai argumen pertama, + dan mengharapkan fungsi untuk mengembalikan hasil proses. + + + Menggunakan template outputfilter + +register_outputfilter('protect_email'); +$smarty->display('index.tpl'); + +// sekarang setiap ada alamat email dalam output template akan mempunyai +// perlindungan sederhana terhadap spambots +?> +]]> + + + + Lihat juga + register_outpurfilter(), + load_filter(), + $autoload_filters, + postfilters dan + $plugins_dir. + + + diff --git a/docs/id/programmers/advanced-features/advanced-features-postfilters.xml b/docs/id/programmers/advanced-features/advanced-features-postfilters.xml new file mode 100644 index 00000000..c4327137 --- /dev/null +++ b/docs/id/programmers/advanced-features/advanced-features-postfilters.xml @@ -0,0 +1,73 @@ + + + + Postfilters + + Template postfilters adalah fungsi PHP di mana templates anda dijalankan + setelah dikompilasi. Postfilters bisa + teregistrasi atau diambil dari + direktori plugins + dengan menggunakan fungsi + load_filter() + atau dengan menyetel variabel + $autoload_filters. + Smarty akan mengoper kode template terkompilasi sebagai argumen, + dan mengharapkan fungsi untuk mengembalikan hasil pemrosesan. + + + Menggunakan template postfilter + +\n\"; ?>\n".$tpl_source; +} + +// daftarkan postfilter +$smarty->register_postfilter('add_header_comment'); +$smarty->display('index.tpl'); +?> +]]> + + + Postfilter di atas akan membuat Smarty template + terkompilasi + index.tpl terlihat seperti: + + + +{* konten template seterusnya... *} +]]> + + + + Lihat juga + register_postfilter(), + prefilters + dan + load_filter(). + + + diff --git a/docs/id/programmers/advanced-features/advanced-features-prefilters.xml b/docs/id/programmers/advanced-features/advanced-features-prefilters.xml new file mode 100644 index 00000000..7e3a7307 --- /dev/null +++ b/docs/id/programmers/advanced-features/advanced-features-prefilters.xml @@ -0,0 +1,72 @@ + + + + Prefilters + + Template prefilters adalah fungsi PHP di mana template anda dijalankan + sebelum dikompilasi. Ini bagus untuk preproses + template anda untuk menghapus komentar yang tidak diinginkan, mengawasi + apa yang disimpan orang dalam templatenya, dll. + + + Prefilters bisa teregistrasi atau diambil dari + direktori plugins + dengan menggunakan fungsi load_filter() atau dengan + menyetel variabel + $autoload_filters. + + + Smarty akan mengoper kode sumber template sebagai argumen pertama, dan + mengharapkan fungsi untuk mengembalikan hasil kode sumbber template. + + + Menggunakan template prefilter + + Ini akan menghapus semua komentar html dalam sumber template. + + +/U",'',$tpl_source); +} + +// daftarkan prefilter +$smarty->register_prefilter('remove_dw_comments'); +$smarty->display('index.tpl'); +?> +]]> + + + + Lihat juga + register_prefilter(), + postfilters + dan + load_filter(). + + + diff --git a/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml b/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml new file mode 100644 index 00000000..55ec051ab --- /dev/null +++ b/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml @@ -0,0 +1,191 @@ + + + + Fungsi Pengendali Cache + + Sebagai alternatif untuk menggunakan mekanisme cache berbasis-file + standar, anda bisa menetapkan fungsi penanganan cache kustom yang + akan digunakan untuk + membaca, menulis dan + membersihkan file yang di-cache. + + + Buat sebuah fungsi dalam aplikasi anda yang akan digunakan Smarty + sebagai pengendali cache. Set namanya dalam variabel kelas + + $cache_handler_func +. Smarty + sekarang akan menggunakan ini untuk menangani data yang di-cache. + + + + + Argumen pertama adalah aksi, yang akan berupa salah satu dari + read, write dan + clear. + + + + Parameter kedua adalah obyek Smarty. + + + Paremeter ketiga adalah konten yang di-cache. + Setelah menulis, Smarty mengoper konten yang + di-cache dalam parameter ini. Setelah membaca, + Smarty mengharapkan fungsi anda untuk menerima parameter ini + dengan referensi dan menempatkannya dengan data yang di-cache. + Setelah membersihkan, mengoper variabel dummy + di sini karena ia tidak digunakan. + + + + Parameter ke empat adalah nama file template +, + diperlukan untuk membaca/menulis. + + + + Parameter ke lima adalah opsional $cache_id. + + + + Parameter ke enam adalah opsional + $compile_id. + + + + Parameter ke tujuh dan parameter terakhir $exp_time + ditambahkan dalam Smarty-2.6.0. + + + + + + Contoh menggunakan MySQL sebagai sumber cache + +cache_handler_func = 'mysql_cache_handler'; + +$smarty->display('index.tpl'); + + +database mysql diharapkan dalam format ini: + +create database SMARTY_CACHE; + +create table CACHE_PAGES( +CacheID char(32) PRIMARY KEY, +CacheContents MEDIUMTEXT NOT NULL +); + +**************************************************/ + +function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null, $exp_time=null) +{ + // set db host, user dan sandi di sini + $db_host = 'localhost'; + $db_user = 'myuser'; + $db_pass = 'mypass'; + $db_name = 'SMARTY_CACHE'; + $use_gzip = false; + + // buat id cache unik + $CacheID = md5($tpl_file.$cache_id.$compile_id); + + if(! $link = mysql_pconnect($db_host, $db_user, $db_pass)) { + $smarty_obj->_trigger_error_msg('cache_handler: could not connect to database'); + return false; + } + mysql_select_db($db_name); + + switch ($action) { + case 'read': + // baca cache dari database + $results = mysql_query("select CacheContents from CACHE_PAGES where CacheID='$CacheID'"); + if(!$results) { + $smarty_obj->_trigger_error_msg('cache_handler: query failed.'); + } + $row = mysql_fetch_array($results,MYSQL_ASSOC); + + if($use_gzip && function_exists('gzuncompress')) { + $cache_content = gzuncompress($row['CacheContents']); + } else { + $cache_content = $row['CacheContents']; + } + $return = $results; + break; + case 'write': + // simpan cache ke database + + if($use_gzip && function_exists("gzcompress")) { + // compress the contents for storage efficiency + $contents = gzcompress($cache_content); + } else { + $contents = $cache_content; + } + $results = mysql_query("replace into CACHE_PAGES values( + '$CacheID', + '".addslashes($contents)."') + "); + if(!$results) { + $smarty_obj->_trigger_error_msg('cache_handler: query failed.'); + } + $return = $results; + break; + case 'clear': + // clear cache info + if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) { + // clear them all + $results = mysql_query('delete from CACHE_PAGES'); + } else { + $results = mysql_query("delete from CACHE_PAGES where CacheID='$CacheID'"); + } + if(!$results) { + $smarty_obj->_trigger_error_msg('cache_handler: query failed.'); + } + $return = $results; + break; + default: + // salah, aksi tidak dikenal + $smarty_obj->_trigger_error_msg("cache_handler: unknown action \"$action\""); + $return = false; + break; + } + mysql_close($link); + return $return; + +} + +?> +]]> + + + + diff --git a/docs/id/programmers/advanced-features/template-resources.xml b/docs/id/programmers/advanced-features/template-resources.xml new file mode 100644 index 00000000..1ba4d298 --- /dev/null +++ b/docs/id/programmers/advanced-features/template-resources.xml @@ -0,0 +1,261 @@ + + + + Sumber daya + + Template mungkin berasal dari berbagai sumber. Ketika anda + display() atau + fetch() + sebuah template, atau saat anda menyertakan template dari dalam + template lain, + anda menyertakan sebuah tipe sumber daya, diikuti + oleh path dan nama template terkait. Jika sumber daya tidak secara + eksplisit diberi nilai, + $default_resource_type yang diasumsikan. + + + + Templates dari $template_dir + + Template dari + $template_dir tidak membutuhkan sumber + daya template +, meskipun anda dapat menggunakan sumber daya + file: untuk konsistensi. Cukup sertakan path ke template yang + ingin anda gunakan relatif ke direktori akar + $template_dir. + + + Menggunakan template dari $template_dir + +display('index.tpl'); +$smarty->display('admin/menu.tpl'); +$smarty->display('file:admin/menu.tpl'); // sama seperti yang di atas +?> +]]> + +Dari dalam template Smarty + + + + + + + Template dari direktori mana saja + + Template di luar + $template_dir + memerlukan tipe sumber daya template file:, diikuti + oleh path absolut ke template. + + + Menggunakan template daru direktori mana saja + +display('file:/export/templates/index.tpl'); +$smarty->display('file:/path/to/my/templates/menu.tpl'); +?> +]]> + + + Dan dari dalam template Smarty: + + + + + + + + Path file Windows + + Jika anda menggunakan mesin Windows, path file biasanya menyertakan + sebuah huruf drive (C:) di awal nama path. Pastikan untuk menggunakan + file: dalam path guna menghindari konflik namespace dan + memperoleh hasil yang diinginkan. + + + Menggunakan template dari path file windows + +display('file:C:/export/templates/index.tpl'); +$smarty->display('file:F:/path/to/my/templates/menu.tpl'); +?> +]]> + + + Dan dari dalam template Smarty: + + + + + + + + + + Template dari sumber daya lain + + Anda dapat mengambil template menggunakan sumber daya apapun + yang mungkin anda akses dengan PHP: database, soket, LDAP, dan + seterusnya. Anda melakukan ini dengan menulis fungsi plugins + sumber daya dan mendaftarkannya dengan Smarty. + + + + Lihat seksi plugins sumber daya + untuk informasi lebih jauh mengenai fungsi yang harus anda sediakan. + + + + + Catatan bahwa anda tidak bisa menimpa sumber daya built-in + file:, tapi anda dapat menyediakan sumber daya yang + mengambil template dari sistem file dalam beberapa cara lain dengan + mendaftarkan di bawah nama sumber daya lain. + + + + Menggunakan sumber daya kustom + +query("select tpl_source + from my_table + where tpl_name='$tpl_name'"); + if ($sql->num_rows) { + $tpl_source = $sql->record['tpl_source']; + return true; + } else { + return false; + } +} + +function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj) +{ + // tidak ada pemanggilan database di sini untuk mempopulasikan $tpl_timestamp. + $sql = new SQL; + $sql->query("select tpl_timestamp + from my_table + where tpl_name='$tpl_name'"); + if ($sql->num_rows) { + $tpl_timestamp = $sql->record['tpl_timestamp']; + return true; + } else { + return false; + } +} + +function db_get_secure($tpl_name, &$smarty_obj) +{ + // menganggap seluruh template aman + return true; +} + +function db_get_trusted($tpl_name, &$smarty_obj) +{ + // tidak digunakan untu templates +} + +// mendaftarkan nama sumber daya "db" +$smarty->register_resource("db", array("db_get_template", + "db_get_timestamp", + "db_get_secure", + "db_get_trusted")); + +// menggunakan sumber daya dari naskah php +$smarty->display("db:index.tpl"); +?> +]]> + + + Dan dari dalam template Smarty: + + + + + + + + + Fungsi pengendali template default + + Anda bisa menetapkan fungsi yang dipakai untuk mengambil + konten template + seandainya template tidak dapat diambil dari + sumber dayanya. Satu kegunaan dari ini adalah untuk membuat + template yang tidak ada secara-langsung. + + + Menggunakan fungsi pengendali template default + +$smarty_obj->template_dir . DIRECTORY_SEPARATOR . $resource_name, 'contents'=>$template_source ), $smarty_obj ); + return true; + } + } else { + // bukan sebuah file + return false; + } +} + +// set pengendali standar +$smarty->default_template_handler_func = 'make_template'; +?> +]]> + + + + + + diff --git a/docs/id/programmers/api-functions/api-append-by-ref.xml b/docs/id/programmers/api-functions/api-append-by-ref.xml new file mode 100644 index 00000000..ce264a58 --- /dev/null +++ b/docs/id/programmers/api-functions/api-append-by-ref.xml @@ -0,0 +1,71 @@ + + + + + append_by_ref() + menambah nilai dengan referensi + + + Deskripsi + + voidappend_by_ref + stringvarname + mixedvar + boolmerge + + + Ini digunakan untuk + append() nilai ke template + dengan referensi. + Jika anda menambah sebuah variabel dengan referensi lalu mengubah nilainya, + nilai yang ditambahkan melihat perubahannya juga. Untuk + objects, + append_by_ref() juga menghindari duplikat obyek yang ditambahkan + dalam-memori. + Lihat manual PHP pada mereferensi variabel untuk penjelasan lebih dalam. Jika + anda mengoper parameter opsional ketiga yakni &true;, nilai akan digabung + dengan array daripada ditambahkan. + + ¬e.parameter.merge; + + append_by_ref + +append_by_ref('Name', $myname); +$smarty->append_by_ref('Address', $address); +?> +]]> + + + + Lihat juga + append(), + assign() + dan + get_template_vars(). + + + + + diff --git a/docs/id/programmers/api-functions/api-append.xml b/docs/id/programmers/api-functions/api-append.xml new file mode 100644 index 00000000..54223dcf --- /dev/null +++ b/docs/id/programmers/api-functions/api-append.xml @@ -0,0 +1,77 @@ + + + + + append() + menambahkan sebuah element ke array yang ditempatkan + + + Deskripsi + + voidappend + mixedvar + + + voidappend + stringvarname + mixedvar + boolmerge + + +Jika anda menambahkan ke nilai string, ia diubah ke nilai array dan kemudian ditambahkannya . + Anda bisa mengoper pasangan nama/nilai, atau array asosiatif yang berisi pasangan nama/nilai. + Jika anda mengoper parameter opsional ketiga &true;, nilai akan digabung dengan array saat ini + daripada ditambahkannya. + + ¬e.parameter.merge; + + append + +append('foo', 'Fred'); +// Setelah baris ini, foo sekarang terlihat sebagai array dalam template +$smarty->append('foo', 'Albert'); + +$array = array(1 => 'one', 2 => 'two'); +$smarty->append('X', $array); +$array2 = array(3 => 'three', 4 => 'four'); +// The following line will add a second element to the X array +$smarty->append('X', $array2); + +// mengoper sebuah array + asosiatif +$smarty->append(array('city' => 'Lincoln', 'state' => 'Nebraska')); +?> +]]> + + + Lihat juga + append_by_ref(), + assign() + dan + get_template_vars() + + + + diff --git a/docs/id/programmers/api-functions/api-assign-by-ref.xml b/docs/id/programmers/api-functions/api-assign-by-ref.xml new file mode 100644 index 00000000..ffc0d357 --- /dev/null +++ b/docs/id/programmers/api-functions/api-assign-by-ref.xml @@ -0,0 +1,76 @@ + + + + + assign_by_ref() + menempatkan nilai dengan referensi + + + Deskripsi + + voidassign_by_ref + stringvarname + mixedvar + + + Ini digunakan untuk assign() + nilai ke template denganvreferensi daripada membuat duplikat. Lihat manual PHP + pada mereferensi variabel untuk penjelasan. + + + Catatan Teknis + + Ini digunakan untuk menempatkan nilai ke template dengan referensi. + Jika anda menempatkan sebuah variabel dengan referensi maka mengubah + nilainya, nilai yang ditempati akan berubah juga. Untuk + obyek, + assign_by_ref() juga menghindari duplikasi obyek yang + ditempatkan dalam-memori. + Lihat manual PHP pada mereferensi variabel untuk penjelasan lebih dalam. + + + + assign_by_ref() + +assign_by_ref('Name', $myname); +$smarty->assign_by_ref('Address', $address); +?> +]]> + + + + See also + assign(), + clear_all_assign(), + append(), + {assign} + and + get_template_vars(). + + + + + + diff --git a/docs/id/programmers/api-functions/api-assign.xml b/docs/id/programmers/api-functions/api-assign.xml new file mode 100644 index 00000000..8d4dad86 --- /dev/null +++ b/docs/id/programmers/api-functions/api-assign.xml @@ -0,0 +1,98 @@ + + + + + assign() + menempatkan nilai ke template + + + Deskripsi + + voidassign + mixedvar + + + voidassign + stringvarname + mixedvar + + + Anda bisa mengoper pasangan nama/nilai secara eksplisit, atau array + asosiatif yang berisi pasangan nama/nilai. + + + assign() + +assign('Name', 'Fred'); +$smarty->assign('Address', $address); + +// mengurai array asosiatif +$smarty->assign(array('city' => 'Lincoln', 'state' => 'Nebraska')); + +// mengurai sebuah array +$myArray = array('no' => 10, 'label' => 'Peanuts'); +$smarty->assign('foo',$myArray); + +// mengurai baris dari database (contoh adodb) +$sql = 'select id, name, email from contacts where contact ='.$id; +$smarty->assign('contact', $db->getRow($sql)); +?> +]]> + + + Ini diakses dalam template dengan + + + + + + + Untuk mengakses penempatan array lebih komples lihat + {foreach} + dan + {section} + + + + Lihat juga + assign_by_ref(), + get_template_vars(), + clear_assign(), + append() + dan + {assign} + + + + diff --git a/docs/id/programmers/api-functions/api-clear-all-assign.xml b/docs/id/programmers/api-functions/api-clear-all-assign.xml new file mode 100644 index 00000000..cc783f24 --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-all-assign.xml @@ -0,0 +1,66 @@ + + + + + clear_all_assign() + membersihkan nilai dari seluruh variabel yang ditempati + + + Deskripsi + + voidclear_all_assign + + + + clear_all_assign() + +assign('Name', 'Fred'); +$smarty->assign('Address', $address); + +// akan menampilkan yang di atas +print_r( $smarty->get_template_vars() ); + +// bersihkan seluruh variabel yang ditempati +$smarty->clear_all_assign(); + +// tidak akan menampilkan apapun +print_r( $smarty->get_template_vars() ); + +?> +]]> + + + + Lihat juga + clear_assign(), + clear_config(), + get_template_vars(), + assign() + dan append() + + + + + diff --git a/docs/id/programmers/api-functions/api-clear-all-cache.xml b/docs/id/programmers/api-functions/api-clear-all-cache.xml new file mode 100644 index 00000000..a9d6ff5d --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-all-cache.xml @@ -0,0 +1,60 @@ + + + + + clear_all_cache() + membersihkan seluruh cache template + + + Deskripsi + + voidclear_all_cache + intexpire_time + + + Sebagai parameter opsional, anda bisa menyertakan waktu minimum dalam detik file cache + seharusnya sebelum dibersihkan. + + + clear_all_cache + +clear_all_cache(); + +// membersihkan seluruh file yang lebih dari satu jam lamanya +$smarty->clear_all_cache(3600); +?> +]]> + + + + Lihat juga + clear_cache(), + is_cached() + dan halaman + caching. + + + + diff --git a/docs/id/programmers/api-functions/api-clear-assign.xml b/docs/id/programmers/api-functions/api-clear-assign.xml new file mode 100644 index 00000000..428d58d7 --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-assign.xml @@ -0,0 +1,60 @@ + + + + + clear_assign() + membersihkan nilai dari variabel yang ditempati + + + Deskripsi + + voidclear_assign + mixedvar + + +Ini dapat berupa nilai tunggal, atau array nilai. + + + clear_assign() + +clear_assign('Name'); + +// membersihkan multipel variabel +$smarty->clear_assign(array('Name', 'Address', 'Zip')); +?> +]]> + + + + Lihat juga + clear_all_assign(), + clear_config(), + get_template_vars(), + assign() + dan append() + + + + diff --git a/docs/id/programmers/api-functions/api-clear-cache.xml b/docs/id/programmers/api-functions/api-clear-cache.xml new file mode 100644 index 00000000..df2d247c --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-cache.xml @@ -0,0 +1,81 @@ + + + + + clear_cache() + membersihkan cache untuk template tertentu + + + Deskripsi + + voidclear_cache + stringtemplate + stringcache_id + stringcompile_id + + intexpire_time + + + + + Jika anda mempunyai multipel cache + untuk sebuah template, anda bisa membersihkan cache tertentu dengan + menyertakan cache_id sebagai parameter kedua. + + + Anda juga bisa mengirimkan + $compile_id + sebagai parameter ketiga. + Anda dapat mengelompokan template bersama + agar bisas dihapus sebagai sebuah grup, lihat + seksi cache untuk informasi lebih jauh. + + + Sebagai parameter opsional keempat, anda dapat menyertakan waktu + minimum dalam detik cache file seharusnya sebelum dibersihkan. + + + + + clear_cache() + +clear_cache('index.tpl'); + +// bersihkan cache untuk id cache tertentu dalam multipel-cache template +$smarty->clear_cache('index.tpl', 'MY_CACHE_ID'); +?> +]]> + + + + Lihat juga + clear_all_cache() + dan seksi + caching. + + + + + diff --git a/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml b/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml new file mode 100644 index 00000000..2c0ba553 --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml @@ -0,0 +1,69 @@ + + + + + clear_compiled_tpl() + membersihkan versi terkompilasi dari sumber daya template yang ditetapkan + + + Deskripsi + + voidclear_compiled_tpl + stringtpl_file + stringcompile_id + + intexp_time + + + Ini membersihkan versi terkompilasi dari sumber daya template yang ditetapkan, + atau semua file template yang dikompilasi bila ini tidak ditetapkan. + Jika anda mengirimkan + $compile_id + hanya template terkompilasi untuk + $compile_id + spesifik ini yang dibersihkan. Jika anda mengirimkan exp_time, maka hanya + template terkompilasi yang lebih lama dari exp_time detik + yang dibersihkan, standarnya template terkompilasi dibersihkan dengan + mengabaikan usianya. + Fungsi ini hanya untuk penggunaan tingkat lanjut, tidak untuk kebutuhan normal. + + + clear_compiled_tpl() + +clear_compiled_tpl('index.tpl'); + +// bersihkan seluruh direktori kompilasi +$smarty->clear_compiled_tpl(); +?> +]]> + + + Lihat juga + clear_cache(). + + + + + diff --git a/docs/id/programmers/api-functions/api-clear-config.xml b/docs/id/programmers/api-functions/api-clear-config.xml new file mode 100644 index 00000000..47211bd5 --- /dev/null +++ b/docs/id/programmers/api-functions/api-clear-config.xml @@ -0,0 +1,65 @@ + + + + + clear_config() + membersihkan variabel config yang ditempati + + + Deskripsi + + voidclear_config + stringvar + + + Ini membersihkan semua + variabel config + yang ditempati. + Jika nama variabel disertakan, hanya variabel itu yang dibersihkan. + + + clear_config() + +clear_config(); + +// bersihkan satu variabel +$smarty->clear_config('foobar'); +?> +]]> + + + + Lihat juga + get_config_vars(), + config variables, + config files, + {config_load}, + config_load() + dan + clear_assign(). + + + + diff --git a/docs/id/programmers/api-functions/api-config-load.xml b/docs/id/programmers/api-functions/api-config-load.xml new file mode 100644 index 00000000..6b887d26 --- /dev/null +++ b/docs/id/programmers/api-functions/api-config-load.xml @@ -0,0 +1,82 @@ + + + + + config_load() + mengambil data file config yang menempatinya ke template + + + Deskripsi + + voidconfig_load + stringfile + stringsection + + + Ini mengambil data + file config + dan menempatkannya ke template. Pekerjaan ini persis sama dengan fungsi template + + {config_load}. + + + Catatan Teknis + + Sejak Smarty 2.4.0, variabel template yang ditempati dipelihara terhadap + permintaan + fetch() + dan display(). + Config vars yang diambil dari + config_load() selalu dalam lingkup global. + File config juga dikompilasi untuk eksekusi lebih cepat, dan + memperhatikan setelan + + $force_compile dan + + $compile_check. + + + + config_load() + +config_load('my.conf'); + +// ambil seksi +$smarty->config_load('my.conf', 'foobar'); +?> +]]> + + + + Lihat juga + {config_load}, + get_config_vars(), + clear_config(), + dan + variabel config + + + + diff --git a/docs/id/programmers/api-functions/api-display.xml b/docs/id/programmers/api-functions/api-display.xml new file mode 100644 index 00000000..25643601 --- /dev/null +++ b/docs/id/programmers/api-functions/api-display.xml @@ -0,0 +1,114 @@ + + + + + display() + menampilkan template + + + Deskripsi + + voiddisplay + stringtemplate + stringcache_id + stringcompile_id + + + + Ini menampilkan template tidak seperti + fetch(). + Sertakan tipe dan path sumber daya template yang benar. + Sebagai parameter opsional kedua, anda bisa mengirimkan + $cache id, lihat + seksi caching untuk informasi lebih jauh. + + ¶meter.compileid; + + display() + +caching = true; + +// hanya melakukan panggilan db jika cache tidak ada +if(!$smarty->is_cached('index.tpl')) { + + // buat dummy untuk beberapa data + $address = '245 N 50th'; + $db_data = array( + 'City' => 'Lincoln', + 'State' => 'Nebraska', + 'Zip' => '68502' + ); + + $smarty->assign('Name', 'Fred'); + $smarty->assign('Address', $address); + $smarty->assign('data', $db_data); + +} + +// tampilkan output +$smarty->display('index.tpl'); +?> +]]> + + + + + Contoh sumber data lain dari display() + + Gunakan sintaks sumber daya template untuk + menampilkan file di luar + + $template_dir direktori. + + +display('/usr/local/include/templates/header.tpl'); + +// path file absolut (hal yang sama) +$smarty->display('file:/usr/local/include/templates/header.tpl'); + +// path file absolut windows (HARUS memakai prefiks "file:") +$smarty->display('file:C:/www/pub/templates/header.tpl'); + +// sertakan dari sumber daya template bernama "db" +$smarty->display('db:header.tpl'); +?> +]]> + + + + Lihat juga fetch() dan + template_exists(). + + + + + + diff --git a/docs/id/programmers/api-functions/api-fetch.xml b/docs/id/programmers/api-functions/api-fetch.xml new file mode 100644 index 00000000..665f9bf9 --- /dev/null +++ b/docs/id/programmers/api-functions/api-fetch.xml @@ -0,0 +1,157 @@ + + + + + fetch() + mengembalikan output template + + + Deskripsi + + stringfetch + stringtemplate + stringcache_id + string$compile_id + + + + Ini mengembalikan output template daripada + menampilkan ouput. + Sertakan tipe dan path sumber daya template + yang benar. Sebagai parameter opsional ketiga, anda dapat mengirimkan + $cache id, lihat seksi caching + untuk informasi lebih jauh. + + ¶meter.compileid; + + + + fetch() + +caching = true; + +// hanya melakukan panggilan db jika cache tidak ada +if(!$smarty->is_cached('index.tpl')) { + + // buat dummy untuk beberapa data + $address = '245 N 50th'; + $db_data = array( + 'City' => 'Lincoln', + 'State' => 'Nebraska', + 'Zip' => '68502' + ); + + $smarty->assign('Name','Fred'); + $smarty->assign('Address',$address); + $smarty->assign($db_data); + +} + +// tangkap output +$output = $smarty->fetch('index.tpl'); + +// lakukan sesuatu dengan $output di sini +echo $output; +?> +]]> + + + + + + + Menggunakan fetch() untuk mengirim sebuah email + + Template email_body.tpl + + + + + + Template email_disclaimer.tpl yang menggunakan pengubah + + {textformat}. + + + + + + Naskah php menggunakan fungsi PHP + + mail() + + +getRow($sql); +$smarty->assign('contact', $contact); + +mail($contact['email'], 'Subject', $smarty->fetch('email_body.tpl')); + +?> +]]> + + + + + + Lihat juga + {fetch} + display(), + {eval}, + dan + template_exists(). + + + + + diff --git a/docs/id/programmers/api-functions/api-get-config-vars.xml b/docs/id/programmers/api-functions/api-get-config-vars.xml new file mode 100644 index 00000000..fdb66dca --- /dev/null +++ b/docs/id/programmers/api-functions/api-get-config-vars.xml @@ -0,0 +1,66 @@ + + + + + get_config_vars() + mengembalikan nilai variabel config yang diambil + + + Deskripsi + + arrayget_config_vars + stringvarname + + + Jika tidak ada parameter yang diberikan, array dari semua + variabel config + array dikembalikan. + + + get_config_vars() + +get_config_vars('foo'); + +// dapatkan semua var config template yang diambil +$all_config_vars = $smarty->get_config_vars(); + +// lihat isinya +print_r($all_config_vars); +?> +]]> + + + + Lihat juga + clear_config(), + {config_load}, + config_load() + dan + get_template_vars(). + + + + diff --git a/docs/id/programmers/api-functions/api-get-registered-object.xml b/docs/id/programmers/api-functions/api-get-registered-object.xml new file mode 100644 index 00000000..a532768e --- /dev/null +++ b/docs/id/programmers/api-functions/api-get-registered-object.xml @@ -0,0 +1,64 @@ + + + + + get_registered_object() + mengembalikan referensi ke obyek terdaftar + + + Deskripsi + + arrayget_registered_object + stringobject_name + + + Ini berguna dari dalam fungsi kustom saat anda memerlukan akses langsung ke + obyek terdaftar. Lihat halaman + obyek untuk info lebih jauh. + + + get_registered_object() + +get_registered_object($params['object']); + // pemakaian $obj_ref sekarang mereferensi ke obyek + } +} +?> +]]> + + + + Lihat juga + register_object(), + unregister_object() + dan + halaman obyek + + + + diff --git a/docs/id/programmers/api-functions/api-get-template-vars.xml b/docs/id/programmers/api-functions/api-get-template-vars.xml new file mode 100644 index 00000000..207a1ec2 --- /dev/null +++ b/docs/id/programmers/api-functions/api-get-template-vars.xml @@ -0,0 +1,67 @@ + + + + + get_template_vars() + mengembalikan nilai variabel yang ditempatkan + + + Deskripsi + + arrayget_template_vars + stringvarname + + + Jika tidak diberikan parameter, array semua variabel yang + is given, an array of all ditempati + dikembalikan. + + + get_template_vars + +get_template_vars('foo'); + +// dapatkan semua var template yang ditempati +$all_tpl_vars = $smarty->get_template_vars(); + +// lihat isinya +print_r($all_tpl_vars); +?> +]]> + + + + Lihat juga assign(), + {assign}, + append(), + clear_assign(), + clear_all_assign() + dan + get_config_vars() + + + + + diff --git a/docs/id/programmers/api-functions/api-is-cached.xml b/docs/id/programmers/api-functions/api-is-cached.xml new file mode 100644 index 00000000..7e9eeeba --- /dev/null +++ b/docs/id/programmers/api-functions/api-is-cached.xml @@ -0,0 +1,133 @@ + + + + + is_cached() + mengembalikan true jika ada cache yang benar untuk template ini + + + Deskripsi + + boolis_cached + stringtemplate + stringcache_id + stringcompile_id + + + + + + Ini hanya bekerja jika + $caching disetel ke &true;, lihat + seksi caching untuk info lebih jauh. + + + + Anda juga dapat mengirimkan $cache_id sebagai parameter + opsional kedua seandainya anda menginginkan + multipel cache + untuk template yang diberikan. + + + + Anda dapat menyertakan + $compile id + sebagai parameter opsional ketiga. Jika anda mengabaikan parameter itu + persisten + $compile_id dipakai bila disetel. + + + + Jika anda tidak ingin mengirimkan $cache_id tapi ingin + mengirimkan + $compile_id anda harus mengirimkan + &null; sebagai $cache_id. + + + + + Catatan Teknis + + Jika is_cached() menghasilkan &true; ia sebenarnya + mengambil output yang di-cache dan menyimpannya secara internal. + Setiap panggilan berikutnya ke + display() atau + fetch() + akan mengembalikan ouput ini yang secara internal disimpan dan tidak + mencoba mengambil ulang file cache. Ini menghindari kondisi lomba yang + mungkin terjadi saat proses kedua membersihkan cache diantara panggilan + ke is_cached() dan ke + display() + dalam contoh di atas. Ini juga berarti panggilan ke + clear_cache() + dan perubahan lain dari setelan-cache mungkin tidak berpengaruh setelah + is_cached() mengembalikan &true;. + + + + + is_cached() + +caching = true; + +if(!$smarty->is_cached('index.tpl')) { +// lakukan panggilan database, tempatkan vars di sini +} + +$smarty->display('index.tpl'); +?> +]]> + + + + + is_cached() with multiple-cache template + +caching = true; + +if(!$smarty->is_cached('index.tpl', 'FrontPage')) { + // lakukan panggilan database, tempatkan vars di sini +} + +$smarty->display('index.tpl', 'FrontPage'); +?> +]]> + + + + + + Lihat juga + clear_cache(), + clear_all_cache(), + and + seksi caching. + + + + + + diff --git a/docs/id/programmers/api-functions/api-load-filter.xml b/docs/id/programmers/api-functions/api-load-filter.xml new file mode 100644 index 00000000..acf23cbc --- /dev/null +++ b/docs/id/programmers/api-functions/api-load-filter.xml @@ -0,0 +1,70 @@ + + + + + load_filter() + mengambil plugin filter + + + Deskripsi + + voidload_filter + stringtype + stringname + + + Argumen pertama menetapkan tipe filter yang diambil dan bisa salah satu dari + yang berikut ini: pre, post atau + output. + Argumen kedua menetapkan nama plugin filter. + + + Mengambil plugin filter + +load_filter('pre', 'trim'); + +// ambil prefilter lain bernama 'datefooter' +$smarty->load_filter('pre', 'datefooter'); + +// ambil filter output bernama 'compress' +$smarty->load_filter('output', 'compress'); + +?> +]]> + + + + Lihat juga + register_prefilter(), + register_postfilter(), + register_outputfilter(), + $autoload_filters + dan + advanced features. + + + + diff --git a/docs/id/programmers/api-functions/api-register-block.xml b/docs/id/programmers/api-functions/api-register-block.xml new file mode 100644 index 00000000..a5253e5d --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-block.xml @@ -0,0 +1,91 @@ + + + + + register_block() + secara dinamis meregistrasi plugins fungsi blok + + + Deskripsi + + voidregister_block + stringname + mixedimpl + boolcacheable + mixedcache_attrs + + + + Gunakan ini untuk meregistrasi + plugin fungsi blok secara + dinamis. + Mengirimkan name fungsi blok, diikuti oleh nama fungsi + PHP yang mengimplementasikannya. + + &api.register.snippet; + + + cacheable dan cache_attrs + dapat diabaikan. Lihat seksi mengontrol output plugin yang dapat di-cache + atas bagaimana untuk mengimplementasikannya dengan benar. + + + register_block() + +register_block('translate', 'do_translation'); +?> +]]> + + + Di mana template adalah: + + + + + + + + Lihat juga + unregister_block() + dan halaman + fungsi blok plugin. + + + + + diff --git a/docs/id/programmers/api-functions/api-register-compiler-function.xml b/docs/id/programmers/api-functions/api-register-compiler-function.xml new file mode 100644 index 00000000..8681c64a --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-compiler-function.xml @@ -0,0 +1,58 @@ + + + + + register_compiler_function() + secara dinamis meregistrasi plugins fungsi kompilator + + + Deskripsi + + boolregister_compiler_function + stringname + mixedimpl + boolcacheable + + + Mengirimkan nama + fungsi kompilator, + diikuti oleh fungsi PHP yang mengimplementasikannya. + + &api.register.snippet; + + + cacheable dapat diabaikan. Lihat + mengontrol output plugin + yang dapat di-cache atas bagaimana untuk menggunakannya dengan benar. + + + +Lihat juga + +unregister_compiler_function() +dan seksi +fungsi kompilator plugin. + + + + + diff --git a/docs/id/programmers/api-functions/api-register-function.xml b/docs/id/programmers/api-functions/api-register-function.xml new file mode 100644 index 00000000..cac8db82 --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-function.xml @@ -0,0 +1,92 @@ + + + + + register_function() + secara dinamis meregistrasi plugin fungsi template + + + Deskripsi + + voidregister_function + stringname + mixedimpl + boolcacheable + mixedcache_attrs + + + + Mengirimkan nama fungsi template, + diikuti oleh nama fungsi PHP yang mengimplementasikannya. + + &api.register.snippet; + + + + cacheable dan cache_attrs dapat + diabaikan. Lihat mengontrol output plugin yang dapat di-cache + atas bagaimana menggunakannya dengan benar. + + + register_function() + +register_function('date_now', 'print_current_date'); + +function print_current_date($params, &$smarty) +{ + if(empty($params['format'])) { + $format = "%b %e, %Y"; + } else { + $format = $params['format']; + } + return strftime($format,time()); +} +?> +]]> + + + Dan dalam template + + + + + + + +Lihat juga +unregister_function() +dan seksi +fungsi plugin. + + + + + + diff --git a/docs/id/programmers/api-functions/api-register-modifier.xml b/docs/id/programmers/api-functions/api-register-modifier.xml new file mode 100644 index 00000000..857eaea6 --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-modifier.xml @@ -0,0 +1,74 @@ + + + + + register_modifier() + secara dinamis meregistrasi plugin pengubah + + + Deskripsi + + voidregister_modifier + stringname + mixedimpl + + + Mengirimkan nama pengubah template, diikuti oleh fungsi PHP yang + mengimplementasikannya. + + &api.register.snippet; + + + + register_modifier() + +register_modifier('ss', 'stripslashes'); + +?> +]]> + +Dalam template, pakai ss untuk membuang garis miring. + + +]]> + + + + + Lihat juga + unregister_modifier(), + register_function(), + seksi pengubah, + memperluas Smarty dengan plugins + dan + membuat pengubah plugin, + + + + diff --git a/docs/id/programmers/api-functions/api-register-object.xml b/docs/id/programmers/api-functions/api-register-object.xml new file mode 100644 index 00000000..9043bf6e --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-object.xml @@ -0,0 +1,53 @@ + + + + + register_object() + meregistrasi obyek untuk digunakan dalam template + + + Deskripsi + + voidregister_object + stringobject_name + objectobject + arrayallowed_methods_properties + + booleanformat + arrayblock_methods + + + Lihat + seksi obyek + untuk informasi lebih jauh. + + + Lihat juga + get_registered_object(), + dan + unregister_object(). + + + + + + diff --git a/docs/id/programmers/api-functions/api-register-outputfilter.xml b/docs/id/programmers/api-functions/api-register-outputfilter.xml new file mode 100644 index 00000000..ba180e3b --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-outputfilter.xml @@ -0,0 +1,55 @@ + + + + + register_outputfilter() + secara dinamis meregistrasi outputfilters + + + Deskripsin + + voidregister_outputfilter + mixedfunction + + + Gunakan ini untuk meregistrasi + outputfilters secara dinamis + guna beroperasi pada output template sebelum ia + ditampilkan. Lihat + filter output + template + untuk informasi lebih jauh atas bagaimana menyiapkan fungsi filter output. + + &api.register.snippet; + ¬e.parameter.function; + +Lihat juga +unregister_outputfilter(), + +load_filter(), +$autoload_filters +dan seksi +filter output template. + + + + diff --git a/docs/id/programmers/api-functions/api-register-postfilter.xml b/docs/id/programmers/api-functions/api-register-postfilter.xml new file mode 100644 index 00000000..16bf0894 --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-postfilter.xml @@ -0,0 +1,57 @@ + + + + + register_postfilter() + secara dinamis meregistrasi postfilters + + + Deskripsi + + voidregister_postfilter + mixedfunction + + + Gunakan ini untuk meregistrasi + postfilters secara + dinamis guna menjalankan template setelah ia dikompilasi. Lihat template postfilters untuk + informasi lebih jauh atas bagaimana menyiapkan postfilter fungsi. + + &api.register.snippet; + ¬e.parameter.function; + + Lihat juga + + unregister_postfilter(), + + register_prefilter(), + load_filter(), + + $autoload_filters + dan seksi + template output filters. + + + + + diff --git a/docs/id/programmers/api-functions/api-register-prefilter.xml b/docs/id/programmers/api-functions/api-register-prefilter.xml new file mode 100644 index 00000000..a9016689 --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-prefilter.xml @@ -0,0 +1,57 @@ + + + + + register_prefilter() + secara dinamis meregistrasi prefilters + + + Deskripsi + + voidregister_prefilter + mixedfunction + + + Gunakan ini untuk meregistrasi + prefilters secara + dinamis guna menjalankan template sebelum ia dikompilas. Lihat template prefilters + untuk informasi lebih jauh atas bagaimana menyiapkan prefilter fungsi. + + &api.register.snippet; + ¬e.parameter.function; + + + + Lihat juga + unregister_prefilter(), + register_postfilter(), + register_ouputfilter(), + load_filter(), + $autoload_filters + dan seksi + template output filters. + + + + + diff --git a/docs/id/programmers/api-functions/api-register-resource.xml b/docs/id/programmers/api-functions/api-register-resource.xml new file mode 100644 index 00000000..b1eb6f9e --- /dev/null +++ b/docs/id/programmers/api-functions/api-register-resource.xml @@ -0,0 +1,98 @@ + + + + + register_resource() + secara dinamis meregistrasi sumberdaya + + + Deskripsi + + voidregister_resource + stringname + arrayresource_funcs + + + Gunakan ini untuk meregistrasi + plugin sumber daya secara + dinamis dengan Smarty. + Mengirimkan name sumber daya dab fungsi array PHP + yang mengimplementasikannya. Lihat + sumber daya template + untuk informasi lebih jauh atas bagaimana menyiapkan fungsi untuk mengambil + templates. + + Catatan Teknis + + Panjang nama sumber daya harus berisi setidaknya 2 karakter. Satu karakter + nama sumber daya akan diabaikan dan dipakai sebagai bagian dari path file, + misalnya $smarty->display('c:/path/to/index.tpl'); + + + + + + + + array-fungsi-php resource_funcs + harus mempunyai 4 atau 5 elemen. + + + Dengan 4 elemen, elemen adalah callback-fungsi untuk fungsi source + masing-masing, + timestamp, secure dan + trusted dari sumber daya. + + + Dengan 5 elemen, elemen pertama harus berupa referensi obyek atau nama kelas + obyek atau kelas yang mengimplementasikan sumber daya dan 4 elemen berikut + harus berupa nama metode yang mengimplementasikan source, + timestamp, secure + dan trusted. + + + + register_resource() + +register_resource('db', array( + 'db_get_template', + 'db_get_timestamp', + 'db_get_secure', + 'db_get_trusted') + ); +?> +]]> + + + + + Lihat juga + unregister_resource() + dan seksi + sumber daya template. + + + + + diff --git a/docs/id/programmers/api-functions/api-template-exists.xml b/docs/id/programmers/api-functions/api-template-exists.xml new file mode 100644 index 00000000..9e3e7cfa --- /dev/null +++ b/docs/id/programmers/api-functions/api-template-exists.xml @@ -0,0 +1,92 @@ + + + + + template_exists() + memeiksa apakah template yang ditetapkan sudah ada + + + Deskripsi + + booltemplate_exists + stringtemplate + + + Ini dapat menerima baik path ke template pada sistem file ataupun string + sumber daya yang menetapkan template. + + + + template_exists() + + Contoh ini menggunakan $_GET['page'] untuk + {include} + konten template. Jika template tidak ada maka halaman kesalahan yang + ditampilkan. Pertama page_container.tpl + + + +{$title} + +{include file='page_top.tpl'} + +{* sertakan halaman konten tengah *} +{include file=$content_template} + +{include file='page_footer.tpl'} + +]]> + + + Dan naskah php + + +template_exists($mid_template) ){ + $mid_template = 'page_not_found.tpl'; +} +$smarty->assign('content_template', $mid_template); + +$smarty->display('page_container.tpl'); + +?> +]]> + + + + + Lihat juga + display(), + fetch(), + {include} + and + {insert} + + + + diff --git a/docs/id/programmers/api-functions/api-trigger-error.xml b/docs/id/programmers/api-functions/api-trigger-error.xml new file mode 100644 index 00000000..d06c679d --- /dev/null +++ b/docs/id/programmers/api-functions/api-trigger-error.xml @@ -0,0 +1,52 @@ + + + + + trigger_error() + menampilkan pesan kesalahan + + + Deskripsi + + voidtrigger_error + stringerror_msg + intlevel + + + Fungsi ini dapat dipakai untuk menampilkan pesan kesalahan menggunakan Smarty. + Parameter level bisa salah satu dari nilai yang dipakai + fungsi PHP + trigger_error(), contoh: + E_USER_NOTICE, E_USER_WARNING, dll. + Standarnya adalah E_USER_WARNING. + + + Lihat juga + + $error_reporting, + debugging + dan + pemecahan masalah. + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-block.xml b/docs/id/programmers/api-functions/api-unregister-block.xml new file mode 100644 index 00000000..15dcf538 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-block.xml @@ -0,0 +1,49 @@ + + + + + unregister_block() + secara dinamis membatalkan registrasi plugin fungsi blok + + + Deskripsi + + voidunregister_block + stringname + + + Gunakan ini untuk membatalkan registrasi + plugin fungsi blok secara + dinamis. + Mengirimkan fungsi blok name. + + + + Lihat juga + register_block() + dan + plugins fungsi blok. + + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-compiler-function.xml b/docs/id/programmers/api-functions/api-unregister-compiler-function.xml new file mode 100644 index 00000000..e279f343 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-compiler-function.xml @@ -0,0 +1,47 @@ + + + + + unregister_compiler_function() + secara dinamis membatalkan registrasi fungsi kompilator + + + Deskripsi + + voidunregister_compiler_function + stringname + + + Mengirimkan name fungsi kompilator. + + + + Lihat juga + + register_compiler_function() + dan + fungsi kompilator plugin. + + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-function.xml b/docs/id/programmers/api-functions/api-unregister-function.xml new file mode 100644 index 00000000..c8e0f9b3 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-function.xml @@ -0,0 +1,57 @@ + + + + + unregister_function + secara dinamis membatalkan registrasi plugin fungsi template + + + Deskripsi + + voidunregister_function + stringname + + + Mengirimkan fungsi template name. + + + unregister_function + +unregister_function('fetch'); + +?> +]]> + + + + + Lihat juga + register_function(). + + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-modifier.xml b/docs/id/programmers/api-functions/api-unregister-modifier.xml new file mode 100644 index 00000000..8277dbc9 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-modifier.xml @@ -0,0 +1,57 @@ + + + + + unregister_modifier() + secara dinamis membatalkan registrasi plugin pengubah + + + Deskripsi + + voidunregister_modifier + stringname + + + Mengirimkan pengubah template name. + + + unregister_modifier() + +unregister_modifier('strip_tags'); + +?> +]]> + + + + Lihat juga + register_modifier() + dan + pengubah plugin, + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-object.xml b/docs/id/programmers/api-functions/api-unregister-object.xml new file mode 100644 index 00000000..80853360 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-object.xml @@ -0,0 +1,42 @@ + + + + + unregister_object() + secara dinamis membatalkan registrasi obyek + + + Deskripsi + + voidunregister_object + stringobject_name + + + + Lihat juga + register_object() + dan + objects section + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-outputfilter.xml b/docs/id/programmers/api-functions/api-unregister-outputfilter.xml new file mode 100644 index 00000000..33b8679a --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-outputfilter.xml @@ -0,0 +1,46 @@ + + + + + unregister_outputfilter() + secara dinamis membatalkan registrasi filter output + + + Deskripsi + + voidunregister_outputfilter + stringfunction_name + + + Gunakan ini untuk membatalkan registrasi filter output secara dinamis. + + + + Lihat juga + + register_outputfilter() + dan + template output filters. + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-postfilter.xml b/docs/id/programmers/api-functions/api-unregister-postfilter.xml new file mode 100644 index 00000000..d24382ab --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-postfilter.xml @@ -0,0 +1,44 @@ + + + + + unregister_postfilter() + secara dinamis membatalkan registrasi postfilter + + + Deskripsi + + voidunregister_postfilter + stringfunction_name + + + + Lihat juga + + register_postfilter() + dan + template post filters. + + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-prefilter.xml b/docs/id/programmers/api-functions/api-unregister-prefilter.xml new file mode 100644 index 00000000..77544416 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-prefilter.xml @@ -0,0 +1,44 @@ + + + + + unregister_prefilter() + secara dinamis membatalkan registrasi prefilter + + + Deskripsi + + voidunregister_prefilter + stringfunction_name + + + + Lihat juga + + register_prefilter() + dan + pre filters. + + + + + diff --git a/docs/id/programmers/api-functions/api-unregister-resource.xml b/docs/id/programmers/api-functions/api-unregister-resource.xml new file mode 100644 index 00000000..42860fc3 --- /dev/null +++ b/docs/id/programmers/api-functions/api-unregister-resource.xml @@ -0,0 +1,59 @@ + + + + + unregister_resource() + secara dinamis membatalkan registrasi sebuah plugin sumber daya + + + Deskripsi + + voidunregister_resource + stringname + + + mengirimkan name sumber daya. + + + unregister_resource() + +unregister_resource('db'); + +?> +]]> + + + + + Lihat juga + + register_resource() + dan + template resources + + + + + diff --git a/docs/id/programmers/api-variables/variable-autoload-filters.xml b/docs/id/programmers/api-variables/variable-autoload-filters.xml new file mode 100644 index 00000000..b9a2c0ff --- /dev/null +++ b/docs/id/programmers/api-variables/variable-autoload-filters.xml @@ -0,0 +1,52 @@ + + + + $autoload_filters + + Jika ada beberapa filter yang ingin diambil pada setiap permintaan + template, anda bisa menetapkannya menggunakan variabel ini dan Smarty + akan secara otomatis mengambilnya bagi anda. Variabel adalah array + asosiatif di mana kunci adalah tipe filter dan nilai adalah array + nama filter. Sebagai contoh: + + +autoload_filters = array('pre' => array('trim', 'stamp'), + 'output' => array('convert')); +?> +]]> + + + + + + Lihat juga + register_outputfilter(), + register_prefilter(), + register_postfilter() + dan + load_filter() + + + + diff --git a/docs/id/programmers/api-variables/variable-cache-dir.xml b/docs/id/programmers/api-variables/variable-cache-dir.xml new file mode 100644 index 00000000..bc24b646 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-cache-dir.xml @@ -0,0 +1,69 @@ + + + + $cache_dir + + Ini adalah nama direktori di mana cache template disimpan. Standarnya + adalah ./cache, berarti bahwa + Smarty akan mencari direktori cache/ + di direktori yang sama seperti naskah php yang dijalankan + direktori ini harus bisa ditulisi oleh server web + , + lihat instalasi untuk info + lebih lengkap. + + + Anda juga dapat menggunakan fungsi + pengendali cache kustom sendiri guna mengontrol file cache, yang akan + mengabaikan setelan ini. + Lihat juga + $use_sub_dirs. + + + Catatan Teknis + + Setelan ini harus path relatif atau absolut. include_path tidak dipakai + untuk menulis file. + + + + Catatan Teknis + + Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar + dokumen server web. + + + + + Lihat juga + $caching, + $use_sub_dirs, + $cache_lifetime, + $cache_handler_func, + $cache_modified_check + dan + seksi caching. + + + + + diff --git a/docs/id/programmers/api-variables/variable-cache-handler-func.xml b/docs/id/programmers/api-variables/variable-cache-handler-func.xml new file mode 100644 index 00000000..82896b47 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-cache-handler-func.xml @@ -0,0 +1,33 @@ + + + + $cache_handler_func + + Anda dapat menyertakan fungsi kustom untuk menangani file cache daripada + menggunakan metode built-in menggunakan + $cache_dir. + Lihat seksi fungsi + pengendali cache untuk lebih jelasnya. + + + + diff --git a/docs/id/programmers/api-variables/variable-cache-lifetime.xml b/docs/id/programmers/api-variables/variable-cache-lifetime.xml new file mode 100644 index 00000000..e245d844 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-cache-lifetime.xml @@ -0,0 +1,67 @@ + + + + $cache_lifetime + + Ini adalah lama waktu dalam detik berlakunya cache template. + Sekali ini berakhir, cache akan dibuat ulang. + + + + + $caching harus dihidupkan (baik 1 atau 2) agar + $cache_lifetime berfungsi dengan benar. + + + + Nilai -1 akan memaksa cache agar tidak pernah berakhir. + + + Nilai 0 akan menyebabkan cache selalu dibuat ulang (hanya + baik untuk pengujian saja, untuk mematikan cache lebih efisien ialah + menyetel set $caching = 0). + + + + Jika anda ingin memberikan template tertentu memiliki usia cache sendiri, + anda dapat melakukan ini dengan menyetel + $caching = 2, + kemudian setel $cache_lifetime ke nilai unik + sebelum memanggil display() + atau fetch(). + + + + + Jika + $force_compile dihidupkan, file cache akan + dibuat ulang setiap waktu, secara efektif mematikan cache. Anda bisa + membersihkan seluruh file cache dengan fungsi clear_all_cache(), + atau file cache individual (atau grup) dengan fungsi clear_cache(). + + + + + diff --git a/docs/id/programmers/api-variables/variable-cache-modified-check.xml b/docs/id/programmers/api-variables/variable-cache-modified-check.xml new file mode 100644 index 00000000..74f15f75 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-cache-modified-check.xml @@ -0,0 +1,44 @@ + + + +$cache_modified_check + + Jika disetel &true;, Smarty akan memperhatikan Jika-Diubah-Sejak + header dikirimkan dari klien. Jika cap waktu file yang di-cache tidak diubah + sejak kuncjungan terakhir, maka header '304: Not Modified' + akan dikirimkan daripada kontennya. Pekerjaan ini hanya pada kodten yang + di-cache tanpa tag + {insert}. + + + + Lihat juga + $caching, + $cache_lifetime, + $cache_handler_func, + dan + seksi caching. + + + + + diff --git a/docs/id/programmers/api-variables/variable-caching.xml b/docs/id/programmers/api-variables/variable-caching.xml new file mode 100644 index 00000000..04beaa0e --- /dev/null +++ b/docs/id/programmers/api-variables/variable-caching.xml @@ -0,0 +1,81 @@ + + + + $caching + + Ini memberitahu Smarty apakah melakukan cache output template atau tidak ke + $cache_dir. + Standarnya ini disetel 0 yakni dimatikan. Jika template anda membuat konten + berlebihan, disarankan untuk menghidupkan + $caching, karena ini akan menghasilkan keuntungan + performansi signifikan. + + + + Anda juga memiliki + multipel + cache untuk template yang sama. + + + + + Nilai 1 atau 2 menghidupkan cache. + + + + Nilai 1 memberitahu Smarty untuk menggunakan variabel + $cache_lifetime + saat ini guna menetapkan apakah cache sudah berakhir. + + Nilai 2 memberitahu Smarty untuk menggunakan nilai + $cache_lifetime + saat waktu cache dibuat. Dengan cara ini anda bisa menyetel + $cache_lifetime + cukup sebelum fetching + template untuk memiliki kontrol granular melewati berakhirnya cache tertentu. + Lihat juga is_cached(). + + + + Jika $compile_check + dihidupkan, konten yang di-cache akan dibuat ulang bila setiap template + atau file config yang adalah bagian dari cache ini diubah. + + + Jika + $force_compile dihidupkan, konten yang + di-cache akan selalu dibuat ulang. + + + + Lihat juga + $cache_dir, + $cache_lifetime, + $cache_handler_func, + $cache_modified_check, + is_cached() +dan +seksi caching. + + + + diff --git a/docs/id/programmers/api-variables/variable-compile-check.xml b/docs/id/programmers/api-variables/variable-compile-check.xml new file mode 100644 index 00000000..e8d2fa37 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-compile-check.xml @@ -0,0 +1,47 @@ + + + + $compile_check + + Setelah setiap permintaan dari aplikasi PHP, Smarty menguji untuk melihat + apakah template saat ini sudah diubah (cap waktu berbeda) sejak terakhir + dikompilasi, ia merekompilasi ulang template itu. Jika template tidak + diubah ia akan mengompilasi dengan mengabaikan setelan ini. + Standarnya variabel ini disetel ke &true;. + + Sekali aplikasi disimpan ke dalam produksi (misalnya template + tidak akan berubah), langkah pemeriksaan kompilasi tidak lagi + diperlukan. Pastikan untuk menyetel + $compile_check ke &false; untuk + performansi maksimal. Catatan bahwa jika anda mengubah ini ke &false; + dan file template berubah, anda *tidak* akan melihat perubahan karena + template tidak akan direkompilasi. Jika + $caching + dihidupkan dan $compile_check dihidupkan, maka + file yang di-cache akan dibuat ulang bila file template terkait atau file + konfig dimutakhirkan. Lihat + $force_compile dan clear_compiled_tpl() + . + + + diff --git a/docs/id/programmers/api-variables/variable-compile-dir.xml b/docs/id/programmers/api-variables/variable-compile-dir.xml new file mode 100644 index 00000000..f363db8a --- /dev/null +++ b/docs/id/programmers/api-variables/variable-compile-dir.xml @@ -0,0 +1,56 @@ + + + + $compile_dir + + Ini adalah nama direktori di mana template terkompilasi ditempatkan. + Standarnya ialah + ./templates_c, berarti bahwa Smarty + akan mencari direktori templates_c/ + di direktori yang sama seperti naskah php yang sedang dijalankan. + Direktori ini harus bisa ditulisi oleh server + web, + lihat instalasi + untuk informasi lebih jauh. + + + + Catatan Teknis + + Setelan ini harus path relatif atau absolut, absolute path. + include_path tidak dipakai untuk menulis file. + + + + Catatan Teknis + + Tidak direkomendasikan untuk menyimpan direktori di bawah akar dokumen + server web. + + + + Lihat juga $compile_id + dan + $use_sub_dirs. + + + diff --git a/docs/id/programmers/api-variables/variable-compile-id.xml b/docs/id/programmers/api-variables/variable-compile-id.xml new file mode 100644 index 00000000..2640b601 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-compile-id.xml @@ -0,0 +1,69 @@ + + + + $compile_id + + Pengenal kompilasi persisten. Sebagai alternatif untuk mengirimkan + $compile_id yang sama ke setiap fungsi panggil, anda + bisa menyetel + $compile_id ini dan ia akan dipakai secara implisit + setelahnya. + + + Dengan $compile_id anda bisa mengatasi batasan di mana + anda tidak bisa memakai + $compile_dir + yang sama untuk + $template_dirs yang berbeda. Jika anda menyetel + $compile_id untuk setiap + $template_dir + maka Smarty bisa memberitahu bagian template terkompilasi dengan + $compile_id-nya. + + + Jika anda mempunyai misalnya + prefilter + yang melokalisir template anda (yaitu: menterjemahkan bahasa bagian + tersendiri) saat waktu kompilasi, selanjutnya anda dapat memakai + bahasa saat ini sebagai $compile_id dan + anda akan mendapatkan satu set template terkompilasi untuk setiap + bahasa yang anda gunakan. + + + Apliukasi lain akan menggunakan direktori kompilasi yang sama melalui + multipel domain / multipel host virtual. + + + $compile_id dalam lingkungan host virtual + +compile_id = $_SERVER['SERVER_NAME']; +$smarty->compile_dir = '/path/to/shared_compile_dir'; + +?> +]]> + + + + diff --git a/docs/id/programmers/api-variables/variable-compiler-class.xml b/docs/id/programmers/api-variables/variable-compiler-class.xml new file mode 100644 index 00000000..ec240af0 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-compiler-class.xml @@ -0,0 +1,30 @@ + + + + $compiler_class + + Menetapkan nama kelas kompilator yang akan digunakan Smarty untuk + mengkompilasi template. Standarnya adalah 'Smarty_Compiler'. Hanya + untuk pengguna tingkat lanjut. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-config-booleanize.xml b/docs/id/programmers/api-variables/variable-config-booleanize.xml new file mode 100644 index 00000000..3dee387b --- /dev/null +++ b/docs/id/programmers/api-variables/variable-config-booleanize.xml @@ -0,0 +1,36 @@ + + + + $config_booleanize + + Jika disetel &true;, nilai file konfig + dari on/true/yes + dan off/false/no diubah ke nilai boolean secara + otomatis. Dengan cara ini anda bisa menggunakan nilai dalam template + seperti: + {if #foobar#}...{/if}. Jika foobar + on, true atau yes, + pernyataan {if} akan dijalankan. + Standarnya adalah &true;. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-config-dir.xml b/docs/id/programmers/api-variables/variable-config-dir.xml new file mode 100644 index 00000000..cb735cd9 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-config-dir.xml @@ -0,0 +1,40 @@ + + + + $config_dir + + Ini adalah direktori yang digunakan untuk menyimpan + file config yang + dipakai pada templates. Standarnya adalah + ./configs, berarti bahwa + Smarty akan mencari direktori configs/ + di direktori yang sama seperti naskah php sedang dijalankan. + + + Catatan Teknis + + Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar + dokumen server web. + + + + diff --git a/docs/id/programmers/api-variables/variable-config-fix-newlines.xml b/docs/id/programmers/api-variables/variable-config-fix-newlines.xml new file mode 100644 index 00000000..251b904b --- /dev/null +++ b/docs/id/programmers/api-variables/variable-config-fix-newlines.xml @@ -0,0 +1,30 @@ + + + + $config_fix_newlines + + Jika disetel ke &true;, baris baru mac dan dos misalnya '\r' dan + '\r\n' dalam file konfig diubah ke + '\n' ketika ia diuraikan. Standarnya adalah &true;. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-config-overwrite.xml b/docs/id/programmers/api-variables/variable-config-overwrite.xml new file mode 100644 index 00000000..b1e9377b --- /dev/null +++ b/docs/id/programmers/api-variables/variable-config-overwrite.xml @@ -0,0 +1,75 @@ + + + + $config_overwrite + + Jika disetel &true;, standarnya maka variabel yang dibaca dari + file config akan saling menimpa. + Sebaliknya, variabel akan dimasukan ke dalam array. Ini membantu jika + anda ingin menyimpan array data dalam file config, cukup daftarkan setiap + elemen berkali-kali. + + + + Array config #variables# + + Contoh ini menggunakan + {cycle} + untuk menampilkan tabel dengan warna baris berbeda merah/hijau/biru dengan + $config_overwrite = &false;. + + File config. + + + + + Template dengan pengulangan + {section}. + + + + {section name=r loop=$rows} + + ....dll.... + + {/section} + +]]> + + + + Lihat juga + {config_load}, + get_config_vars(), + clear_config(), + config_load() + dan seksi file config. + + + + diff --git a/docs/id/programmers/api-variables/variable-config-read-hidden.xml b/docs/id/programmers/api-variables/variable-config-read-hidden.xml new file mode 100644 index 00000000..73a7f948 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-config-read-hidden.xml @@ -0,0 +1,33 @@ + + + + $config_read_hidden + + Jika disetel &true;, seksi tersembunyi misalnya nama seksi yang diawali + dengan .period dalam file config + bisa dibaca dari template. Biasanya anda akan membiarkan ini ke &false;, + dengan cara itu anda dapat menyimpan data sensitif dalam file config + seperti parameter database dan tidak mencemaskan mengenai template + mengembilnya. &false; standarnya. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-debug-tpl.xml b/docs/id/programmers/api-variables/variable-debug-tpl.xml new file mode 100644 index 00000000..b61233cc --- /dev/null +++ b/docs/id/programmers/api-variables/variable-debug-tpl.xml @@ -0,0 +1,36 @@ + + + + $debug_tpl + + Ini adalah nama dari file template yang digunakan untuk konsol debug. + Standarnya, ia dinamai debug.tpl dan ditempatkan + di SMARTY_DIR. + + + Lihat juga + $debugging + dan seksi + konsol debug. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-debugging-ctrl.xml b/docs/id/programmers/api-variables/variable-debugging-ctrl.xml new file mode 100644 index 00000000..dcb67499 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-debugging-ctrl.xml @@ -0,0 +1,54 @@ + + + + $debugging_ctrl + + Ini membolehkan cara alternatif untuk menghidupkan debugging. NONE + berarti tidak ada metode alternatif yang dibolehkan. URL + berarti ketika kata kunci SMARTY_DEBUG ditemukan dalam + QUERY_STRING, debugging dihidupkan untuk naskah + permintaan itu. Jika + $debugging adalah &true;, nilai ini + diabaikan. + + + $debugging_ctrl pada localhost + + +debugging = false; // standar +$smarty->debugging_ctrl = ($_SERVER['SERVER_NAME'] == 'localhost') ? 'URL' : 'NONE'; +?> +]]> + + + + + Lihat juga seksi konsol debugging + dan + $debugging. + + + diff --git a/docs/id/programmers/api-variables/variable-debugging.xml b/docs/id/programmers/api-variables/variable-debugging.xml new file mode 100644 index 00000000..a064c455 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-debugging.xml @@ -0,0 +1,49 @@ + + + + $debugging + + Ini menghidupkan debugging console. + Konsol adalah jendela popup javascript yang memberitahu anda + terhadap template yang + disertakan, + variabel yang ditempati dari + php dan + variabel file config + untuk naskah saat ini. Ia tidak menampilkan variabel yang ditempatkan + dalam template dengan fungsi + {assign} + . + + Konsol bisa juga dihidupkan dari url dengan + + $debugging_ctrl. + + + Lihat juga + {debug}, + $debug_tpl, + dan $debugging_ctrl. + + + diff --git a/docs/id/programmers/api-variables/variable-default-modifiers.xml b/docs/id/programmers/api-variables/variable-default-modifiers.xml new file mode 100644 index 00000000..7d728f13 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-default-modifiers.xml @@ -0,0 +1,34 @@ + + + + $default_modifiers + + Ini adalah sebuah array pengubah untuk menerapkan secara implisit ke setiap + variabel dalam sebuah template. Sebagai contoh, untuk setiap variabel + HTML-escape standarnya, menggunakan array('escape:"htmlall"'). + Untuk mengecualikan variabel dari pengubah standar, kirimkan pengubah + khusus smarty dengan nilai parameter pengubah + nodefaults ke dalamnya, misalnya + {$var|smarty:nodefaults}. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-default-resource-type.xml b/docs/id/programmers/api-variables/variable-default-resource-type.xml new file mode 100644 index 00000000..d1bcde26 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-default-resource-type.xml @@ -0,0 +1,33 @@ + + + + $default_resource_type + + Ini memberitahu smarty tipe sumber daya apa yang digunakan secara + implisit. Nilai standarnya adalah file, berarti bahwa + $smarty->display('index.tpl') dan + $smarty->display('file:index.tpl') adalah sama dalam + arti. Lihat bab sumber daya + untuk lebih jelasnya. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-default-template-handler-func.xml b/docs/id/programmers/api-variables/variable-default-template-handler-func.xml new file mode 100644 index 00000000..23f6ec0d --- /dev/null +++ b/docs/id/programmers/api-variables/variable-default-template-handler-func.xml @@ -0,0 +1,29 @@ + + + + $default_template_handler_func + + Fungsi ini dipanggil saat template tidak bisa didapatkan dari sumber + dayanya. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-error-reporting.xml b/docs/id/programmers/api-variables/variable-error-reporting.xml new file mode 100644 index 00000000..da348593 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-error-reporting.xml @@ -0,0 +1,41 @@ + + + + $error_reporting + + Ketika nilai ini disetel ke nilai-non-null, nilainya dipakai sebagai tingkat + error_reporting + di dalam display() + dan fetch(). Ketika debugging + menghidupkan nilai ini, ia diabaikan dan tingkat kesalahan dibiarkan apa adanya. + + + Lihat juga + trigger_error(), + debugging + dan + pemecahan masalah. + + + + diff --git a/docs/id/programmers/api-variables/variable-force-compile.xml b/docs/id/programmers/api-variables/variable-force-compile.xml new file mode 100644 index 00000000..3d2c3608 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-force-compile.xml @@ -0,0 +1,36 @@ + + + + $force_compile + + Ini memaksa Smarty untuk mengkompilasi ulang template pada setiap + permintaan. Setelan ini mengabaikan + + $compile_check. + Standarnya adalah &false;. Ini membantu saat pengembangan dan + debugging. + Ini tidak boleh dipakai dalam lingkungan produksi. Jika + $caching + dihidupkan, file cache selalu akan dibuat ulang. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-left-delimiter.xml b/docs/id/programmers/api-variables/variable-left-delimiter.xml new file mode 100644 index 00000000..69175495 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-left-delimiter.xml @@ -0,0 +1,36 @@ + + + + $left_delimiter + + Ini adalah pemisah kiri yang dipakai oleh bahasa template. + Standarnya ialah {. + + + Lihat juga $right_delimiter + dan + escaping penguraian smarty + . + + + + diff --git a/docs/id/programmers/api-variables/variable-php-handling.xml b/docs/id/programmers/api-variables/variable-php-handling.xml new file mode 100644 index 00000000..1090471b --- /dev/null +++ b/docs/id/programmers/api-variables/variable-php-handling.xml @@ -0,0 +1,61 @@ + + + + $php_handling + + Ini memberitahu Smarty bagaimana untuk menangani kode PHP yang + disertakan dalam template. Ada empat kemungkinan setelan, standarnya + adalah SMARTY_PHP_PASSTHRU. Catatan bahwa ini + tidak mempengaruhi kode php di dalam tag + {php}{/php} pada template. + + + + + + SMARTY_PHP_PASSTHRU - Smarty menampilkan tag apa adanya. + + + + SMARTY_PHP_QUOTE - Smarty memberi tanda kutip tag + sebagai entitas html. + + + + SMARTY_PHP_REMOVE - Smarty menghapus tag dari + template. + + + SMARTY_PHP_ALLOW - Smarty akan menjalankan tag + sebagai kode PHP. + + + + + Menyertakan kode PHP ke dalam template sangat tidak disarankan. + Lebih baik gunakan fungsi kustom + atau + pengubah. + + + + diff --git a/docs/id/programmers/api-variables/variable-plugins-dir.xml b/docs/id/programmers/api-variables/variable-plugins-dir.xml new file mode 100644 index 00000000..c72459f0 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-plugins-dir.xml @@ -0,0 +1,78 @@ + + + + $plugins_dir + + Ini adalah directori ke mana Smarty akan mencari plugins yang + dibutuhkannya. Standarnya ialah + plugins/ di bawah + SMARTY_DIR. + Jika anda menyertakan path relatif, pertama Smarty akan mencari di bawah + SMARTY_DIR, + kemudian relatif ke direktori kerja saat ini, lalu relatif terhadap + include_path PHP. Jika $plugins_dir adalah sebuah + array direktori, Smarty akan mencari plugin anda di setiap direktori + plugin dalam urutan sesuai yang diberikan. + + + Catatan Teknis + + Untuk performansi terbaik, jangan siapkan $plugins_dir + anda harus memakai path include PHP. Gunakan nama path absolut, atau + path relatif ke SMARTY_DIR atau direktori kerja + saat ini. + + + + + Menambahkan direktori plugin lokal + +plugins_dir[] = 'includes/my_smarty_plugins'; + +?> + +]]> + + + + Multiple $plugins_dir + +plugins_dir = array( + 'plugins', // standar di bawah SMARTY_DIR + '/path/to/shared/plugins', + '../../includes/my/plugins' + ); + +?> + +]]> + + + + + diff --git a/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml b/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml new file mode 100644 index 00000000..fa2ee4d7 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml @@ -0,0 +1,42 @@ + + + + $request_use_auto_globals + + Menetapkan apakah Smarty harus menggunakan $HTTP_*_VARS[] PHP + saat &false; atau $_*[] saat &true; yang merupakan nilai + standarnya. Ini mempengaruhi templates yang menggunakan + + {$smarty.request.*}, {$smarty.get.*} dll. + + + Perhatian + + Jika anda menyetel $request_use_auto_globals ke true, + + $request_vars_order tidak berpengaruh tapi + nilai konfigurasi PHP gpc_order yang digunakan. + + + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-request-vars-order.xml b/docs/id/programmers/api-variables/variable-request-vars-order.xml new file mode 100644 index 00000000..4e11423a --- /dev/null +++ b/docs/id/programmers/api-variables/variable-request-vars-order.xml @@ -0,0 +1,35 @@ + + + + $request_vars_order + + Urutan di mana variabel yang diminta sudah terdaftar, mirip dengan + variables_order dalam php.ini + + + Lihat juga + $smarty.request + dan + $request_use_auto_globals. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-right-delimiter.xml b/docs/id/programmers/api-variables/variable-right-delimiter.xml new file mode 100644 index 00000000..25d4986b --- /dev/null +++ b/docs/id/programmers/api-variables/variable-right-delimiter.xml @@ -0,0 +1,35 @@ + + + + $right_delimiter + + Ini adalah pemisah kanan yang digunakan oleh bahasa template. + Standarnya adalah }. + + + Lihat juga $left_delimiter + dan + escaping penguraian smarty. + + + + diff --git a/docs/id/programmers/api-variables/variable-secure-dir.xml b/docs/id/programmers/api-variables/variable-secure-dir.xml new file mode 100644 index 00000000..819ebdfc --- /dev/null +++ b/docs/id/programmers/api-variables/variable-secure-dir.xml @@ -0,0 +1,54 @@ + + + + $secure_dir + + Ini adalah array dari semua file lokal dan direktori yang dianggap aman. + {include} + dan {fetch} + gunakan ini ketika + $security + dihidupkan. + + + + +$secure_dir example + +secure_dir = $secure_dirs; +?> +]]> + + + + + Lihat juga + $security_settings + dan $trusted_dir. + + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-security-settings.xml b/docs/id/programmers/api-variables/variable-security-settings.xml new file mode 100644 index 00000000..1542eb8e --- /dev/null +++ b/docs/id/programmers/api-variables/variable-security-settings.xml @@ -0,0 +1,75 @@ + + + + $security_settings + + Ini dipakai untuk menimpa atau menetapkan setelan keamanan saat +$security dihidupkan. +Ini adalah kemungkinan setelan: + + + + + PHP_HANDLING - boolean. Jika disetel &true;, setelan + $php_handling + tidak diperiksa untuk keamanan. + + + + + IF_FUNCS - array. Nama-nama fungsi PHP yang diijinkan dalam + pernyataan + {if}. + + + + + INCLUDE_ANY - boolean. Jika disetel &true;, setiap + template dapat disertakan + dari sistem file, mengabaikan daftar + $secure_dir. + + + + + PHP_TAGS - boolean. Jika disetel &true;, tag + {php}{/php} + diijinkan dalam template. + + + + + MODIFIER_FUNCS - array. Nama-nama fungsi PHP yang + diijinkan yang dapat dipakai sebagai pengubah variabel. + + + + + ALLOW_CONSTANTS - boolean. Jika disetel &true;, konstan + melalui + {$smarty.const.FOO} + dibolehkan dalam template. + + + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-security.xml b/docs/id/programmers/api-variables/variable-security.xml new file mode 100644 index 00000000..6848bbeb --- /dev/null +++ b/docs/id/programmers/api-variables/variable-security.xml @@ -0,0 +1,66 @@ + + + + $security + + $security bisa &true; atau &false;, + standarnya &false;. Keamana baik untuk situasi saat anda mempunyai rekan + yang tidak dipercaya mengedit template misalnya melalui ftp, dan anda + ingin mengurangi resiko yang berkaitan dengan keamanan sistem dalam + bahasa template. Menghidupkan keamanan, memaksa aturan berikut terhadap + bahasa template, kecuali secara khusus ditimpa dengan + + $security_settings: + + + +Jika $php_handling +disetel ke SMARTY_PHP_ALLOW, ini secara implisit mengubah +SMARTY_PHP_PASSTHRU + + + +Fungsi PHP tidak dibolehkan dalam pernyataan {if}, +kecuali yang ditetapkan dalam +$security_settings + + +Template hanya bisa disertakan dari direktori yang didaftarkan dalam array +$secure_dir + + +File lokal hanya dapat diambil dari direktori yang didaftarkan dalam +$secure_dir +array menggunakan {fetch} + + +Tag {php}{/php} +tidak dibolehkan + + +Fungsi PHP tidak dibolehkan sebagai pengubah, kecuali itu ditetapkan dalam +$security_settings + + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-template-dir.xml b/docs/id/programmers/api-variables/variable-template-dir.xml new file mode 100644 index 00000000..9956b078 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-template-dir.xml @@ -0,0 +1,41 @@ + + + + $template_dir + + Ini adalah nama standar direktori template. Jika anda tidak menyertakan + tipe sumber daya ketika menyertakan file, akan ditemukan di sini. + Standarnya ini adalah + ./templates, + yang berarti bahwa Smarty akan mencari direktori + templates/ dalam direktori yang + sama dengan naskah php yang dieksekusi. + + + Catatan Teknis + + Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar + dokumen server web. + + + + diff --git a/docs/id/programmers/api-variables/variable-trusted-dir.xml b/docs/id/programmers/api-variables/variable-trusted-dir.xml new file mode 100644 index 00000000..417faba4 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-trusted-dir.xml @@ -0,0 +1,33 @@ + + + + $trusted_dir + + $trusted_dir hanya dipakai ketika + $security dihidupkan. + Ini adalah array dari seluruh direktori yang dianggap dipercaya. Direktori yang + dipercaya adalah di mana anda memelihara naskah php yang dijalankan secara + langsung dari template + with {include_php}. + + + \ No newline at end of file diff --git a/docs/id/programmers/api-variables/variable-use-sub-dirs.xml b/docs/id/programmers/api-variables/variable-use-sub-dirs.xml new file mode 100644 index 00000000..c52d9346 --- /dev/null +++ b/docs/id/programmers/api-variables/variable-use-sub-dirs.xml @@ -0,0 +1,71 @@ + + + + $use_sub_dirs + +Smarty akan membuat subdirektori di bawah +template terkompilasi dan direktori +cache +jika $use_sub_dirs disetel ke &true;, + standarnya &false;. +Dalam sebuah lingkungan di mana ada potensi sepulu dari ribuan file dibuat, +ini dapat membantu kecepatan sistem file. Dengan kata lain, beberapa +lingkungan tidak membolehkan proses PHP membuat direktori, maka ini harus +dimatikan yang sudah jadi standarnya. + + +Sub direktori lebih efisien, maka gunakan jika anda bisa. Secara teori +anda memperoleh performansi lebih baik pada sistem file dengan 10 +direktori masing-masing memiliki 100 file, daripada dengan 1 direktori yang +memiliki 1000 file. Ini tentunya kasus dengan Solaris 7 (UFS)... dengan sistem +file lebih baru seperti ext3 dan terutama reiserfs, perbedaannya hampir +tidak ada. + + + +Catatan Teknis + + + $use_sub_dirs=true tidak bekerja dengan + safe_mode=On, + itulah mengapa dapat diputar dan mengapa standarnya dimatikan. + + + + $use_sub_dirs=true pada Windows bisa menimbulkan masalah. + + + Safe_mode akan menjadi usang dalam PHP6. + + + + + + Lihat juga + $compile_id, + $cache_dir, + dan + $compile_dir. + + + + diff --git a/docs/id/programmers/caching/caching-cacheable.xml b/docs/id/programmers/caching/caching-cacheable.xml new file mode 100644 index 00000000..d6c1f23c --- /dev/null +++ b/docs/id/programmers/caching/caching-cacheable.xml @@ -0,0 +1,139 @@ + + + + Mengontrol Plugins ynd Bisa Di-cache' Output + + Sejak plugin Smarty-2.6.0, plugins yang bisa di-cache dapat dideklarasikan + saat meregistrasinya. Parameter ketiga pada + register_block(), + + register_compiler_function() dan register_function() + disebut $cacheable dan standarnya &true; yang juga + merupakan tabiat plugins dalam Smarty versi sebelum 2.6.0 + + + Ketika meregistrasi sebuah plugin dengan $cacheable=false, plugin + dipanggil setiap kali halaman ditampilkan, meskipun halaman berasal dari cache. + Fungsi plugin berlaku sedikit mirip fungsi + {insert}. + + + Sebaliknya dari {insert} + + atribut plugins standarnya tidak di-cache. Bisa dideklarasikan untuk di-cache + dengan parameter keempat + $cache_attrs. $cache_attrs + adalah array nama-atribut yang harus di-cache, agar fungsi-plugin memperoleh + nilai seperti pertama kali halaman dituliskan ke cache, setiap kali ia diambil + dari cache. + + + + Menghindari output plugin di-cache + +caching = true; + +function remaining_seconds($params, &$smarty) { + $remain = $params['endtime'] - time(); + if($remain >= 0){ + return $remain . ' second(s)'; + }else{ + return 'done'; + } +} + +$smarty->register_function('remaining', 'remaining_seconds', false, array('endtime')); + +if (!$smarty->is_cached('index.tpl')) { + // ambil $obj dari db dan tempatkan... + $smarty->assign_by_ref('obj', $obj); +} + +$smarty->display('index.tpl'); +?> +]]> + + + di mana index.tpl adalah: + + +endtime} +]]> + + + Jumlah detik sampai endtime $obj dicapai, perubahan + pada setiap tampilan halaman, meskipun bila halaman di-cache. Karena + atribut endtime di-cache. obyek harus ditarik dari database ketika + halaman dituliskan ke cache tapi tidak pada permintaan halaman berikutnya. + + + + + Menghindari seluruh bagian template di-cache + +caching = 1; + +function smarty_block_dynamic($param, $content, &$smarty) { + return $content; +} +$smarty->register_block('dynamic', 'smarty_block_dynamic', false); + +$smarty->display('index.tpl'); +?> +]]> + + + where index.tpl is: + + + + + + + + Ketika mengambil ulang halaman, anda akan mencatat bahwa kedua tanggal + berbeda. Satu dynamis dan satu statis. + Anda dapat melakukan apapun antara {dynamic}...{/dynamic} + dan pastikan ia tidak akan di-cache seperti bagian halaman lainnya. + + + + + diff --git a/docs/id/programmers/caching/caching-groups.xml b/docs/id/programmers/caching/caching-groups.xml new file mode 100644 index 00000000..25493245 --- /dev/null +++ b/docs/id/programmers/caching/caching-groups.xml @@ -0,0 +1,109 @@ + + + + Grup Cache + + Anda dapat melakukan pengelompokan elaborasi dengan menyiapkan grup + $cache_id. Ini dilakukan dengan memisahkan + setiap sub-grup dengan bar vertikal + | dalam nilai $cache_id. + Anda bisas memiliki sebanyak-banyaknya sub-grup yang anda inginkan. + + + + + Anda bisa membayangkan grup cache seperti hirarki direktori. Sebagai + contoh, grup cache 'a|b|c' bisa dibayangkan sebagai + struktur direktori '/a/b/c/'. + + + + clear_cache(null,'a|b|c') + akan seperti menghapus file + '/a/b/c/*'. clear_cache(null,'a|b') + akan seperti menghapus file '/a/b/*'. + + + + Jika anda menetapkan + $compile_id + seperti clear_cache(null,'a|b','foo') ini diperlakukan + sebagai grup cache yang ditambahkan '/a/b/c/foo/'. + + + + Jika anda menetapkan nama template seperti + clear_cache('foo.tpl','a|b|c') maka Smarty akan + mencoba untuk menghapus '/a/b/c/foo.tpl'. + + + + Anda TIDAK BISA menghapus nama template yang ditetapkan di bawah + multipel grup cache seperti '/a/b/*/foo.tpl', + pengelompokan cache HANYA bekerja dari kiri-ke-kanan. Anda perlu + mengelompokan template anda di bawah satu hirarki grup cache + agar bisa membersihkannya sebagai sebuah grup. + + + + + Pengelompokan cache seharusnya tidak dibingungkan dengan hirarki + direktori template anda, pengelompokan cache tidak mengetahui bagaiman + template anda dibentuk. Maka sebagai contoh, jika anda mempunyai struktur + template seperti themes/blue/index.tpl dan anda + ingin bisa membersihkan seluruh file cache untuk tema blue, + anda perlu membuat struktur grup cache yang meniru struktur file + template, seperti + display('themes/blue/index.tpl','themes|blue'), lalu + membersihkannya dengan + clear_cache(null,'themes|blue'). + + + $cache_id groups + +caching = true; + +// membersihkan semua cache dengan 'sports|basketball' sebagai dua grup cache_id pertama +$smarty->clear_cache(null,'sports|basketball'); + +// bersihkan semua cache dengan "sports" sebagai grup cache_id pertama. Ini akan +// menyertakan "sports|basketball", atau "sports|(anything)|(anything)|(anything)|..." +$smarty->clear_cache(null,'sports'); + +// bersihkan file cache foo.tpl dengan "sports|basketball" sebagai cache_id +$smarty->clear_cache('foo.tpl','sports|basketball'); + + +$smarty->display('index.tpl','sports|basketball'); +?> +]]> + + + + + + diff --git a/docs/id/programmers/caching/caching-multiple-caches.xml b/docs/id/programmers/caching/caching-multiple-caches.xml new file mode 100644 index 00000000..157bb808 --- /dev/null +++ b/docs/id/programmers/caching/caching-multiple-caches.xml @@ -0,0 +1,136 @@ + + + + Multipel Caches Per Halaman + + Anda dapat memiliki multipel file cache untuk satu panggilan ke + display() + atau fetch(). + Katakanlah sebuah panggilan ke display('index.tpl') + memiliki beberapa konten output berbeda tergantung dari beberapa + kondisi, dan anda ingin memisahkan cache masing-masing. Anda bisa + melakukan ini dengan mengirimkan $cache_id + sebagai parameter kedua ke fungsi panggil. + + + Mengirimkan $cache_id untuk display() + +caching = 1; + +$my_cache_id = $_GET['article_id']; + +$smarty->display('index.tpl', $my_cache_id); +?> +]]> + + + + Di atas, kita mengirimkan variabel $my_cache_id ke + display() + sebagai $cache_id. Untuk setiap nilai unik dari + $my_cache_id, cache terpisah akan dibuat untuk + index.tpl. Dalam contoh ini, + article_id dikirimpan dalam URL dan digunakan + sebagai $cache_id. + + + Catatan Teknis + + Harap berhati-hati saat mengirimkan nilai dari klien (web browser) ke + dalam Smarty atau setiap aplikasi PHP. Meskipun contoh di atas menggunakan + article_id dari URL terlihat mudah, ia dapat menimbulkan konsekuensi yang + buruk. $cache_id dipakai untuk membuat direktori + pada sistem file, maka jika pengguna memutuskan untuk mengirimkan nilai + yang sangat besar untuk article_id, atau menulis naskah yang mengirimkan + article_id acak dengan kecepatan tinggi, ini mungkin dapat menimbulkan + masalah di tingkat server. Pastikan mengamankan setiap data yang + dikirimkan sebelum menggunakannya. Dalam contoh ini, mungkin anda + mengetahui article_id memiliki panjang sepuluh karakter dan hanya terdiri + dari alfa-numerik, dan harus article_id yang benar dalam database. + Periksa hal ini! + + + + Pastikan untuk mengirimkan $cache_id yang sama + sebagai parameter kedua ke + is_cached() dan + clear_cache(). + + + Mengirimkan cache_id ke is_cached() + +caching = 1; + +$my_cache_id = $_GET['article_id']; + +if(!$smarty->is_cached('index.tpl',$my_cache_id)) { + // Cache tidak tersedia, lakukan penempatan variabel di sini. + $contents = get_database_contents(); + $smarty->assign($contents); +} + +$smarty->display('index.tpl',$my_cache_id); +?> +]]> + + + + Anda bisa membersihkan semua cache untul $cache_id + tertentu dengan mengirimkan &null; sebagai parameter kedua ke + clear_cache(). + + + Membersihkan semua cache untuk $cache_id tertentu + +caching = 1; + +// bersihkan semua cache dengan "sports" sebagai $cache_id +$smarty->clear_cache(null,'sports'); + +$smarty->display('index.tpl','sports'); +?> +]]> + + + + Dengan cara ini, anda bisa mengelompokan cache anda bersama + dengan memberikannya $cache_id yang sama. + + + + + diff --git a/docs/id/programmers/caching/caching-setting-up.xml b/docs/id/programmers/caching/caching-setting-up.xml new file mode 100644 index 00000000..31741e50 --- /dev/null +++ b/docs/id/programmers/caching/caching-setting-up.xml @@ -0,0 +1,208 @@ + + + + Menyiapkan Cache + + Hal pertama yang dilakukan adalah menghidupkan cache dengan menyetel + $caching = 1 (atau 2). + + + Menghidupkan cache + +caching = 1; + +$smarty->display('index.tpl'); +?> +]]> + + + + Dengan menghidupkan cache, fungsi panggil ke + display('index.tpl') akan membuat template seperti + biasa, tapi juga menyimpan duplikat dari outputnya ke sebuah file + (duplikat cache) dalam + $cache_dir. + Panggilan berikutnya ke display('index.tpl'), duplikat cache + akan dipakai daripada membuat template kembali. + + + Catatan Teknis + + File dalam + $cache_dir + diberi nama mirip dengan nama template. + Meskipun berakhir dalam ekstensi .php, ini tidak + dimaksudkan dijalankan secara langsung. Jangan edit file ini! + + + + Setiap halaman yang di-cache memiliki batasan usia yang ditentukan oleh + $cache_lifetime. + Nilai standarnya adalah 3600 detik atau satu jam. Setelah itu waktu berakhir, + cache dibuat ulang. Dimungkinkan untuk memberikan cache individual memiliki + waktu berakhirnya dengan menyetel + $caching=2. + Lihat $cache_lifetime + untuk lebih jelasnya. + + + Menyetel $cache_lifetime per cache + +caching = 2; // usia per cache + +// set cache_lifetime untuk index.tpl ke 5 menit +$smarty->cache_lifetime = 300; +$smarty->display('index.tpl'); + +// set cache_lifetime untuk home.tpl ke 1 jam +$smarty->cache_lifetime = 3600; +$smarty->display('home.tpl'); + +// CATATAN: setelan $cache_lifetime berikut tidak akan bekerja saat $caching = 2. +// Usia cache untuk home.tpl sudah disetel ke 1 jam, dan tidak akan memperhatikan +// nilai lagi $cache_lifetime. +// Cache home.tpl masih akan berakhir setelah 1 jam. +$smarty->cache_lifetime = 30; // 30 seconds +$smarty->display('home.tpl'); +?> +]]> + + + + Jika + $compile_check dihidupkan, + setiap file template dan file config yang terkait dengan file cache diperiksa + modifikasinya. Jika setiap file sudah dimodifikasi sejak cache dibuat, cache + segera dibuat ulang. Ini adalah beban kecil untuk performansi optimal, set + $compile_check + ke &false;. + + + Menghidupkan $compile_check + +caching = 1; +$smarty->compile_check = true; + +$smarty->display('index.tpl'); +?> +]]> + + + + Jika + $force_compile dihidupkan, + file cache akan selalu dibuat. Ini efektif mematikan cache. + $force_compile + biasanya hanya untuk keperluan + debugging, + cara yang lebih efisien mematikan cache adalah menyetel $caching + = 0. + + + Fungsi is_cached() + dapat digunakan untuk menguji jika template memiliki cache yang benar atau + tidak. Jika anda memiliki template yang di-cache yang memerlukan hal + seperti pengambilan database, anda bisa menggunakan ini untuk melewati + proses itu. + + + Menggunakan is_cached() + +caching = 1; + +if(!$smarty->is_cached('index.tpl')) { + // Cache tidak tersedia, lakukan penempatan variabel di sini. + $contents = get_database_contents(); + $smarty->assign($contents); +} + +$smarty->display('index.tpl'); +?> +]]> + + + + Anda dapat memelihara bagian halaman dinamis dengan fungsi template {insert}. + Katakanlah seluruh halaman dapat di-cache kecuali untuk iklan yang + ditampilkan di bawah halaman. Dengan menggunakan fungsi + {insert} + untuk iklan, anda bisa memelihara elemen ini dinamis dalam konten yang + di-cache. Lihat dokumentasi pada + {insert} + untuk lebih jelas dan contohnya. + + + Anda bisa membersihkan semua file cache dengan fungsiclear_all_cache(), + atau file cache individual + dan grup dengan fungsi clear_cache(). + + + Membersihkan cache + +caching = 1; + +// bersihkan hanya cache untuk index.tpl +$smarty->clear_cache('index.tpl'); + +// bersihkan semua file cache +$smarty->clear_all_cache(); + +$smarty->display('index.tpl'); +?> +]]> + + + + + + diff --git a/docs/id/programmers/plugins/plugins-block-functions.xml b/docs/id/programmers/plugins/plugins-block-functions.xml new file mode 100644 index 00000000..34b8fe45 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-block-functions.xml @@ -0,0 +1,127 @@ + + + Fungsi Blok + + + void smarty_block_name + array $params + mixed $content + object &$smarty + boolean &$repeat + + + + Fungsi blok adalah fungsi dari bentuk: + {func} .. {/func}. Dengan kata lain, ia ditutupi + blok template dan beroperasi pada isi dari blok ini. Fungsi blok + mendahului + fungsi kustom pada + nama yang sama, yaitu anda tidak bisa mempunyai kedua fungsi kustom + {func} dan fungsi blok + {func}..{/func}. + + + + + Standarnya implementasi fungsi anda dipanggil dua kali oleh + Smarty: sekali untuk membuka tag, dan sekali untuk meneutup tag. + (Lihat $repeat di bawah untuk bagaimana mengubah ini.) + + + Hanya tag terbuka terhadap fungsi blok boleh memiliki + atribut. Semua + atribut dikirimkan ke fungsi template dari template diisikan dalam + variabel $params sebagai array asosiatif. + Atribut tag terbuka juga dapat diakses oleh fungsi anda saat memproses + tag penutup. + + + Nilai variabel $content tergantung pada apakah + fungsi anda dipanggil untuk membuka atau menutup tag. Dalam hal + membuka tag, ia akan menjadi &null;, dan dalam hal menutup tag + ia akan menjadi isi dari blok template. + Catatan bahwa blok template sudah diproses oleh Smarty, semua yang + akan anda terima adalah output template, bukan sumber template. + + + + Parameter $repeat dikirimkan dengan + referensi ke implementasi fungsi dan menyediakan sebuah kemungkinan + untuk mengontrol berapa kali blok ditampilkan. Standarnya + $repeat adalah &true; pada panggilan pertama + fungsi-blok(tag pembuka) dan and &false; pada panggilan berikutnya + ke fungsi blok (tag penutup blok). + Setiap kali implementasi fungsi kembali dengan + $repeat menjadi &true;, isi antara + {func}...{/func} dievaluasi dan implementasi fungsi + dipanggil lagi dengan isi blok baru dalam parameter + $content. + + + + + Jika anda mempunyai fungsi blok berulang, dimungkinkan untuk mencari fungsi + blok leluhur apa dengan mengakses variabel + $smarty->_tag_stack. Cukup lakukan + var_dump() + padanya dan struktur menjadi terlihat. + + + + fungsi blok + + +]]> + + + + + Lihat juga: + register_block(), + unregister_block(). + + + + + diff --git a/docs/id/programmers/plugins/plugins-compiler-functions.xml b/docs/id/programmers/plugins/plugins-compiler-functions.xml new file mode 100644 index 00000000..735710b4 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-compiler-functions.xml @@ -0,0 +1,97 @@ + + + Fungsi Kompilator + + Fungsi kompilator dipanggil hanya selama kompilasi template. + Ini berguna untuk menginjeksi kode PHP atau isi statis sensitif-waktu + ke dalam template. Jika ada kedua fungsi kompilator dan + fungsi kustom terdaftar + dengan nama sama, fungsi kompilator yang lebih tinggi. + + + + mixed smarty_compiler_name + string $tag_arg + object &$smarty + + + + Fungsi kompilator diberi dua parameter: argumen string tag - pada + dasarnya, apapun dari nama fungsi sampai akhir pemisah, dan obyek + Smarty. Ia seharusnya mengembalikan kode PHP yang disisipkan ke dalam + template terkompilasi. + + + + Fungsi kompilator sederhana + +_current_file . " compiled at " . date('Y-m-d H:M'). "';"; +} +?> +]]> + + + Fungsi ini dipanggil dari template sebagai: + + + + + + Kode PHP yang dihasilkan dalam template terkompilasi akan menjadi seperti ini: + + + +]]> + + + + + Lihat juga + + register_compiler_function(), + + unregister_compiler_function(). + + + + + diff --git a/docs/id/programmers/plugins/plugins-functions.xml b/docs/id/programmers/plugins/plugins-functions.xml new file mode 100644 index 00000000..10bf7315 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-functions.xml @@ -0,0 +1,130 @@ + + + Fungsi Template + + + void smarty_function_name + array $params + object &$smarty + + + + Semua atribut yang + dikirimkan ke fungsi template dari template yang berisi + $params sebagai array asosiatif. + + + Output (nilai hasil) atas fungsi akan diganti di tempat tag fungsi dalam + template, misalnya fungsi + {fetch}. + Alternatif lain, fungsi bisa hanya melakukan beberapa tugas tanpa output + apapun, misalnya fugnsi + {assign}. + + + Jika fungsi perlu menempatkan beberapa variabel ke template atau gunakan + beberapa fungsionalitas lain yang disediakan-Smarty, ini dapat menggunakan + obyek $smarty yang disertakan untuk melakukannya + misaslnya $smarty->foo(). + + + + + plugin fungsi dengan output + + +]]> + + + + + yang dapat digunakan dalam template sebagai: + + +Question: Will we ever have time travel? +Answer: {eightball}. + + + + plugin fungsi tanpa output + +trigger_error("assign: missing 'var' parameter"); + return; + } + + if (!in_array('value', array_keys($params))) { + $smarty->trigger_error("assign: missing 'value' parameter"); + return; + } + + $smarty->assign($params['var'], $params['value']); +} +?> +]]> + + + + + Lihat juga: + register_function(), + unregister_function(). + + + + diff --git a/docs/id/programmers/plugins/plugins-howto.xml b/docs/id/programmers/plugins/plugins-howto.xml new file mode 100644 index 00000000..14da3564 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-howto.xml @@ -0,0 +1,45 @@ + + + + Bagaimana Plugin Bekerja + + Plugin selalu diambil saat dibutuhkan. Hanya pengubah tertentu, + fungsi, sumber daya, dll yang diminta dalam naskah template akan diambil. + Selanjutnya, setiap plugin diambil hanya sekali, meskipun anda mempunyai + beberapa turunan Smarty yang berjalan dalam permintaan yang sama. + + + Pre/postfilters dan filter output sedikit dari hal khusus. Karena tidak + disetbutkan dalam template, ini harus didaftarkan atau diambil secara + eksplisit melalui fungis API sebelum template diproses. + Urutan di mana multipel filter dengan tipe sama dijalankan tergantung + pada urutan di mana ia didaftarkan atau diambil. + + + Direktori plugin + dapat berupa string yang berisi path atau array yang berisi multipel + path. Untuk menginstalasi sebuah plugin, cukup tempatkan dalam salah satu + direktori dan Smarty akan menggunakannya secara otomatis. + + + + diff --git a/docs/id/programmers/plugins/plugins-inserts.xml b/docs/id/programmers/plugins/plugins-inserts.xml new file mode 100644 index 00000000..7843779f --- /dev/null +++ b/docs/id/programmers/plugins/plugins-inserts.xml @@ -0,0 +1,71 @@ + + + Inserts + + Plugin insert dipakai untuk mengimplementasikan fungsi yang diminta oleh + tag {insert} + dalam template. + + + + string smarty_insert_name + array $params + object &$smarty + + + + Parameter pertama ke fungsi adalah array asosiatif dari atribut yang + dikirimkan ke insert. + + + Fungsi insert seharusnya mengembalikan hasil yang akan di tempatkan pada + tag {insert} dalam template. + + + plugin insert + +trigger_error("insert time: missing 'format' parameter"); + return; + } + return strftime($params['format']); +} +?> +]]> + + + + + diff --git a/docs/id/programmers/plugins/plugins-modifiers.xml b/docs/id/programmers/plugins/plugins-modifiers.xml new file mode 100644 index 00000000..62fb4030 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-modifiers.xml @@ -0,0 +1,116 @@ + + + Pengubah + + Pengubah adalah fungsi kecil + yang diterapkan ke variabel dalam template sebelum ia ditampilkan atau + digunakan dalam beberapa konteks lain. Pengubah dapat dirangkai bersama. + + + + mixed smarty_modifier_name + mixed $value + [mixed $param1, ...] + + + + Parameter pertama pada plugin pengubah adalah nilai di mana pengubah + beroperasi. Parameter sisanya adalah opsional, tergantung pada + jenis operasi apa yang dilakukan. + + + Pengubah harus mengembalikan + hasil dari prosesnya. + + + + Plugin pengubah sederhana + + Plugin ini pada dasarnya alias dari salah satu fungsi built-in PHP. + Ini tidak mempunyai parameter tambahan. + + + +]]> + + + + + Plugin pengubah lebih kompleks + + $length) { + $length -= strlen($etc); + $fragment = substr($string, 0, $length+1); + if ($break_words) + $fragment = substr($fragment, 0, -1); + else + $fragment = preg_replace('/\s+(\S+)?$/', '', $fragment); + return $fragment.$etc; + } else + return $string; +} +?> +]]> + + + + Lihat juga + register_modifier(), + unregister_modifier(). + + + + diff --git a/docs/id/programmers/plugins/plugins-naming-conventions.xml b/docs/id/programmers/plugins/plugins-naming-conventions.xml new file mode 100644 index 00000000..9cc22045 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-naming-conventions.xml @@ -0,0 +1,95 @@ + + + + Konvensi Penamaan + + File plugin dan fungsi harus mengikuti konvensi penamaan khusus agar + dapat ditempatkan oleh Smarty. + + + file plugin harus dinamai sebagai berikut: +
      + + + type.name.php + + +
      +
      + + + + Di mana type salah satu tipe plugin ini: + + function + modifier + block + compiler + prefilter + postfilter + outputfilter + resource + insert + + + + + + Dan name harus pengenal yang benar; huruf, + angka, dan hanya garis bawah, lihat + variabel php. + + + + Beberapa contoh: function.html_select_date.php, + resource.db.php, + modifier.spacify.php. + + + + + + + fungsi plugin di dalam file PHP harus dinamai sebagai berikut: +
      + + smarty_type_name + +
      +
      + + + + Arti dari type dan name sama seperti di atas. + + + Contoh nama pengubah foo akan menjadi function smarty_modifier_foo(). + + + + Smarty akan menampilkan pesan kesalahan terkait jika file plugin yang + dibutuhkan tidak ditemukan, atau jika file atau fungsi plugin dinamai + secara tidak benar. + +
      + + diff --git a/docs/id/programmers/plugins/plugins-outputfilters.xml b/docs/id/programmers/plugins/plugins-outputfilters.xml new file mode 100644 index 00000000..55a296fb --- /dev/null +++ b/docs/id/programmers/plugins/plugins-outputfilters.xml @@ -0,0 +1,73 @@ + + + Filter Output + + Plugin filter output beroperasi pada output template, setelah template + diambil dan dijalankan, tapi sebelum output ditampilkan. + + + + string smarty_outputfilter_name + string $template_output + object &$smarty + + + + Parameter pertama pada fungsi filter output adalah output template + yang perlu diproses, dan parameter kedua adalah turunan dari Smarty + yang meminta plugin. Plugin seharusnya melakukan proses dan + mengembalikan hasilnya. + + + Plugin filter output + + +]]> + + + + Lihat juga + + register_outputfilter(), + + unregister_outputfilter(). + + + + diff --git a/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml b/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml new file mode 100644 index 00000000..69344d58 --- /dev/null +++ b/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml @@ -0,0 +1,117 @@ + + + + Prefilters/Postfilters + + Plugin prefilter dan postfilter sangat mirip dalam konsep; di mana + keduanya berbeda dalam eksekusi -- lebih tepatnya waktu eksekusinya. + + + + string smarty_prefilter_name + string $source + object &$smarty + + + + Prefilters dipakai untuk memproses sumber template segera sebelum + kompilasi. Parameter pertama ke fungsi prefilter adalah sumber + template, kemungkinan diubah oleh beberapa prefilters lain. Plugin + seharusnya mengembalikan sumber yang diubah. Catatan bahwa sumber + ini tidak disimpan di mana pun, hanya dipakai untuk kompilasi. + + + + string smarty_postfilter_name + string $compiled + object &$smarty + + + + Postfilters dipakai untuk memproses output terkompilasi dari template + (kode PHP) segera setelah kompilasi dikerjakan sebelum template + terkompilasi disimpan ke sistem file. Parameter pertama ke fungsi + postfilter adalah kode template terkompilasi, kemungkinan diubah oleh + postfilters lainnya. Plugin seharusnya mengembalikan versi yang diubah + atas kode ini. + + + plugin prefilter + +]+>!e', 'strtolower("$1")', $source); + } +?> +]]> + + + + + plugin postfilter + +\nget_template_vars()); ?>\n" . $compiled; + return $compiled; + } +?> +]]> + + + + Lihat juga + + register_prefilter(), + + unregister_prefilter() + + register_postfilter(), + + unregister_postfilter(). + + + + diff --git a/docs/id/programmers/plugins/plugins-resources.xml b/docs/id/programmers/plugins/plugins-resources.xml new file mode 100644 index 00000000..e2e4f19a --- /dev/null +++ b/docs/id/programmers/plugins/plugins-resources.xml @@ -0,0 +1,168 @@ + + + Sumber daya + + Plugin sumber daya diartikan sebagai cara umum atas penyediaan sumber + template atau komponen naskah PHP untuk Smarty. Beberapa contoh + sumber daya: + database, LDAP, memori berbagi, soket, dan seterusnya. + + + + Ada empat fungsi yang perlu didaftarkan untuk setiap tipe sumber daya. + Setiap fungsi akan menerima sumber daya yang diminta sebagai paramneter + pertama dan obyek Smarty sebagai parameter terkahir. Parameter sisanya + tergantung pada fungsi. + + + + + bool smarty_resource_name_source + string $rsrc_name + string &$source + object &$smarty + + + bool smarty_resource_name_timestamp + string $rsrc_name + int &$timestamp + object &$smarty + + + bool smarty_resource_name_secure + string $rsrc_name + object &$smarty + + + bool smarty_resource_name_trusted + string $rsrc_name + object &$smarty + + + + + + Fungsi pertama, source() is supposed to retrieve + the resource. Its second parameter $source is a + variable passed by reference where the result should be + stored. The function is supposed to return &true; if + it was able to successfully retrieve the resource and &false; otherwise. + + + + Fungsi kedua, timestamp() is supposed to + retrieve the last modification time of the requested resource, as a UNIX + timestamp. The second parameter $timestamp + is a variable passed by reference where the timestamp should be stored. + The function is supposed to return &true; if the timestamp could be + succesfully determined, or &false; otherwise. + + + + Fungsi ketiga, secure()is supposed to return + &true; or &false;, depending on whether the requested resource is secure + or not. This function is used only for template resources but + should still be defined. + + + + Fungsi keempat, trusted() seharusnya mengembalikan + &true; atau &false;, tergantung pada apakah sumber daya yang diminta + dipercaya atau tidak. Fungsi ini dipakai hanya untuk komponen naskah PHP + yang diminta oleh tag + {include_php} atau tag + {insert} + dengan atribut src. Akan tetapi, ini masih harus + didefinisikan meskipun untuk sumber daya template. + + + + + + plugin sumber daya + +query("select tpl_source + from my_table + where tpl_name='$tpl_name'"); + if ($sql->num_rows) { + $tpl_source = $sql->record['tpl_source']; + return true; + } else { + return false; + } +} + +function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty) +{ + // lakukan pemanggilan database di sini untuk mempopulasikan $tpl_timestamp. + $sql = new SQL; + $sql->query("select tpl_timestamp + from my_table + where tpl_name='$tpl_name'"); + if ($sql->num_rows) { + $tpl_timestamp = $sql->record['tpl_timestamp']; + return true; + } else { + return false; + } +} + +function smarty_resource_db_secure($tpl_name, &$smarty) +{ + // menganggap semua template aman + return true; +} + +function smarty_resource_db_trusted($tpl_name, &$smarty) +{ + // tidak dipakai untuk template +} +?> +]]> + + + + + LIhat juga + register_resource(), + unregister_resource(). + + + + + diff --git a/docs/id/programmers/plugins/plugins-writing.xml b/docs/id/programmers/plugins/plugins-writing.xml new file mode 100644 index 00000000..c55c3e2f --- /dev/null +++ b/docs/id/programmers/plugins/plugins-writing.xml @@ -0,0 +1,64 @@ + + + + Menulis Plugin + + Plugin dapat diambil baik oleh Smarty secara otomatis dari sistem + file ataupun didaftarkan saat runtime via salah satu fungsi API + register_*. Juga dapat dibatalkan registrasinya dengan menggunakan + fungsi API unregister_*. + + + Untuk plugin yang terdaftar saat runtime, nama fungsi plugin tidak + harus mengikuti konvensi penamaan. + + + Jika sebuah plugin tergantung pada beberapa fungsionalitas yang + disediakan oleh plugin lainnya (seperti dengan beberapa plugin + yang dibundel dengan Smarty), maka cara yang benar untuk mengambil + plugin yang dibutuhkan ialah: + + +_get_plugin_filepath('function', 'html_options'); +?> +]]> + + + Sebagai aturan umum, obyek Smarty selalu dikirimkan ke plugin sebagai + parameter terakhir dengan dua kekecualian: + + + + pengubah tidak mendapatkan obyek Smarty sama sekali + + + blok mendapatkan kirim + $repeat setelah obyek Smarty untuk memelihara + kompatibilitas mundur dengan versi Smarty sebelumnya. + + + + + +