cvs: smarty /docs/id/programmers/advanced-features advanced-features-objects.xml advanced-features-outputfilters.xml advanced-features-postfilters.xml advanced-features-prefilters.xml section-template-cache-handler-func.xml template-resources.xml /docs/id/programmers/api-functions api-append-by-ref.xml api-append.xml api-assign-by-ref.xml api-assign.xml api-clear-all-assign.xml api-clear-all-cache.xml api-clear-assign.xml api-clear-cache.xml api-clear-compiled-tpl.xml api-clear-config.xml api-config-load.xml api-display.xml api-fetch.xml api-get-config-vars.xml api-get-registered-object.xml api-get-template-vars.xml api-is-cached.xml api-load-filter.xml api-register-block.xml api-register-compiler-function.xml api-register-function.xml api-register-modifier.xml api-register-object.xml api-register-outputfilter.xml api-register-postfilter.xml api-register-prefilter.xml api-register-resource.xml api-template-exists.xml api-trigger-error.xml api-unregister-block.xml a! pi-unregister-compiler-function.xml api-unregister-function.xml api-unregister-modifier.xml api-unregister-object.xml api-unregister-outputfilter.xml api-unregister-postfilter.xml api-unregister-prefilter.xml api-unregister-resource.xml /docs/id/programmers/api-variables variable-autoload-filters.xml variable-cache-dir.xml variable-cache-handler-func.xml variable-cache-lifetime.xml variable-cache-modified-check.xml variable-caching.xml variable-compile-check.xml variable-compile-dir.xml variable-compile-id.xml variable-compiler-class.xml variable-config-booleanize.xml variable-config-dir.xml variable-config-fix-newlines.xml variable-config-overwrite.xml variable-config-read-hidden.xml variable-debug-tpl.xml variable-debugging-ctrl.xml variable-debugging.xml variable-default-modifiers.xml variable-default-resource-type.xml variable-default-template-handler-func.xml variable-error-reporting.xml variable-force-compile.xml variable-left-delimiter.xml variable-php-handling.xml ! variable-plugins-dir.xml variable-request-use-auto-globals.xml variable-request-vars-order.xml variable-right-delimiter.xml variable-secure-dir.xml variable-security-settings.xml variable-security.xml variable-template-dir.xml variable-trusted-dir.xml variable-use-sub-dirs.xml /docs/id/programmers/caching caching-cacheable.
[email protected] ("Zaenal Mutaqin") Tue, 18 Sep 2007 17:45:48 -0000
| Newsgroups | php.smarty.cvs |
|---|---|
| Message-ID | <cvsadezm1190137548@cvsserver> |
--adezm1190137548
Content-Type: text/plain
adezm Tue Sep 18 17:45:48 2007 UTC
Added files:
/smarty/docs/id/programmers/advanced-features
advanced-features-objects.xml
advanced-features-outputfilters.xml
advanced-features-postfilters.xml
advanced-features-prefilters.xml
section-template-cache-handler-func.xml
template-resources.xml
/smarty/docs/id/programmers/api-functions api-append-by-ref.xml
api-append.xml
api-assign-by-ref.xml
api-assign.xml
api-clear-all-assign.xml
api-clear-all-cache.xml
api-clear-assign.xml
api-clear-cache.xml
api-clear-compiled-tpl.xml
api-clear-config.xml
api-config-load.xml
api-display.xml
api-fetch.xml
api-get-config-vars.xml
api-get-registered-object.xml
api-get-template-vars.xml
api-is-cached.xml
api-load-filter.xml
api-register-block.xml
api-register-compiler-function.xml
api-register-function.xml
api-register-modifier.xml
api-register-object.xml
api-register-outputfilter.xml
api-register-postfilter.xml
api-register-prefilter.xml
api-register-resource.xml
api-template-exists.xml
api-trigger-error.xml
api-unregister-block.xml
api-unregister-compiler-function.xml
api-unregister-function.xml
api-unregister-modifier.xml
api-unregister-object.xml
api-unregister-outputfilter.xml
api-unregister-postfilter.xml
api-unregister-prefilter.xml
api-unregister-resource.xml
/smarty/docs/id/programmers/api-variables
variable-autoload-filters.xml
variable-cache-dir.xml
variable-cache-handler-func.xml
variable-cache-lifetime.xml
variable-cache-modified-check.xml
variable-caching.xml
variable-compile-check.xml
variable-compile-dir.xml
variable-compile-id.xml
variable-compiler-class.xml
variable-config-booleanize.xml
variable-config-dir.xml
variable-config-fix-newlines.xml
variable-config-overwrite.xml
variable-config-read-hidden.xml
variable-debug-tpl.xml
variable-debugging-ctrl.xml
variable-debugging.xml
variable-default-modifiers.xml
variable-default-resource-type.xml
variable-default-template-handler-func.xml
variable-error-reporting.xml
variable-force-compile.xml
variable-left-delimiter.xml
variable-php-handling.xml
variable-plugins-dir.xml
variable-request-use-auto-globals.xml
variable-request-vars-order.xml
variable-right-delimiter.xml
variable-secure-dir.xml
variable-security-settings.xml
variable-security.xml
variable-template-dir.xml
variable-trusted-dir.xml
variable-use-sub-dirs.xml
/smarty/docs/id/programmers/caching caching-cacheable.xml
caching-groups.xml
caching-multiple-caches.xml
caching-setting-up.xml
/smarty/docs/id/programmers/plugins plugins-block-functions.xml
plugins-compiler-functions.xml
plugins-functions.xml
plugins-howto.xml
plugins-inserts.xml
plugins-modifiers.xml
plugins-naming-conventions.xml
plugins-outputfilters.xml
plugins-prefilters-postfilters.xml
plugins-resources.xml
plugins-writing.xml
Log:
Typos correction and all translated now.
--adezm1190137548
Content-Type: text/plain
Content-Disposition: attachment; filename="adezm-20070918174548.txt"
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/advanced-features-objects.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/advanced-features-objects.xml
+++ smarty/docs/id/programmers/advanced-features/advanced-features-objects.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="advanced.features.objects">
<title>Obyek</title>
<para>
Smarty membolehkan akses ke
<ulink url="&url.php-manual;object">obyek</ulink> PHP melalui template.
Ada dua cara untuk mengaksesnya.
</para>
<itemizedlist spacing="compact">
<listitem><para>
Cara pertama adalah <link linkend="api.register.object">meregistrasi obyek</link> ke
template, lalu menaksesnya via sintaks mirip dengan
<link linkend="language.custom.functions">fungsi kustom</link>.
</para></listitem>
<listitem><para>
Cara kedua adalah fungsi <link linkend="api.assign"><varname>assign()</varname>
</link> obyek ke template dan mengaksesnya seperti halnya variabel lainnya yang
ditempati.
</para></listitem>
</itemizedlist>
<para>
Metode pertama ini merupakan sintaks template lebih baik. Ia juga lebih aman,
karena obyek terdaftar dapat dibatasi ke metode atau properti tertentu. AKan tetapi,
<emphasis role="bold">obyek terdaftar tidak bisa diulang terus menerus atau ditempati
dalam obyek arrays</emphasis>, dll. Metode yang anda pilih akan ditentukan oleh
kebutuhan anda, tapi gunakan metode pertama bila memungkinkan untuk
memelihara sintaks template menjadi minimum.
</para>
<para>
Jika <link linkend="variable.security"><parameter>$security</parameter></link>
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.
</para>
<para>
Anda dapat membatasi metode dan propertis yang bisa diakses dengan
mendaftarkannya dalam sebuah array sebagai parameter ketiga registrasi.
</para>
<para>
Secara standar, parameter dioperkan ke obyek melaluis template, dioperkan
dengan cara yang sama
<link linkend="language.custom.functions">fungsi kustom</link> 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;.
</para>
<para>
Parameter opsional ke lima hanya berpengaruh dengan
<parameter>format</parameter> dijadikan &true;
dan berisi daftar metode yang seharusnya diperlakukan sebagai blok. Itu
berarti metode ini mempunyai tag penutup dalam template
(<literal>{foobar->meth2}...{/foobar->meth2}</literal>) dan
parameter pada metode mempunyai sinopsis yang sama seperti parameter
untuk
<link linkend="plugins.block.functions">
<varname>block-function-plugins</varname></link>:
Ia medapatkan empat parameters
<parameter>$params</parameter>,
<parameter>$content</parameter>,
<parameter>&$smarty</parameter> dan
<parameter>&$repeat</parameter> dan juga bertindak seperti
block-function-plugins.
</para>
<example>
<title>Menggunakan obyek teregistrasi atau ditempatkan</title>
<programlisting role="php">
<![CDATA[
<?php
// obyek
class My_Object {
function meth1($params, &$smarty_obj) {
return 'this is my meth1';
}
}
$myobj = new My_Object;
// meregistrasi obyek (akan menjadi referensi)
$smarty->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');
?>
]]>
</programlisting>
<para>
Dan ini adalah bagaimana untuk mengakses obyek anda dalam <filename>index.tpl</filename>:
</para>
<programlisting>
<![CDATA[
{* akses obyek teregistrasi kita*}
{foobar->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)}
]]>
</programlisting>
</example>
<para>
Lihat juga <link
linkend="api.register.object"><varname>register_object()</varname></link>
dan
<link linkend="api.assign"><varname>assign()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml
+++ smarty/docs/id/programmers/advanced-features/advanced-features-outputfilters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="advanced.features.outputfilters">
<title>Filter Output</title>
<para>
Ketika template dipanggil via
<link linkend="api.display"><varname>display()</varname></link> atau
<link linkend="api.fetch"><varname>fetch()</varname></link>, outputnya bisa
dikirimkan melalui satu atau lebih filter output. Ini berbeda dari
<link linkend="advanced.features.postfilters">
<varname>postfilters</varname></link>
karena postfilters beroperasi pada template terkompilasi sebelum disimpan
ke disk, sedangkan filter output beroperasi pada output template ketika ia
dijalankan.
</para>
<para>
Filter output bisa
<link linkend="api.register.outputfilter">teregistrasi</link> atau diambil dari
<link linkend="variable.plugins.dir">direktori plugins</link> dengan
menggunakan metode
<link linkend="api.load.filter"><varname>load_filter()</varname></link>
atau dengan menyetel variabel <link linkend="variable.autoload.filters">
<parameter>$autoload_filters</parameter></link>.
Smarty akan mengoper output template sebagai argumen pertama,
dan mengharapkan fungsi untuk mengembalikan hasil proses.
</para>
<example>
<title>Menggunakan template outputfilter</title>
<programlisting role="php">
<![CDATA[
<?php
// simpan ini dalam aplikasi anda
function protect_email($tpl_output, &$smarty)
{
$tpl_output =
preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
'$1%40$2', $tpl_output);
return $tpl_output;
}
// daftarkan outputfilter
$smarty->register_outputfilter('protect_email');
$smarty->display('index.tpl');
// sekarang setiap ada alamat email dalam output template akan mempunyai
// perlindungan sederhana terhadap spambots
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.outputfilter"><varname>register_outpurfilter()</varname></link>,
<link linkend="api.load.filter"><varname>load_filter()</varname></link>,
<link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>,
<link linkend="advanced.features.postfilters">postfilters</link> dan
<link linkend="variable.plugins.dir"><parameter>$plugins_dir</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/advanced-features-postfilters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/advanced-features-postfilters.xml
+++ smarty/docs/id/programmers/advanced-features/advanced-features-postfilters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="advanced.features.postfilters">
<title>Postfilters</title>
<para>
Template postfilters adalah fungsi PHP di mana templates anda dijalankan
<emphasis>setelah dikompilasi</emphasis>. Postfilters bisa
<link linkend="api.register.postfilter">teregistrasi</link> atau diambil dari
<link linkend="variable.plugins.dir">direktori plugins</link>
dengan menggunakan fungsi
<link linkend="api.load.filter"><varname>load_filter()</varname></link>
atau dengan menyetel variabel <link linkend="variable.autoload.filters">
<parameter>$autoload_filters</parameter></link>.
Smarty akan mengoper kode template terkompilasi sebagai argumen,
dan mengharapkan fungsi untuk mengembalikan hasil pemrosesan.
</para>
<example>
<title>Menggunakan template postfilter</title>
<programlisting role="php">
<![CDATA[
<?php
// simpan ini dalam aplikasi anda
function add_header_comment($tpl_source, &$smarty)
{
return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n".$tpl_source;
}
// daftarkan postfilter
$smarty->register_postfilter('add_header_comment');
$smarty->display('index.tpl');
?>
]]>
</programlisting>
<para>
Postfilter di atas akan membuat Smarty template
terkompilasi
<filename>index.tpl</filename> terlihat seperti:
</para>
<screen>
<![CDATA[
<!-- Created by Smarty! -->
{* konten template seterusnya... *}
]]>
</screen>
</example>
<para>
Lihat juga
<link linkend="api.register.postfilter"><varname>register_postfilter()</varname></link>,
<link linkend="advanced.features.prefilters">prefilters</link>
dan
<link linkend="api.load.filter"><varname>load_filter()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/advanced-features-prefilters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/advanced-features-prefilters.xml
+++ smarty/docs/id/programmers/advanced-features/advanced-features-prefilters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="advanced.features.prefilters">
<title>Prefilters</title>
<para>
Template prefilters adalah fungsi PHP di mana template anda dijalankan
<emphasis>sebelum dikompilasi</emphasis>. Ini bagus untuk preproses
template anda untuk menghapus komentar yang tidak diinginkan, mengawasi
apa yang disimpan orang dalam templatenya, dll.
</para>
<para>
Prefilters bisa <link
linkend="api.register.prefilter">teregistrasi</link> atau diambil dari
<link linkend="variable.plugins.dir">direktori plugins</link>
dengan menggunakan fungsi <link
linkend="api.load.filter"><varname>load_filter()</varname></link> atau dengan
menyetel variabel <link linkend="variable.autoload.filters">
<parameter>$autoload_filters</parameter></link>.
</para>
<para>
Smarty akan mengoper kode sumber template sebagai argumen pertama, dan
mengharapkan fungsi untuk mengembalikan hasil kode sumbber template.
</para>
<example>
<title>Menggunakan template prefilter</title>
<para>
Ini akan menghapus semua komentar html dalam sumber template.
</para>
<programlisting role="php">
<![CDATA[
<?php
// simpan ini dalam aplikasi anda
function remove_dw_comments($tpl_source, &$smarty)
{
return preg_replace("/<!--#.*-->/U",'',$tpl_source);
}
// daftarkan prefilter
$smarty->register_prefilter('remove_dw_comments');
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>Lihat juga
<link linkend="api.register.prefilter"><varname>register_prefilter()</varname></link>,
<link linkend="advanced.features.postfilters">postfilters</link>
dan
<link linkend="api.load.filter"><varname>load_filter()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml
+++ smarty/docs/id/programmers/advanced-features/section-template-cache-handler-func.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="section.template.cache.handler.func">
<title>Fungsi Pengendali Cache</title>
<para>
Sebagai alternatif untuk menggunakan mekanisme cache berbasis-file
standar, anda bisa menetapkan fungsi penanganan cache kustom yang
akan digunakan untuk
<literal>membaca</literal>, <literal>menulis</literal> dan
<literal>membersihkan</literal> file yang di-cache.
</para>
<para>
Buat sebuah fungsi dalam aplikasi anda yang akan digunakan Smarty
sebagai pengendali cache. Set namanya dalam variabel kelas
<link linkend="variable.cache.handler.func">
<parameter>$cache_handler_func</parameter></link>.. Smarty
sekarang akan menggunakan ini untuk menangani data yang di-cache.
</para>
<itemizedlist>
<listitem><para>
Argumen pertama adalah aksi, yang akan berupa salah satu dari
<literal>read</literal>, <literal>write</literal> dan
<literal>clear</literal>.
</para></listitem>
<listitem><para>
Parameter kedua adalah obyek Smarty.
</para></listitem>
<listitem><para>Paremeter ketiga adalah konten yang di-cache.
Setelah <literal>menulis</literal>, Smarty mengoper konten yang
di-cache dalam parameter ini. Setelah <literal>membaca</literal>,
Smarty mengharapkan fungsi anda untuk menerima parameter ini
dengan referensi dan menempatkannya dengan data yang di-cache.
Setelah <literal>membersihkan</literal>, mengoper variabel dummy
di sini karena ia tidak digunakan.
</para></listitem>
<listitem><para>
Parameter ke empat adalah <parameter>nama</parameter> file template
,
diperlukan untuk membaca/menulis.
</para></listitem>
<listitem><para>
Parameter ke lima adalah opsional <parameter>$cache_id</parameter>.
</para></listitem>
<listitem><para>
Parameter ke enam adalah opsional <link linkend="variable.compile.id">
<parameter>$compile_id</parameter></link>.
</para></listitem>
<listitem><para>
Parameter ke tujuh dan parameter terakhir <parameter>$exp_time</parameter>
ditambahkan dalam Smarty-2.6.0.
</para></listitem>
</itemizedlist>
<example>
<title>Contoh menggunakan MySQL sebagai sumber cache</title>
<programlisting role="php">
<![CDATA[
<?php
/**************************************************
contoh pemakaian:
include('Smarty.class.php');
include('mysql_cache_handler.php');
$smarty = new Smarty;
$smarty->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;
}
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/advanced-features/template-resources.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/advanced-features/template-resources.xml
+++ smarty/docs/id/programmers/advanced-features/template-resources.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="template.resources">
<title>Sumber daya</title>
<para>
Template mungkin berasal dari berbagai sumber. Ketika anda
<link linkend="api.display"><varname>display()</varname></link> atau
<link linkend="api.fetch"><varname>fetch()</varname></link>
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, <link
linkend="variable.default.resource.type">
<parameter>$default_resource_type</parameter></link> yang diasumsikan.
</para>
<sect2 id="templates.from.template.dir">
<title>Templates dari $template_dir</title>
<para>
Template dari <link linkend="variable.template.dir">
<parameter>$template_dir</parameter></link> tidak membutuhkan sumber
daya template
, meskipun anda dapat menggunakan sumber daya
<literal>file:</literal> untuk konsistensi. Cukup sertakan path ke template yang
ingin anda gunakan relatif ke direktori akar <link linkend="variable.template.dir">
<parameter>$template_dir</parameter></link>.
</para>
<example>
<title>Menggunakan template dari $template_dir</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->display('index.tpl');
$smarty->display('admin/menu.tpl');
$smarty->display('file:admin/menu.tpl'); // sama seperti yang di atas
?>
]]>
</programlisting>
<para>Dari dalam template Smarty</para>
<programlisting>
<![CDATA[
{include file='index.tpl'}
{* di bawah ini sama seperti yang di atas*}
{include file='file:index.tpl'}
]]>
</programlisting>
</example>
</sect2>
<sect2 id="templates.from.any.dir">
<title>Template dari direktori mana saja</title>
<para>
Template di luar <link linkend="variable.template.dir">
<parameter>$template_dir</parameter></link>
memerlukan tipe sumber daya template <literal>file:</literal>, diikuti
oleh path absolut ke template.
</para>
<example>
<title>Menggunakan template daru direktori mana saja</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->display('file:/export/templates/index.tpl');
$smarty->display('file:/path/to/my/templates/menu.tpl');
?>
]]>
</programlisting>
<para>
Dan dari dalam template Smarty:
</para>
<programlisting>
<![CDATA[
{include file='file:/usr/local/share/templates/navigation.tpl'}
]]>
</programlisting>
</example>
<sect3 id="templates.windows.filepath">
<title>Path file Windows</title>
<para>
Jika anda menggunakan mesin Windows, path file biasanya menyertakan
sebuah huruf drive (C:) di awal nama path. Pastikan untuk menggunakan
<literal>file:</literal> dalam path guna menghindari konflik namespace dan
memperoleh hasil yang diinginkan.
</para>
<example>
<title>Menggunakan template dari path file windows</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->display('file:C:/export/templates/index.tpl');
$smarty->display('file:F:/path/to/my/templates/menu.tpl');
?>
]]>
</programlisting>
<para>
Dan dari dalam template Smarty:
</para>
<programlisting>
<![CDATA[
{include file='file:D:/usr/local/share/templates/navigation.tpl'}
]]>
</programlisting>
</example>
</sect3>
</sect2>
<sect2 id="templates.from.elsewhere">
<title>Template dari sumber daya lain</title>
<para>
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.
</para>
<para>
Lihat seksi <link linkend="plugins.resources">plugins sumber daya</link>
untuk informasi lebih jauh mengenai fungsi yang harus anda sediakan.
</para>
<note>
<para>
Catatan bahwa anda tidak bisa menimpa sumber daya built-in
<literal>file:</literal>, tapi anda dapat menyediakan sumber daya yang
mengambil template dari sistem file dalam beberapa cara lain dengan
mendaftarkan di bawah nama sumber daya lain.
</para>
</note>
<example>
<title>Menggunakan sumber daya kustom</title>
<programlisting role="php">
<![CDATA[
<?php
// simpan fungsi ini di mana saja dalam aplikasi anda
function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
{
// lakukan pemanggilan database di sini untuk mengambil template anda,
// populasikan $tpl_source
$sql = new SQL;
$sql->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");
?>
]]>
</programlisting>
<para>
Dan dari dalam template Smarty:
</para>
<programlisting>
<![CDATA[
{include file='db:/extras/navigation.tpl'}
]]>
</programlisting>
</example>
</sect2>
<sect2 id="default.template.handler.function">
<title>Fungsi pengendali template default</title>
<para>
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.
</para>
<example>
<title>Menggunakan fungsi pengendali template default</title>
<programlisting role="php">
<![CDATA[
<?php
// simpan ini di mana saja dalam aplikasi anda
function make_template ($resource_type, $resource_name, &$template_source, &$template_timestamp,
&$smarty_obj)
{
if( $resource_type == 'file' ) {
if ( ! is_readable ( $resource_name )) {
// buat file template, hasilkan konten.
$template_source = "This is a new template.";
require_once SMARTY_CORE_DIR . 'core.write_file.php';
smarty_core_write_file( array( 'filename'=>$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';
?>
]]>
</programlisting>
</example>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-append-by-ref.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-append-by-ref.xml
+++ smarty/docs/id/programmers/api-functions/api-append-by-ref.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.append.by.ref">
<refnamediv>
<refname>append_by_ref()</refname>
<refpurpose>menambah nilai dengan referensi</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>append_by_ref</methodname>
<methodparam><type>string</type><parameter>varname</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>merge</parameter></methodparam>
</methodsynopsis>
<para>
Ini digunakan untuk
<link linkend="api.append"><varname>append()</varname></link> nilai ke template
dengan referensi.
Jika anda menambah sebuah variabel dengan referensi lalu mengubah nilainya,
nilai yang ditambahkan melihat perubahannya juga. Untuk
<link linkend="advanced.features.objects">objects</link>,
<varname>append_by_ref()</varname> 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.
</para>
¬e.parameter.merge;
<example>
<title>append_by_ref</title>
<programlisting role="php">
<![CDATA[
<?php
// menambahkan pasangan nama/nilai
$smarty->append_by_ref('Name', $myname);
$smarty->append_by_ref('Address', $address);
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.append"><varname>append()</varname></link>,
<link linkend="api.assign"><varname>assign()</varname></link>
dan
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-append.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-append.xml
+++ smarty/docs/id/programmers/api-functions/api-append.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.append">
<refnamediv>
<refname>append()</refname>
<refpurpose>menambahkan sebuah element ke array yang ditempatkan</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>append</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>void</type><methodname>append</methodname>
<methodparam><type>string</type><parameter>varname</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>merge</parameter></methodparam>
</methodsynopsis>
<para>
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.
</para>
¬e.parameter.merge;
<example>
<title>append</title>
<programlisting role="php">
<![CDATA[
<?php
// Ini secara efektif sama seperti assign()
$smarty->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'));
?>
]]>
</programlisting>
</example>
<para>Lihat juga
<link linkend="api.append.by.ref"><varname>append_by_ref()</varname></link>,
<link linkend="api.assign"><varname>assign()</varname></link>
dan
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-assign-by-ref.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-assign-by-ref.xml
+++ smarty/docs/id/programmers/api-functions/api-assign-by-ref.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.assign.by.ref">
<refnamediv>
<refname>assign_by_ref()</refname>
<refpurpose>menempatkan nilai dengan referensi</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>assign_by_ref</methodname>
<methodparam><type>string</type><parameter>varname</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Ini digunakan untuk <link linkend="api.assign"><varname>assign()</varname></link>
nilai ke template denganvreferensi daripada membuat duplikat. Lihat manual PHP
pada mereferensi variabel untuk penjelasan.
</para>
<note>
<title>Catatan Teknis</title>
<para>
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
<link linkend="advanced.features.objects">obyek</link>,
<varname>assign_by_ref()</varname> juga menghindari duplikasi obyek yang
ditempatkan dalam-memori.
Lihat manual PHP pada mereferensi variabel untuk penjelasan lebih dalam.
</para>
</note>
<example>
<title>assign_by_ref()</title>
<programlisting role="php">
<![CDATA[
<?php
// mengoper pasangan nama/nilai
$smarty->assign_by_ref('Name', $myname);
$smarty->assign_by_ref('Address', $address);
?>
]]>
</programlisting>
</example>
<para>
See also
<link linkend="api.assign"><varname>assign()</varname></link>,
<link linkend="api.clear.all.assign"><varname>clear_all_assign()</varname></link>,
<link linkend="api.append"><varname>append()</varname></link>,
<link linkend="language.function.assign"><varname>{assign}</varname></link>
and
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-assign.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-assign.xml
+++ smarty/docs/id/programmers/api-functions/api-assign.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.assign">
<refnamediv>
<refname>assign()</refname>
<refpurpose>menempatkan nilai ke template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>assign</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>void</type><methodname>assign</methodname>
<methodparam><type>string</type><parameter>varname</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Anda bisa mengoper pasangan nama/nilai secara eksplisit, atau array
asosiatif yang berisi pasangan nama/nilai.
</para>
<example>
<title>assign()</title>
<programlisting role="php">
<![CDATA[
<?php
// mengoper pasangan nama/nilai
$smarty->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));
?>
]]>
</programlisting>
<para>
Ini diakses dalam template dengan
</para>
<programlisting>
<![CDATA[
{* catatan vars adalah sensitif huruf seperti php *}
{$Name}
{$Address}
{$city}
{$state}
{$foo.no}, {$foo.label}
{$contact.id}, {$contact.name},{$contact.email}
]]>
</programlisting>
</example>
<para>
Untuk mengakses penempatan array lebih komples lihat
<link linkend="language.function.foreach"><varname>{foreach}</varname></link>
dan
<link linkend="language.function.section"><varname>{section}</varname></link>
</para>
<para>
Lihat juga
<link linkend="api.assign.by.ref"><varname>assign_by_ref()</varname></link>,
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>,
<link linkend="api.clear.assign"><varname>clear_assign()</varname></link>,
<link linkend="api.append"><varname>append()</varname></link>
dan
<link linkend="language.function.assign"><varname>{assign}</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-all-assign.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-all-assign.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-all-assign.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.all.assign">
<refnamediv>
<refname>clear_all_assign()</refname>
<refpurpose>membersihkan nilai dari seluruh variabel yang ditempati</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_all_assign</methodname>
<void />
</methodsynopsis>
<example>
<title>clear_all_assign()</title>
<programlisting role="php">
<![CDATA[
<?php
// mengirimkan pasangan nama/nilai
$smarty->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() );
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.assign"><varname>clear_assign()</varname></link>,
<link linkend="api.clear.config"><varname>clear_config()</varname></link>,
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>,
<link linkend="api.assign"><varname>assign()</varname></link>
dan <link linkend="api.append"><varname>append()</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-all-cache.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-all-cache.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-all-cache.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.all.cache">
<refnamediv>
<refname>clear_all_cache()</refname>
<refpurpose>membersihkan seluruh cache template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_all_cache</methodname>
<methodparam choice="opt"><type>int</type><parameter>expire_time</parameter></methodparam>
</methodsynopsis>
<para>
Sebagai parameter opsional, anda bisa menyertakan waktu minimum dalam detik file cache
seharusnya sebelum dibersihkan.
</para>
<example>
<title>clear_all_cache</title>
<programlisting role="php">
<![CDATA[
<?php
// membersihkan seluruh cache
$smarty->clear_all_cache();
// membersihkan seluruh file yang lebih dari satu jam lamanya
$smarty->clear_all_cache(3600);
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>,
<link linkend="api.is.cached"><varname>is_cached()</varname></link>
dan halaman
<link linkend="caching">caching</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-assign.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-assign.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-assign.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.assign">
<refnamediv>
<refname>clear_assign()</refname>
<refpurpose>membersihkan nilai dari variabel yang ditempati</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_assign</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Ini dapat berupa nilai tunggal, atau array nilai.
</para>
<example>
<title>clear_assign()</title>
<programlisting role="php">
<![CDATA[
<?php
// membersihkan variabel tunggal
$smarty->clear_assign('Name');
// membersihkan multipel variabel
$smarty->clear_assign(array('Name', 'Address', 'Zip'));
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.all.assign"><varname>clear_all_assign()</varname></link>,
<link linkend="api.clear.config"><varname>clear_config()</varname></link>,
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>,
<link linkend="api.assign"><varname>assign()</varname></link>
dan <link linkend="api.append"><varname>append()</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-cache.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-cache.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-cache.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.cache">
<refnamediv>
<refname>clear_cache()</refname>
<refpurpose>membersihkan cache untuk template tertentu</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_cache</methodname>
<methodparam><type>string</type><parameter>template</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter>
</methodparam>
<methodparam choice="opt"><type>int</type><parameter>expire_time</parameter></methodparam>
</methodsynopsis>
<itemizedlist>
<listitem><para>
Jika anda mempunyai <link linkend="caching.multiple.caches">multipel cache</link>
untuk sebuah template, anda bisa membersihkan cache tertentu dengan
menyertakan <parameter>cache_id</parameter> sebagai parameter kedua.
</para></listitem>
<listitem><para>
Anda juga bisa mengirimkan
<link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
sebagai parameter ketiga.
Anda dapat <link linkend="caching.groups">mengelompokan template bersama</link>
agar bisas dihapus sebagai sebuah grup, lihat
<link linkend="caching">seksi cache</link> untuk informasi lebih jauh.
</para></listitem>
<listitem><para>
Sebagai parameter opsional keempat, anda dapat menyertakan waktu
minimum dalam detik cache file seharusnya sebelum dibersihkan.
</para></listitem>
</itemizedlist>
<example>
<title>clear_cache()</title>
<programlisting role="php">
<![CDATA[
<?php
// bersihkan cache untuk sebuah template
$smarty->clear_cache('index.tpl');
// bersihkan cache untuk id cache tertentu dalam multipel-cache template
$smarty->clear_cache('index.tpl', 'MY_CACHE_ID');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>
dan seksi
<link linkend="caching"><varname>caching</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-compiled-tpl.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.compiled.tpl">
<refnamediv>
<refname>clear_compiled_tpl()</refname>
<refpurpose>membersihkan versi terkompilasi dari sumber daya template yang ditetapkan</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_compiled_tpl</methodname>
<methodparam choice="opt"><type>string</type><parameter>tpl_file</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter>
</methodparam>
<methodparam choice="opt"><type>int</type><parameter>exp_time</parameter></methodparam>
</methodsynopsis>
<para>
Ini membersihkan versi terkompilasi dari sumber daya template yang ditetapkan,
atau semua file template yang dikompilasi bila ini tidak ditetapkan.
Jika anda mengirimkan
<link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
hanya template terkompilasi untuk
<link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
spesifik ini yang dibersihkan. Jika anda mengirimkan exp_time, maka hanya
template terkompilasi yang lebih lama dari <parameter>exp_time</parameter> detik
yang dibersihkan, standarnya template terkompilasi dibersihkan dengan
mengabaikan usianya.
Fungsi ini hanya untuk penggunaan tingkat lanjut, tidak untuk kebutuhan normal.
</para>
<example>
<title>clear_compiled_tpl()</title>
<programlisting role="php">
<![CDATA[
<?php
// bersihkan sumber daya template tertentu
$smarty->clear_compiled_tpl('index.tpl');
// bersihkan seluruh direktori kompilasi
$smarty->clear_compiled_tpl();
?>
]]>
</programlisting>
</example>
<para>Lihat juga
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-clear-config.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-clear-config.xml
+++ smarty/docs/id/programmers/api-functions/api-clear-config.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.clear.config">
<refnamediv>
<refname>clear_config()</refname>
<refpurpose>membersihkan variabel config yang ditempati</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>clear_config</methodname>
<methodparam choice="opt"><type>string</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Ini membersihkan semua
<link linkend="language.config.variables">variabel config</link>
yang ditempati.
Jika nama variabel disertakan, hanya variabel itu yang dibersihkan.
</para>
<example>
<title>clear_config()</title>
<programlisting role="php">
<![CDATA[
<?php
// bersihkan semua variabel config yang ditempati.
$smarty->clear_config();
// bersihkan satu variabel
$smarty->clear_config('foobar');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link>,
<link linkend="language.config.variables"><varname>config variables</varname></link>,
<link linkend="config.files"><varname>config files</varname></link>,
<link linkend="language.function.config.load"><varname>{config_load}</varname></link>,
<link linkend="api.config.load"><varname>config_load()</varname></link>
dan
<link linkend="api.clear.assign"><varname>clear_assign()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-config-load.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-config-load.xml
+++ smarty/docs/id/programmers/api-functions/api-config-load.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.config.load">
<refnamediv>
<refname>config_load()</refname>
<refpurpose>mengambil data file config yang menempatinya ke template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>config_load</methodname>
<methodparam><type>string</type><parameter>file</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>section</parameter></methodparam>
</methodsynopsis>
<para>
Ini mengambil data
<link linkend="config.files">file config</link>
dan menempatkannya ke template. Pekerjaan ini persis sama dengan fungsi template
<link linkend="language.function.config.load">
<varname>{config_load}</varname></link>.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Sejak Smarty 2.4.0, variabel template yang ditempati dipelihara terhadap
permintaan
<link linkend="api.fetch"><varname>fetch()</varname></link>
dan <link linkend="api.display"><varname>display()</varname></link>.
Config vars yang diambil dari
<varname>config_load()</varname> selalu dalam lingkup global.
File config juga dikompilasi untuk eksekusi lebih cepat, dan
memperhatikan setelan
<link linkend="variable.force.compile">
<parameter>$force_compile</parameter></link> dan
<link linkend="variable.compile.check">
<parameter>$compile_check</parameter></link>.
</para>
</note>
<example>
<title>config_load()</title>
<programlisting role="php">
<![CDATA[
<?php
// ambil variabel config dan menempatinya
$smarty->config_load('my.conf');
// ambil seksi
$smarty->config_load('my.conf', 'foobar');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="language.function.config.load"><varname>{config_load}</varname></link>,
<link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link>,
<link linkend="api.clear.config"><varname>clear_config()</varname></link>,
dan
<link linkend="language.config.variables"><varname>variabel config</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-display.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-display.xml
+++ smarty/docs/id/programmers/api-functions/api-display.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.display">
<refnamediv>
<refname>display()</refname>
<refpurpose>menampilkan template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>display</methodname>
<methodparam><type>string</type><parameter>template</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter>
</methodparam>
</methodsynopsis>
<para>
Ini menampilkan template tidak seperti
<link linkend="api.fetch"><varname>fetch()</varname></link>.
Sertakan tipe dan path <link
linkend="template.resources">sumber daya template</link> yang benar.
Sebagai parameter opsional kedua, anda bisa mengirimkan
<parameter>$cache id</parameter>, lihat
<link linkend="caching">seksi caching</link> untuk informasi lebih jauh.
</para>
¶meter.compileid;
<example>
<title>display()</title>
<programlisting role="php">
<![CDATA[
<?php
include(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty();
$smarty->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');
?>
]]>
</programlisting>
</example>
<example>
<title>Contoh sumber data lain dari display()</title>
<para>
Gunakan sintaks <link
linkend="template.resources">sumber daya template</link> untuk
menampilkan file di luar
<link linkend="variable.template.dir">
<parameter>$template_dir</parameter></link> direktori.
</para>
<programlisting role="php">
<![CDATA[
<?php
// path file absolut
$smarty->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');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga <link linkend="api.fetch"><varname>fetch()</varname></link> dan
<link linkend="api.template.exists"><varname>template_exists()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-fetch.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-fetch.xml
+++ smarty/docs/id/programmers/api-functions/api-fetch.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.fetch">
<refnamediv>
<refname>fetch()</refname>
<refpurpose>mengembalikan output template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>string</type><methodname>fetch</methodname>
<methodparam><type>string</type><parameter>template</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>$compile_id</parameter>
</methodparam>
</methodsynopsis>
<para>
Ini mengembalikan output template daripada
<link linkend="api.display">menampilkan</link> ouput.
Sertakan tipe dan path <link
linkend="template.resources">sumber daya template</link>
yang benar. Sebagai parameter opsional ketiga, anda dapat mengirimkan
<parameter>$cache id</parameter>, lihat <link linkend="caching">seksi caching</link>
untuk informasi lebih jauh.
</para>
¶meter.compileid;
<para>
<example>
<title>fetch()</title>
<programlisting role="php">
<![CDATA[
<?php
include('Smarty.class.php');
$smarty = new Smarty;
$smarty->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;
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Menggunakan fetch() untuk mengirim sebuah email</title>
<para>
Template <filename>email_body.tpl</filename>
</para>
<programlisting>
<![CDATA[
Dear {$contact.name},
Welcome and thankyou for signing up as a member of our user group,
Click on the link below to login with your user name of '{$contact.login_id}'
so you can post in our forums.
http://{$smarty.server.SERVER_NAME}/login/
List master
Some user group
{include file='email_disclaimer.tpl'}
]]>
</programlisting>
<para>
Template <filename>email_disclaimer.tpl</filename> yang menggunakan pengubah
<link linkend="language.function.textformat">
<varname>{textformat}</varname></link>.
</para>
<programlisting>
<![CDATA[
{textformat wrap=40}
Kecuali anda menamai "{$contact.name}", anda hanya dapat membaca "kata berurut
ganjil" (setiap kata lainnya diawali dengan yang pertama) atas pesan di atas.
Jika anda telah melanggarnya, maka anda berhutang ke pengirim 10 GBP untuk
setiap kata berurut genap yang sudah anda baca
{/textformat}
]]>
</programlisting>
<para>
Naskah php menggunakan fungsi PHP
<ulink url="&url.php-manual;function.mail">
<varname>mail()</varname></ulink>
</para>
<programlisting role="php">
<![CDATA[
<?php
// dapatkan kontak dari database misalnya memakai pear atau adodb
$query = 'select name, email, login_id from contacts where contact_id='.$contact_id;
$contact = $db->getRow($sql);
$smarty->assign('contact', $contact);
mail($contact['email'], 'Subject', $smarty->fetch('email_body.tpl'));
?>
]]>
</programlisting>
</example>
</para>
<para>
Lihat juga
<link linkend="language.function.fetch"><varname>{fetch}</varname></link>
<link linkend="api.display"><varname>display()</varname></link>,
<link linkend="language.function.eval"><varname>{eval}</varname></link>,
dan
<link linkend="api.template.exists"><varname>template_exists()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-get-config-vars.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-get-config-vars.xml
+++ smarty/docs/id/programmers/api-functions/api-get-config-vars.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.get.config.vars">
<refnamediv>
<refname>get_config_vars()</refname>
<refpurpose>mengembalikan nilai variabel config yang diambil</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>array</type><methodname>get_config_vars</methodname>
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
</methodsynopsis>
<para>
Jika tidak ada parameter yang diberikan, array dari semua
<link linkend="language.config.variables">variabel config</link>
array dikembalikan.
</para>
<example>
<title>get_config_vars()</title>
<programlisting role="php">
<![CDATA[
<?php
// dapatkan var config template yang diambil #foo#
$myVar = $smarty->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);
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.config"><varname>clear_config()</varname></link>,
<link linkend="language.function.config.load"><varname>{config_load}</varname></link>,
<link linkend="api.config.load"><varname>config_load()</varname></link>
dan
<link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-get-registered-object.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-get-registered-object.xml
+++ smarty/docs/id/programmers/api-functions/api-get-registered-object.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.get.registered.object">
<refnamediv>
<refname>get_registered_object()</refname>
<refpurpose>mengembalikan referensi ke obyek terdaftar</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>array</type><methodname>get_registered_object</methodname>
<methodparam><type>string</type><parameter>object_name</parameter></methodparam>
</methodsynopsis>
<para>
Ini berguna dari dalam fungsi kustom saat anda memerlukan akses langsung ke
<link linkend="api.register.object">obyek terdaftar</link>. Lihat halaman
<link linkend="advanced.features.objects">obyek</link> untuk info lebih jauh.
</para>
<example>
<title>get_registered_object()</title>
<programlisting role="php">
<![CDATA[
<?php
function smarty_block_foo($params, &$smarty)
{
if (isset($params['object'])) {
// dapatkan referensi ke obyek terdaftar
$obj_ref = &$smarty->get_registered_object($params['object']);
// pemakaian $obj_ref sekarang mereferensi ke obyek
}
}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.object"><varname>register_object()</varname></link>,
<link linkend="api.unregister.object"><varname>unregister_object()</varname></link>
dan
<link linkend="advanced.features.objects">halaman obyek</link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-get-template-vars.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-get-template-vars.xml
+++ smarty/docs/id/programmers/api-functions/api-get-template-vars.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.get.template.vars">
<refnamediv>
<refname>get_template_vars()</refname>
<refpurpose>mengembalikan nilai variabel yang ditempatkan</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>array</type><methodname>get_template_vars</methodname>
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
</methodsynopsis>
<para>
Jika tidak diberikan parameter, array semua variabel yang
is given, an array of all <link linkend="api.assign">ditempati</link>
dikembalikan.
</para>
<example>
<title>get_template_vars</title>
<programlisting role="php">
<![CDATA[
<?php
// dapatkan var template 'foo' yang ditempati
$myVar = $smarty->get_template_vars('foo');
// dapatkan semua var template yang ditempati
$all_tpl_vars = $smarty->get_template_vars();
// lihat isinya
print_r($all_tpl_vars);
?>
]]>
</programlisting>
</example>
<para>
Lihat juga <link linkend="api.assign"><varname>assign()</varname></link>,
<link linkend="language.function.assign"><varname>{assign}</varname></link>,
<link linkend="api.append"><varname>append()</varname></link>,
<link linkend="api.clear.assign"><varname>clear_assign()</varname></link>,
<link linkend="api.clear.all.assign"><varname>clear_all_assign()</varname></link>
dan
<link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-is-cached.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-is-cached.xml
+++ smarty/docs/id/programmers/api-functions/api-is-cached.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.is.cached">
<refnamediv>
<refname>is_cached()</refname>
<refpurpose>mengembalikan true jika ada cache yang benar untuk template ini</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>bool</type><methodname>is_cached</methodname>
<methodparam><type>string</type><parameter>template</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter>
</methodparam>
</methodsynopsis>
<itemizedlist>
<listitem><para>
Ini hanya bekerja jika <link linkend="variable.caching">
<parameter>$caching</parameter></link> disetel ke &true;, lihat
<link linkend="caching">seksi caching</link> untuk info lebih jauh.
</para></listitem>
<listitem><para>
Anda juga dapat mengirimkan <parameter>$cache_id</parameter> sebagai parameter
opsional kedua seandainya anda menginginkan
<link linkend="caching.multiple.caches">multipel cache</link>
untuk template yang diberikan.
</para></listitem>
<listitem><para>
Anda dapat menyertakan
<link linkend="variable.compile.id"><parameter>$compile id</parameter></link>
sebagai parameter opsional ketiga. Jika anda mengabaikan parameter itu
persisten <link linkend="variable.compile.id">
<parameter>$compile_id</parameter></link> dipakai bila disetel.
</para></listitem>
<listitem><para>
Jika anda tidak ingin mengirimkan <parameter>$cache_id</parameter> tapi ingin
mengirimkan <link linkend="variable.compile.id">
<parameter>$compile_id</parameter></link> anda harus mengirimkan
&null; sebagai <parameter>$cache_id</parameter>.
</para></listitem>
</itemizedlist>
<note>
<title>Catatan Teknis</title>
<para>
Jika <varname>is_cached()</varname> menghasilkan &true; ia sebenarnya
mengambil output yang di-cache dan menyimpannya secara internal.
Setiap panggilan berikutnya ke
<link linkend="api.display"><varname>display()</varname></link> atau
<link linkend="api.fetch"><varname>fetch()</varname></link>
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 <varname>is_cached()</varname> dan ke
<link linkend="api.display"><varname>display()</varname></link>
dalam contoh di atas. Ini juga berarti panggilan ke
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>
dan perubahan lain dari setelan-cache mungkin tidak berpengaruh setelah
<varname>is_cached()</varname> mengembalikan &true;.
</para>
</note>
<example>
<title>is_cached()</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl')) {
// lakukan panggilan database, tempatkan vars di sini
}
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<example>
<title>is_cached() with multiple-cache template</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl', 'FrontPage')) {
// lakukan panggilan database, tempatkan vars di sini
}
$smarty->display('index.tpl', 'FrontPage');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>,
<link linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>,
and
<link linkend="caching">seksi caching</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-load-filter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-load-filter.xml
+++ smarty/docs/id/programmers/api-functions/api-load-filter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.load.filter">
<refnamediv>
<refname>load_filter()</refname>
<refpurpose>mengambil plugin filter</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>load_filter</methodname>
<methodparam><type>string</type><parameter>type</parameter></methodparam>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
Argumen pertama menetapkan tipe filter yang diambil dan bisa salah satu dari
yang berikut ini: <literal>pre</literal>, <literal>post</literal> atau
<literal>output</literal>.
Argumen kedua menetapkan <parameter>nama</parameter> plugin filter.
</para>
<example>
<title>Mengambil plugin filter</title>
<programlisting role="php">
<![CDATA[
<?php
// ambil prefilter bernama 'trim'
$smarty->load_filter('pre', 'trim');
// ambil prefilter lain bernama 'datefooter'
$smarty->load_filter('pre', 'datefooter');
// ambil filter output bernama 'compress'
$smarty->load_filter('output', 'compress');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.prefilter"><varname>register_prefilter()</varname></link>,
<link linkend="api.register.postfilter"><varname>register_postfilter()</varname></link>,
<link linkend="api.register.outputfilter"><varname>register_outputfilter()</varname></link>,
<link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>
dan
<link linkend="advanced.features">advanced features</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-block.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-block.xml
+++ smarty/docs/id/programmers/api-functions/api-register-block.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.block">
<refnamediv>
<refname>register_block()</refname>
<refpurpose>secara dinamis meregistrasi plugins fungsi blok</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_block</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>mixed</type><parameter>impl</parameter></methodparam>
<methodparam><type>bool</type><parameter>cacheable</parameter></methodparam>
<methodparam><type>mixed</type><parameter>cache_attrs</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk meregistrasi
<link linkend="plugins.block.functions">plugin fungsi blok</link> secara
dinamis.
Mengirimkan <parameter>name</parameter> fungsi blok, diikuti oleh nama fungsi
PHP yang mengimplementasikannya.
</para>
&api.register.snippet;
<para>
<parameter>cacheable</parameter> dan <parameter>cache_attrs</parameter>
dapat diabaikan. Lihat seksi <link
linkend="caching.cacheable">mengontrol output plugin yang dapat di-cache</link>
atas bagaimana untuk mengimplementasikannya dengan benar.
</para>
<example>
<title>register_block()</title>
<programlisting role="php">
<![CDATA[
<?php
// deklararsi fungsi
function do_translation ($params, $content, &$smarty, &$repeat)
{
if (isset($content)) {
$lang = $params['lang'];
// lakukan beberapa terjemahan dengan $content
return $translation;
}
}
// registrasi dengan smarty
$smarty->register_block('translate', 'do_translation');
?>
]]>
</programlisting>
<para>
Di mana template adalah:
</para>
<programlisting>
<![CDATA[
{translate lang='br'}Hello, world!{/translate}
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.unregister.block"><varname>unregister_block()</varname></link>
dan halaman
<link linkend="plugins.block.functions">fungsi blok plugin</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-compiler-function.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-compiler-function.xml
+++ smarty/docs/id/programmers/api-functions/api-register-compiler-function.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.compiler.function">
<refnamediv>
<refname>register_compiler_function()</refname>
<refpurpose>secara dinamis meregistrasi plugins fungsi kompilator</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>bool</type><methodname>register_compiler_function</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>mixed</type><parameter>impl</parameter></methodparam>
<methodparam><type>bool</type><parameter>cacheable</parameter></methodparam>
</methodsynopsis>
<para>
Mengirimkan nama
<link linkend="plugins.compiler.functions">fungsi kompilator</link>,
diikuti oleh fungsi PHP yang mengimplementasikannya.
</para>
&api.register.snippet;
<para>
<parameter>cacheable</parameter> dapat diabaikan. Lihat
<link linkend="caching.cacheable">mengontrol output plugin
yang dapat di-cache</link> atas bagaimana untuk menggunakannya dengan benar.
</para>
<para>
Lihat juga
<link linkend="api.unregister.compiler.function">
<varname>unregister_compiler_function()</varname></link>
dan seksi
<link linkend="plugins.compiler.functions">fungsi kompilator plugin</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-function.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-function.xml
+++ smarty/docs/id/programmers/api-functions/api-register-function.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.function">
<refnamediv>
<refname>register_function()</refname>
<refpurpose>secara dinamis meregistrasi plugin fungsi template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_function</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>mixed</type><parameter>impl</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>cacheable</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>cache_attrs</parameter>
</methodparam>
</methodsynopsis>
<para>
Mengirimkan nama <link linkend="plugins.functions">fungsi template</link>,
diikuti oleh nama fungsi PHP yang mengimplementasikannya.
</para>
&api.register.snippet;
<para>
<parameter>cacheable</parameter> dan <parameter>cache_attrs</parameter> dapat
diabaikan. Lihat <link
linkend="caching.cacheable">mengontrol output plugin yang dapat di-cache</link>
atas bagaimana menggunakannya dengan benar.
</para>
<example>
<title>register_function()</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->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());
}
?>
]]>
</programlisting>
<para>
Dan dalam template
</para>
<programlisting>
<![CDATA[
{date_now}
{* atau untuk membentuk secara berbeda *}
{date_now format="%Y/%m/%d"}
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.unregister.function"><varname>unregister_function()</varname></link>
dan seksi
<link linkend="plugins.functions">fungsi plugin</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-modifier.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-modifier.xml
+++ smarty/docs/id/programmers/api-functions/api-register-modifier.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.modifier">
<refnamediv>
<refname>register_modifier()</refname>
<refpurpose>secara dinamis meregistrasi plugin pengubah</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_modifier</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>mixed</type><parameter>impl</parameter></methodparam>
</methodsynopsis>
<para>
Mengirimkan nama pengubah template, diikuti oleh fungsi PHP yang
mengimplementasikannya.
</para>
&api.register.snippet;
<example>
<title>register_modifier()</title>
<programlisting role="php">
<![CDATA[
<?php
// mari peta-kan fungsi PHP stripslashes ke pengubah Smarty.
$smarty->register_modifier('ss', 'stripslashes');
?>
]]>
</programlisting>
<para>Dalam template, pakai <literal>ss</literal> untuk membuang garis miring.</para>
<programlisting>
<![CDATA[
<?php
{$var|ss}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.unregister.modifier"><varname>unregister_modifier()</varname></link>,
<link linkend="api.register.function"><varname>register_function()</varname></link>,
seksi <link linkend="language.modifiers">pengubah</link>,
<link linkend="plugins">memperluas Smarty dengan plugins</link>
dan
<link linkend="plugins.modifiers">membuat pengubah plugin</link>,
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-object.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-object.xml
+++ smarty/docs/id/programmers/api-functions/api-register-object.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.object">
<refnamediv>
<refname>register_object()</refname>
<refpurpose>meregistrasi obyek untuk digunakan dalam template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_object</methodname>
<methodparam><type>string</type><parameter>object_name</parameter></methodparam>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
<methodparam><type>array</type><parameter>allowed_methods_properties</parameter>
</methodparam>
<methodparam><type>boolean</type><parameter>format</parameter></methodparam>
<methodparam><type>array</type><parameter>block_methods</parameter></methodparam>
</methodsynopsis>
<para>
Lihat
<link linkend="advanced.features.objects">seksi obyek</link>
untuk informasi lebih jauh.
</para>
<para>
Lihat juga
<link linkend="api.get.registered.object"><varname>get_registered_object()</varname></link>,
dan
<link linkend="api.unregister.object"><varname>unregister_object()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-outputfilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-outputfilter.xml
+++ smarty/docs/id/programmers/api-functions/api-register-outputfilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.outputfilter">
<refnamediv>
<refname>register_outputfilter()</refname>
<refpurpose>secara dinamis meregistrasi outputfilters</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsin</title>
<methodsynopsis>
<type>void</type><methodname>register_outputfilter</methodname>
<methodparam><type>mixed</type><parameter>function</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk meregistrasi
<link linkend="plugins.outputfilters">outputfilters</link> secara dinamis
guna beroperasi pada output template sebelum ia
<link linkend="api.display">ditampilkan</link>. Lihat
<link linkend="advanced.features.outputfilters">filter output
template</link>
untuk informasi lebih jauh atas bagaimana menyiapkan fungsi filter output.
</para>
&api.register.snippet;
¬e.parameter.function;
<para>
Lihat juga
<link linkend="api.unregister.outputfilter"><varname>unregister_outputfilter()</varname></link>,
<link linkend="api.load.filter"><varname>load_filter()</varname></link>,
<link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>
dan seksi
<link linkend="advanced.features.outputfilters">filter output template</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-postfilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-postfilter.xml
+++ smarty/docs/id/programmers/api-functions/api-register-postfilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.postfilter">
<refnamediv>
<refname>register_postfilter()</refname>
<refpurpose>secara dinamis meregistrasi postfilters</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_postfilter</methodname>
<methodparam><type>mixed</type><parameter>function</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk meregistrasi
<link linkend="advanced.features.postfilters">postfilters</link> secara
dinamis guna menjalankan template setelah ia dikompilasi. Lihat <link
linkend="advanced.features.postfilters">template postfilters</link> untuk
informasi lebih jauh atas bagaimana menyiapkan postfilter fungsi.
</para>
&api.register.snippet;
¬e.parameter.function;
<para>
Lihat juga
<link linkend="api.unregister.postfilter">
<varname>unregister_postfilter()</varname></link>,
<link linkend="api.register.prefilter">
<varname>register_prefilter()</varname></link>,
<link linkend="api.load.filter"><varname>load_filter()</varname></link>,
<link linkend="variable.autoload.filters">
<parameter>$autoload_filters</parameter></link>
dan seksi
<link linkend="advanced.features.outputfilters">template output filters</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-prefilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-prefilter.xml
+++ smarty/docs/id/programmers/api-functions/api-register-prefilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.prefilter">
<refnamediv>
<refname>register_prefilter()</refname>
<refpurpose>secara dinamis meregistrasi prefilters</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_prefilter</methodname>
<methodparam><type>mixed</type><parameter>function</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk meregistrasi
<link linkend="advanced.features.prefilters">prefilters</link> secara
dinamis guna menjalankan template sebelum ia dikompilas. Lihat <link
linkend="advanced.features.prefilters">template prefilters</link>
untuk informasi lebih jauh atas bagaimana menyiapkan prefilter fungsi.
</para>
&api.register.snippet;
¬e.parameter.function;
<para>
Lihat juga
<link linkend="api.unregister.prefilter"><varname>unregister_prefilter()</varname></link>,
<link linkend="api.register.postfilter"><varname>register_postfilter()</varname></link>,
<link linkend="api.register.outputfilter"><varname>register_ouputfilter()</varname></link>,
<link linkend="api.load.filter"><varname>load_filter()</varname></link>,
<link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>
dan seksi
<link linkend="advanced.features.outputfilters">template output filters</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-register-resource.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-register-resource.xml
+++ smarty/docs/id/programmers/api-functions/api-register-resource.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.register.resource">
<refnamediv>
<refname>register_resource()</refname>
<refpurpose>secara dinamis meregistrasi sumberdaya</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>register_resource</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>array</type><parameter>resource_funcs</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk meregistrasi
<link linkend="template.resources">plugin sumber daya</link> secara
dinamis dengan Smarty.
Mengirimkan <parameter>name</parameter> sumber daya dab fungsi array PHP
yang mengimplementasikannya. Lihat
<link linkend="template.resources">sumber daya template</link>
untuk informasi lebih jauh atas bagaimana menyiapkan fungsi untuk mengambil
templates.
<note>
<title>Catatan Teknis</title>
<para>
Panjang nama sumber daya harus berisi setidaknya 2 karakter. Satu karakter
nama sumber daya akan diabaikan dan dipakai sebagai bagian dari path file,
misalnya <literal>$smarty->display('c:/path/to/index.tpl');</literal>
</para>
</note>
</para>
<itemizedlist>
<listitem><para>
array-fungsi-php <parameter>resource_funcs</parameter>
harus mempunyai 4 atau 5 elemen.
</para></listitem>
<listitem><para>
Dengan 4 elemen, elemen adalah callback-fungsi untuk fungsi <literal>source</literal>
masing-masing,
<literal>timestamp</literal>, <literal>secure</literal> dan
<literal>trusted</literal> dari sumber daya.
</para></listitem>
<listitem><para>
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 <literal>source</literal>,
<literal>timestamp</literal>, <literal>secure</literal>
dan <literal>trusted</literal>.
</para></listitem>
</itemizedlist>
<example>
<title>register_resource()</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->register_resource('db', array(
'db_get_template',
'db_get_timestamp',
'db_get_secure',
'db_get_trusted')
);
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.unregister.resource"><varname>unregister_resource()</varname></link>
dan seksi
<link linkend="template.resources">sumber daya template</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-template-exists.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-template-exists.xml
+++ smarty/docs/id/programmers/api-functions/api-template-exists.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.template.exists">
<refnamediv>
<refname>template_exists()</refname>
<refpurpose>memeiksa apakah template yang ditetapkan sudah ada</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>bool</type><methodname>template_exists</methodname>
<methodparam><type>string</type><parameter>template</parameter></methodparam>
</methodsynopsis>
<para>
Ini dapat menerima baik path ke template pada sistem file ataupun string
sumber daya yang menetapkan template.
</para>
<example>
<title>template_exists()</title>
<para>
Contoh ini menggunakan <literal>$_GET['page']</literal> untuk
<link linkend="language.function.include"><varname>{include}</varname></link>
konten template. Jika template tidak ada maka halaman kesalahan yang
ditampilkan. Pertama <filename>page_container.tpl</filename>
</para>
<programlisting role="php">
<![CDATA[
<html>
<head><title>{$title}</title></head>
<body>
{include file='page_top.tpl'}
{* sertakan halaman konten tengah *}
{include file=$content_template}
{include file='page_footer.tpl'}
</body>
]]>
</programlisting>
<para>
Dan naskah php
</para>
<programlisting role="php">
<![CDATA[
<?php
// set nama file, contoh index.inc.tpl
$mid_template = $_GET['page'].'.inc.tpl';
if( !$smarty->template_exists($mid_template) ){
$mid_template = 'page_not_found.tpl';
}
$smarty->assign('content_template', $mid_template);
$smarty->display('page_container.tpl');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.display"><varname>display()</varname></link>,
<link linkend="api.fetch"><varname>fetch()</varname></link>,
<link linkend="language.function.include"><varname>{include}</varname></link>
and
<link linkend="language.function.insert"><varname>{insert}</varname></link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-trigger-error.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-trigger-error.xml
+++ smarty/docs/id/programmers/api-functions/api-trigger-error.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.trigger.error">
<refnamediv>
<refname>trigger_error()</refname>
<refpurpose>menampilkan pesan kesalahan</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>trigger_error</methodname>
<methodparam><type>string</type><parameter>error_msg</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>level</parameter></methodparam>
</methodsynopsis>
<para>
Fungsi ini dapat dipakai untuk menampilkan pesan kesalahan menggunakan Smarty.
Parameter <parameter>level</parameter> bisa salah satu dari nilai yang dipakai
fungsi PHP <ulink url="&url.php-manual;trigger_error">
<varname>trigger_error()</varname></ulink>, contoh:
<literal>E_USER_NOTICE</literal>, <literal>E_USER_WARNING</literal>, dll.
Standarnya adalah <literal>E_USER_WARNING</literal>.
</para>
<para>
Lihat juga
<link linkend="variable.error.reporting">
<parameter>$error_reporting</parameter></link>,
<link linkend="chapter.debugging.console">debugging</link>
dan
<link linkend="smarty.php.errors">pemecahan masalah</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-block.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-block.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-block.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.block">
<refnamediv>
<refname>unregister_block()</refname>
<refpurpose>secara dinamis membatalkan registrasi plugin fungsi blok</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_block</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk membatalkan registrasi
<link linkend="plugins.block.functions">plugin fungsi blok</link> secara
dinamis.
Mengirimkan fungsi blok <parameter>name</parameter>.
</para>
<para>
Lihat juga
<link linkend="api.register.block"><varname>register_block()</varname></link>
dan
<link linkend="plugins.block.functions">plugins fungsi blok</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-compiler-function.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-compiler-function.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-compiler-function.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.compiler.function">
<refnamediv>
<refname>unregister_compiler_function()</refname>
<refpurpose>secara dinamis membatalkan registrasi fungsi kompilator</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_compiler_function</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
Mengirimkan <parameter>name</parameter> fungsi kompilator.
</para>
<para>
Lihat juga
<link linkend="api.register.compiler.function">
<varname>register_compiler_function()</varname></link>
dan
<link linkend="plugins.compiler.functions">fungsi kompilator plugin</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-function.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-function.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-function.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.function">
<refnamediv>
<refname>unregister_function</refname>
<refpurpose>secara dinamis membatalkan registrasi plugin fungsi template</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_function</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
Mengirimkan fungsi template <parameter>name</parameter>.
</para>
<example>
<title>unregister_function</title>
<programlisting role="php">
<![CDATA[
<?php
// kita tidak menginginkan desainer template harus mengakses file sistem
$smarty->unregister_function('fetch');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga <link linkend="api.register.function">
<varname>register_function()</varname></link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-modifier.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-modifier.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-modifier.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.modifier">
<refnamediv>
<refname>unregister_modifier()</refname>
<refpurpose>secara dinamis membatalkan registrasi plugin pengubah</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_modifier</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
Mengirimkan pengubah template <parameter>name</parameter>.
</para>
<example>
<title>unregister_modifier()</title>
<programlisting role="php">
<![CDATA[
<?php
// kita tidak menginginkan desainer template untuk membuang taag dari elemen
$smarty->unregister_modifier('strip_tags');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.modifier"><varname>register_modifier()</varname></link>
dan
<link linkend="plugins.modifiers">pengubah plugin</link>,
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-object.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-object.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-object.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.object">
<refnamediv>
<refname>unregister_object()</refname>
<refpurpose>secara dinamis membatalkan registrasi obyek</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_object</methodname>
<methodparam><type>string</type><parameter>object_name</parameter></methodparam>
</methodsynopsis>
<para>
Lihat juga
<link linkend="api.register.object"><varname>register_object()</varname></link>
dan
<link linkend="advanced.features.objects">objects section</link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-outputfilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-outputfilter.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-outputfilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.outputfilter">
<refnamediv>
<refname>unregister_outputfilter()</refname>
<refpurpose>secara dinamis membatalkan registrasi filter output</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_outputfilter</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
</methodsynopsis>
<para>
Gunakan ini untuk membatalkan registrasi filter output secara dinamis.
</para>
<para>
Lihat juga
<link linkend="api.register.outputfilter">
<varname>register_outputfilter()</varname></link>
dan
<link linkend="advanced.features.outputfilters">template output filters</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-postfilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-postfilter.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-postfilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.postfilter">
<refnamediv>
<refname>unregister_postfilter()</refname>
<refpurpose>secara dinamis membatalkan registrasi postfilter</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_postfilter</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
</methodsynopsis>
<para>
Lihat juga
<link linkend="api.unregister.postfilter">
<varname>register_postfilter()</varname></link>
dan
<link linkend="plugins.prefilters.postfilters">template post filters</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-prefilter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-prefilter.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-prefilter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.prefilter">
<refnamediv>
<refname>unregister_prefilter()</refname>
<refpurpose>secara dinamis membatalkan registrasi prefilter</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_prefilter</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
</methodsynopsis>
<para>
Lihat juga
<link linkend="api.register.prefilter">
<varname>register_prefilter()</varname></link>
dan
<link linkend="plugins.prefilters.postfilters">pre filters</link>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-functions/api-unregister-resource.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-functions/api-unregister-resource.xml
+++ smarty/docs/id/programmers/api-functions/api-unregister-resource.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="api.unregister.resource">
<refnamediv>
<refname>unregister_resource()</refname>
<refpurpose>secara dinamis membatalkan registrasi sebuah plugin sumber daya</refpurpose>
</refnamediv>
<refsect1>
<title>Deskripsi</title>
<methodsynopsis>
<type>void</type><methodname>unregister_resource</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<para>
mengirimkan <parameter>name</parameter> sumber daya.
</para>
<example>
<title>unregister_resource()</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->unregister_resource('db');
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.resource">
<varname>register_resource()</varname></link>
dan
<link linkend="template.resources">template resources</link>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-autoload-filters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-autoload-filters.xml
+++ smarty/docs/id/programmers/api-variables/variable-autoload-filters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.autoload.filters">
<title>$autoload_filters</title>
<para>
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:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
'output' => array('convert'));
?>
]]>
</programlisting>
</informalexample>
</para>
<para>
Lihat juga
<link linkend="api.register.outputfilter"><varname>register_outputfilter()</varname></link>,
<link linkend="api.register.prefilter"><varname>register_prefilter()</varname></link>,
<link linkend="api.register.postfilter"><varname>register_postfilter()</varname></link>
dan
<link linkend="api.load.filter"><varname>load_filter()</varname></link>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-cache-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-cache-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-cache-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.cache.dir">
<title>$cache_dir</title>
<para>
Ini adalah nama direktori di mana cache template disimpan. Standarnya
adalah <filename class="directory">./cache</filename>, berarti bahwa
Smarty akan mencari direktori <filename class="directory">cache/</filename>
di direktori yang sama seperti naskah php yang dijalankan
<emphasis role="bold">direktori ini harus bisa ditulisi oleh server web
</emphasis>,
<link linkend="installing.smarty.basic">lihat instalasi</link> untuk info
lebih lengkap.
</para>
<para>
Anda juga dapat menggunakan fungsi <link linkend="section.template.cache.handler.func">
pengendali cache kustom</link> sendiri guna mengontrol file cache, yang akan
mengabaikan setelan ini.
Lihat juga
<link linkend="variable.use.sub.dirs"><parameter>$use_sub_dirs</parameter></link>.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Setelan ini harus path relatif atau absolut. include_path tidak dipakai
untuk menulis file.
</para>
</note>
<note>
<title>Catatan Teknis</title>
<para>
Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar
dokumen server web.
</para>
</note>
<para>
Lihat juga
<link linkend="variable.caching"><parameter>$caching</parameter></link>,
<link linkend="variable.use.sub.dirs"><parameter>$use_sub_dirs</parameter></link>,
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>,
<link linkend="variable.cache.handler.func"><parameter>$cache_handler_func</parameter></link>,
<link linkend="variable.cache.modified.check"><parameter>$cache_modified_check</parameter></link>
dan
<link linkend="caching">seksi caching</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-cache-handler-func.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-cache-handler-func.xml
+++ smarty/docs/id/programmers/api-variables/variable-cache-handler-func.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.cache.handler.func">
<title>$cache_handler_func</title>
<para>
Anda dapat menyertakan fungsi kustom untuk menangani file cache daripada
menggunakan metode built-in menggunakan
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>.
Lihat <link linkend="section.template.cache.handler.func">seksi fungsi
pengendali cache</link> untuk lebih jelasnya.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-cache-lifetime.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-cache-lifetime.xml
+++ smarty/docs/id/programmers/api-variables/variable-cache-lifetime.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.cache.lifetime">
<title>$cache_lifetime</title>
<para>
Ini adalah lama waktu dalam detik berlakunya cache template.
Sekali ini berakhir, cache akan dibuat ulang.
</para>
<itemizedlist>
<listitem><para>
<parameter>$caching</parameter> harus dihidupkan (baik 1 atau 2) agar
<parameter>$cache_lifetime</parameter> berfungsi dengan benar.
</para></listitem>
<listitem><para>
Nilai -1 akan memaksa cache agar tidak pernah berakhir.
</para></listitem>
<listitem><para>Nilai 0 akan menyebabkan cache selalu dibuat ulang (hanya
baik untuk pengujian saja, untuk mematikan cache lebih efisien ialah
menyetel set <link
linkend="variable.caching"><parameter>$caching</parameter></link> = 0).
</para></listitem>
<listitem><para>
Jika anda ingin memberikan template tertentu memiliki usia cache sendiri,
anda dapat melakukan ini dengan menyetel <link linkend="variable.caching">
<parameter>$caching</parameter></link> = 2,
kemudian setel <parameter>$cache_lifetime</parameter> ke nilai unik
sebelum memanggil <link linkend="api.display"><varname>display()</varname>
</link> atau <link linkend="api.fetch"><varname>fetch()</varname></link>.
</para></listitem>
</itemizedlist>
<para>
Jika <link linkend="variable.force.compile">
<parameter>$force_compile</parameter></link> dihidupkan, file cache akan
dibuat ulang setiap waktu, secara efektif mematikan cache. Anda bisa
membersihkan seluruh file cache dengan fungsi <link
linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>,
atau file cache individual (atau grup) dengan fungsi <link
linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-cache-modified-check.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-cache-modified-check.xml
+++ smarty/docs/id/programmers/api-variables/variable-cache-modified-check.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.cache.modified.check">
<title>$cache_modified_check</title>
<para>
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 <literal>'304: Not Modified'</literal>
akan dikirimkan daripada kontennya. Pekerjaan ini hanya pada kodten yang
di-cache tanpa tag
<link linkend="language.function.insert"><varname>{insert}</varname></link>.
</para>
<para>
Lihat juga
<link linkend="variable.caching"><parameter>$caching</parameter></link>,
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>,
<link linkend="variable.cache.handler.func"><parameter>$cache_handler_func</parameter></link>,
dan
<link linkend="caching">seksi caching</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-caching.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-caching.xml
+++ smarty/docs/id/programmers/api-variables/variable-caching.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.caching">
<title>$caching</title>
<para>
Ini memberitahu Smarty apakah melakukan cache output template atau tidak ke
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>.
Standarnya ini disetel 0 yakni dimatikan. Jika template anda membuat konten
berlebihan, disarankan untuk menghidupkan
<parameter>$caching</parameter>, karena ini akan menghasilkan keuntungan
performansi signifikan.
</para>
<para>
Anda juga memiliki
<link linkend="caching.multiple.caches">multipel</link>
cache untuk template yang sama.
</para>
<itemizedlist>
<listitem><para>
Nilai 1 atau 2 menghidupkan cache.
</para></listitem>
<listitem><para>
Nilai 1 memberitahu Smarty untuk menggunakan variabel
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>
saat ini guna menetapkan apakah cache sudah berakhir.
</para></listitem>
<listitem><para>Nilai 2 memberitahu Smarty untuk menggunakan nilai
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>
saat waktu cache dibuat. Dengan cara ini anda bisa menyetel
<link linkend="variable.cache.lifetime"> <parameter>$cache_lifetime</parameter></link>
cukup sebelum <link linkend="api.fetch">fetching</link>
template untuk memiliki kontrol granular melewati berakhirnya cache tertentu.
Lihat juga <link linkend="api.is.cached"><varname>is_cached()</varname></link>.
</para></listitem>
<listitem><para>
Jika <link linkend="variable.compile.check"><parameter>$compile_check</parameter></link>
dihidupkan, konten yang di-cache akan dibuat ulang bila setiap template
atau file config yang adalah bagian dari cache ini diubah.
</para></listitem>
<listitem><para>
Jika <link linkend="variable.force.compile">
<parameter>$force_compile</parameter></link> dihidupkan, konten yang
di-cache akan selalu dibuat ulang.
</para></listitem>
</itemizedlist>
<para>
Lihat juga
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>,
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>,
<link linkend="variable.cache.handler.func"><parameter>$cache_handler_func</parameter></link>,
<link linkend="variable.cache.modified.check"><parameter>$cache_modified_check</parameter></link>,
<link linkend="api.is.cached"><varname>is_cached()</varname></link>
dan
<link linkend="caching">seksi caching</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-compile-check.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-compile-check.xml
+++ smarty/docs/id/programmers/api-variables/variable-compile-check.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.compile.check">
<title>$compile_check</title>
<para>
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;.
</para>
<para>Sekali aplikasi disimpan ke dalam produksi (misalnya template
tidak akan berubah), langkah pemeriksaan kompilasi tidak lagi
diperlukan. Pastikan untuk menyetel
<parameter>$compile_check</parameter> 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
<link linkend="variable.caching"><parameter>$caching</parameter></link>
dihidupkan dan <parameter>$compile_check</parameter> dihidupkan, maka
file yang di-cache akan dibuat ulang bila file template terkait atau file
konfig dimutakhirkan. Lihat <link linkend="variable.force.compile">
<parameter>$force_compile</parameter></link> dan <link
linkend="api.clear.compiled.tpl"><varname>clear_compiled_tpl()</varname>
</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-compile-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-compile-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-compile-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.compile.dir">
<title>$compile_dir</title>
<para>
Ini adalah nama direktori di mana template terkompilasi ditempatkan.
Standarnya ialah
<filename class="directory">./templates_c</filename>, berarti bahwa Smarty
akan mencari direktori <filename class="directory">templates_c/</filename>
di direktori yang sama seperti naskah php yang sedang dijalankan.
<emphasis role="bold">Direktori ini harus bisa ditulisi oleh server
web</emphasis>,
<link linkend="installing.smarty.basic">lihat instalasi</link>
untuk informasi lebih jauh.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Setelan ini harus path relatif atau absolut, absolute path.
include_path tidak dipakai untuk menulis file.
</para>
</note>
<note>
<title>Catatan Teknis</title>
<para>
Tidak direkomendasikan untuk menyimpan direktori di bawah akar dokumen
server web.
</para>
</note>
<para>
Lihat juga <link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
dan
<link linkend="variable.use.sub.dirs"><parameter>$use_sub_dirs</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-compile-id.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-compile-id.xml
+++ smarty/docs/id/programmers/api-variables/variable-compile-id.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.compile.id">
<title>$compile_id</title>
<para>
Pengenal kompilasi persisten. Sebagai alternatif untuk mengirimkan
<parameter>$compile_id</parameter> yang sama ke setiap fungsi panggil, anda
bisa menyetel
<parameter>$compile_id</parameter> ini dan ia akan dipakai secara implisit
setelahnya.
</para>
<para>
Dengan <parameter>$compile_id</parameter> anda bisa mengatasi batasan di mana
anda tidak bisa memakai
<link linkend="variable.compile.dir"><parameter>$compile_dir</parameter></link>
yang sama untuk <link linkend="variable.template.dir">
<parameter>$template_dirs</parameter></link> yang berbeda. Jika anda menyetel
<parameter>$compile_id</parameter> untuk setiap
<link linkend="variable.template.dir"><parameter>$template_dir</parameter>
</link> maka Smarty bisa memberitahu bagian template terkompilasi dengan
<parameter>$compile_id</parameter>-nya.
</para>
<para>
Jika anda mempunyai misalnya
<link linkend="plugins.prefilters.postfilters">prefilter</link>
yang melokalisir template anda (yaitu: menterjemahkan bahasa bagian
tersendiri) saat waktu kompilasi, selanjutnya anda dapat memakai
bahasa saat ini sebagai <parameter>$compile_id</parameter> dan
anda akan mendapatkan satu set template terkompilasi untuk setiap
bahasa yang anda gunakan.
</para>
<para>
Apliukasi lain akan menggunakan direktori kompilasi yang sama melalui
multipel domain / multipel host virtual.
</para>
<example>
<title>$compile_id dalam lingkungan host virtual</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->compile_id = $_SERVER['SERVER_NAME'];
$smarty->compile_dir = '/path/to/shared_compile_dir';
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-compiler-class.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-compiler-class.xml
+++ smarty/docs/id/programmers/api-variables/variable-compiler-class.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.compiler.class">
<title>$compiler_class</title>
<para>
Menetapkan nama kelas kompilator yang akan digunakan Smarty untuk
mengkompilasi template. Standarnya adalah 'Smarty_Compiler'. Hanya
untuk pengguna tingkat lanjut.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-config-booleanize.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-config-booleanize.xml
+++ smarty/docs/id/programmers/api-variables/variable-config-booleanize.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.config.booleanize">
<title>$config_booleanize</title>
<para>
Jika disetel &true;, nilai <link linkend="config.files">file konfig</link>
dari <literal>on/true/yes</literal>
dan <literal>off/false/no</literal> diubah ke nilai boolean secara
otomatis. Dengan cara ini anda bisa menggunakan nilai dalam template
seperti:
<literal>{if #foobar#}...{/if}</literal>. Jika foobar
<literal>on</literal>, <literal>true</literal> atau <literal>yes</literal>,
pernyataan <varname>{if}</varname> akan dijalankan.
Standarnya adalah &true;.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-config-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-config-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-config-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.config.dir">
<title>$config_dir</title>
<para>
Ini adalah direktori yang digunakan untuk menyimpan
<link linkend="config.files">file config</link> yang
dipakai pada templates. Standarnya adalah
<filename class="directory">./configs</filename>, berarti bahwa
Smarty akan mencari direktori <filename class="directory">configs/</filename>
di direktori yang sama seperti naskah php sedang dijalankan.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar
dokumen server web.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-config-fix-newlines.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-config-fix-newlines.xml
+++ smarty/docs/id/programmers/api-variables/variable-config-fix-newlines.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.config.fix.newlines">
<title>$config_fix_newlines</title>
<para>
Jika disetel ke &true;, baris baru mac dan dos misalnya <literal>'\r'</literal> dan
<literal>'\r\n'</literal> dalam file konfig diubah ke
<literal>'\n'</literal> ketika ia diuraikan. Standarnya adalah &true;.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-config-overwrite.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-config-overwrite.xml
+++ smarty/docs/id/programmers/api-variables/variable-config-overwrite.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.config.overwrite">
<title>$config_overwrite</title>
<para>
Jika disetel &true;, standarnya maka variabel yang dibaca dari
<link linkend="config.files">file config</link> 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.
</para>
<example>
<title>Array config #variables#</title>
<para>
Contoh ini menggunakan
<link linkend="language.function.cycle"><varname>{cycle}</varname></link>
untuk menampilkan tabel dengan warna baris berbeda merah/hijau/biru dengan
<parameter>$config_overwrite</parameter> = &false;.
</para>
<para>File config.</para>
<programlisting>
<![CDATA[
# warna baris
rowColors = #FF0000
rowColors = #00FF00
rowColors = #0000FF
]]>
</programlisting>
<para>
Template dengan pengulangan <link linkend="language.function.section">
<varname>{section}</varname></link>.
</para>
<programlisting>
<![CDATA[
<table>
{section name=r loop=$rows}
<tr bgcolor="{cycle values=#rowColors#}">
<td> ....dll.... </td>
</tr>
{/section}
</table>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="language.function.config.load"><varname>{config_load}</varname></link>,
<link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link>,
<link linkend="api.clear.config"><varname>clear_config()</varname></link>,
<link linkend="api.config.load"><varname>config_load()</varname></link>
dan <link linkend="config.files">seksi file config</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-config-read-hidden.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-config-read-hidden.xml
+++ smarty/docs/id/programmers/api-variables/variable-config-read-hidden.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.config.read.hidden">
<title>$config_read_hidden</title>
<para>
Jika disetel &true;, seksi tersembunyi misalnya nama seksi yang diawali
dengan .period dalam <link linkend="config.files">file config</link>
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.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-debug-tpl.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-debug-tpl.xml
+++ smarty/docs/id/programmers/api-variables/variable-debug-tpl.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.debug.tpl">
<title>$debug_tpl</title>
<para>
Ini adalah nama dari file template yang digunakan untuk konsol debug.
Standarnya, ia dinamai <filename>debug.tpl</filename> dan ditempatkan
di <link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link>.
</para>
<para>
Lihat juga
<link linkend="variable.debugging"><parameter>$debugging</parameter></link>
dan seksi
<link linkend="chapter.debugging.console">konsol debug</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-debugging-ctrl.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-debugging-ctrl.xml
+++ smarty/docs/id/programmers/api-variables/variable-debugging-ctrl.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.debugging.ctrl">
<title>$debugging_ctrl</title>
<para>
Ini membolehkan cara alternatif untuk menghidupkan debugging. <literal>NONE</literal>
berarti tidak ada metode alternatif yang dibolehkan. <literal>URL</literal>
berarti ketika kata kunci <literal>SMARTY_DEBUG</literal> ditemukan dalam
<literal>QUERY_STRING</literal>, debugging dihidupkan untuk naskah
permintaan itu. Jika <link linkend="variable.debugging">
<parameter>$debugging</parameter></link> adalah &true;, nilai ini
diabaikan.
</para>
<example>
<title>$debugging_ctrl pada localhost</title>
<programlisting role="php">
<![CDATA[
<?php
// menampilkan konsol debug hanya pada localhost misalnya
// http://localhost/script.php?foo=bar&SMARTY_DEBUG
$smarty->debugging = false; // standar
$smarty->debugging_ctrl = ($_SERVER['SERVER_NAME'] == 'localhost') ? 'URL' : 'NONE';
?>
]]>
</programlisting>
</example>
<para>
Lihat juga seksi <link linkend="chapter.debugging.console">konsol debugging</link>
dan
<link linkend="variable.debugging"><parameter>$debugging</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-debugging.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-debugging.xml
+++ smarty/docs/id/programmers/api-variables/variable-debugging.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.debugging">
<title>$debugging</title>
<para>
Ini menghidupkan <link
linkend="chapter.debugging.console">debugging console</link>.
Konsol adalah jendela popup javascript yang memberitahu anda
terhadap template yang
<link linkend="language.function.include">disertakan</link>,
variabel yang <link linkend="api.assign">ditempati</link> dari
php dan
<link linkend="language.config.variables">variabel file config</link>
untuk naskah saat ini. Ia tidak menampilkan variabel yang ditempatkan
dalam template dengan fungsi
<link linkend="language.function.assign"><varname>{assign}</varname>
</link>.
</para>
<para>Konsol bisa juga dihidupkan dari url dengan
<link linkend="variable.debugging.ctrl">
<parameter>$debugging_ctrl</parameter></link>.
</para>
<para>
Lihat juga
<link linkend="language.function.debug"><varname>{debug}</varname></link>,
<link linkend="variable.debug.tpl"><parameter>$debug_tpl</parameter></link>,
dan <link linkend="variable.debugging.ctrl"><parameter>$debugging_ctrl</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-default-modifiers.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-default-modifiers.xml
+++ smarty/docs/id/programmers/api-variables/variable-default-modifiers.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.default.modifiers">
<title>$default_modifiers</title>
<para>
Ini adalah sebuah array pengubah untuk menerapkan secara implisit ke setiap
variabel dalam sebuah template. Sebagai contoh, untuk setiap variabel
HTML-escape standarnya, menggunakan <literal>array('escape:"htmlall"')</literal>.
Untuk mengecualikan variabel dari pengubah standar, kirimkan pengubah
khusus <literal>smarty</literal> dengan nilai parameter pengubah
<literal>nodefaults</literal> ke dalamnya, misalnya
<literal>{$var|smarty:nodefaults}</literal>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-default-resource-type.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-default-resource-type.xml
+++ smarty/docs/id/programmers/api-variables/variable-default-resource-type.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.default.resource.type">
<title>$default_resource_type</title>
<para>
Ini memberitahu smarty tipe sumber daya apa yang digunakan secara
implisit. Nilai standarnya adalah <literal>file</literal>, berarti bahwa
<literal>$smarty->display('index.tpl')</literal> dan
<literal>$smarty->display('file:index.tpl')</literal> adalah sama dalam
arti. Lihat bab <link linkend="template.resources">sumber daya</link>
untuk lebih jelasnya.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-default-template-handler-func.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-default-template-handler-func.xml
+++ smarty/docs/id/programmers/api-variables/variable-default-template-handler-func.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.default.template.handler.func">
<title>$default_template_handler_func</title>
<para>
Fungsi ini dipanggil saat template tidak bisa didapatkan dari sumber
dayanya.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-error-reporting.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-error-reporting.xml
+++ smarty/docs/id/programmers/api-variables/variable-error-reporting.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.error.reporting">
<title>$error_reporting</title>
<para>
Ketika nilai ini disetel ke nilai-non-null, nilainya dipakai sebagai tingkat
<ulink url="&url.php-manual;error_reporting"><varname>error_reporting</varname></ulink>
di dalam <link linkend="api.display"><varname>display()</varname></link>
dan <link linkend="api.fetch"><varname>fetch()</varname></link>. Ketika <link
linkend="chapter.debugging.console"><parameter>debugging</parameter></link>
menghidupkan nilai ini, ia diabaikan dan tingkat kesalahan dibiarkan apa adanya.
</para>
<para>
Lihat juga
<link linkend="api.trigger.error"><varname>trigger_error()</varname></link>,
<link linkend="chapter.debugging.console">debugging</link>
dan
<link linkend="troubleshooting">pemecahan masalah</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-force-compile.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-force-compile.xml
+++ smarty/docs/id/programmers/api-variables/variable-force-compile.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.force.compile">
<title>$force_compile</title>
<para>
Ini memaksa Smarty untuk mengkompilasi ulang template pada setiap
permintaan. Setelan ini mengabaikan
<link linkend="variable.compile.check">
<parameter>$compile_check</parameter></link>.
Standarnya adalah &false;. Ini membantu saat pengembangan dan
<link linkend="chapter.debugging.console">debugging</link>.
Ini tidak boleh dipakai dalam lingkungan produksi. Jika
<link linkend="variable.caching"><parameter>$caching</parameter></link>
dihidupkan, file cache selalu akan dibuat ulang.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-left-delimiter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-left-delimiter.xml
+++ smarty/docs/id/programmers/api-variables/variable-left-delimiter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.left.delimiter">
<title>$left_delimiter</title>
<para>
Ini adalah pemisah kiri yang dipakai oleh bahasa template.
Standarnya ialah <literal>{</literal>.
</para>
<para>
Lihat juga <link linkend="variable.right.delimiter"><parameter>$right_delimiter</parameter></link>
dan
<link linkend="language.escaping">escaping penguraian smarty</link>
.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-php-handling.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-php-handling.xml
+++ smarty/docs/id/programmers/api-variables/variable-php-handling.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.php.handling">
<title>$php_handling</title>
<para>
Ini memberitahu Smarty bagaimana untuk menangani kode PHP yang
disertakan dalam template. Ada empat kemungkinan setelan, standarnya
adalah <constant>SMARTY_PHP_PASSTHRU</constant>. Catatan bahwa ini
tidak mempengaruhi kode php di dalam tag <link linkend="language.function.php">
<varname>{php}{/php}</varname></link> pada template.
</para>
<itemizedlist>
<listitem><para>
<constant>SMARTY_PHP_PASSTHRU</constant> - Smarty menampilkan tag apa adanya.
</para></listitem>
<listitem><para>
<constant>SMARTY_PHP_QUOTE</constant> - Smarty memberi tanda kutip tag
sebagai entitas html.
</para></listitem>
<listitem><para>
<constant>SMARTY_PHP_REMOVE</constant> - Smarty menghapus tag dari
template.</para></listitem>
<listitem><para>
<constant>SMARTY_PHP_ALLOW</constant> - Smarty akan menjalankan tag
sebagai kode PHP.</para></listitem>
</itemizedlist>
<note>
<para>
Menyertakan kode PHP ke dalam template sangat tidak disarankan.
Lebih baik gunakan <link linkend="plugins.functions">fungsi kustom</link>
atau
<link linkend="plugins.modifiers">pengubah</link>.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-plugins-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-plugins-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-plugins-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.plugins.dir">
<title>$plugins_dir</title>
<para>
Ini adalah directori ke mana Smarty akan mencari plugins yang
dibutuhkannya. Standarnya ialah
<filename class="directory">plugins/</filename> di bawah
<link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link>.
Jika anda menyertakan path relatif, pertama Smarty akan mencari di bawah
<link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link>,
kemudian relatif ke direktori kerja saat ini, lalu relatif terhadap
include_path PHP. Jika <parameter>$plugins_dir</parameter> adalah sebuah
array direktori, Smarty akan mencari plugin anda di setiap direktori
plugin <emphasis role="bold">dalam urutan sesuai yang diberikan</emphasis>.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Untuk performansi terbaik, jangan siapkan <parameter>$plugins_dir</parameter>
anda harus memakai path include PHP. Gunakan nama path absolut, atau
path relatif ke <constant>SMARTY_DIR</constant> atau direktori kerja
saat ini.
</para>
</note>
<example>
<title>Menambahkan direktori plugin lokal</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->plugins_dir[] = 'includes/my_smarty_plugins';
?>
]]>
</programlisting>
</example>
<example>
<title>Multiple $plugins_dir</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->plugins_dir = array(
'plugins', // standar di bawah SMARTY_DIR
'/path/to/shared/plugins',
'../../includes/my/plugins'
);
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml
+++ smarty/docs/id/programmers/api-variables/variable-request-use-auto-globals.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.request.use.auto.globals">
<title>$request_use_auto_globals</title>
<para>
Menetapkan apakah Smarty harus menggunakan <literal>$HTTP_*_VARS[]</literal> PHP
saat &false; atau <literal>$_*[]</literal> saat &true; yang merupakan nilai
standarnya. Ini mempengaruhi templates yang menggunakan
<link linkend="language.variables.smarty">
<literal>{$smarty.request.*}, {$smarty.get.*}</literal></link> dll.
</para>
<note>
<title>Perhatian</title>
<para>
Jika anda menyetel <literal>$request_use_auto_globals ke true</literal>,
<link linkend="variable.request.vars.order">
<parameter>$request_vars_order</parameter></link> tidak berpengaruh tapi
nilai konfigurasi PHP <literal>gpc_order</literal> yang digunakan.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-request-vars-order.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-request-vars-order.xml
+++ smarty/docs/id/programmers/api-variables/variable-request-vars-order.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.request.vars.order">
<title>$request_vars_order</title>
<para>
Urutan di mana variabel yang diminta sudah terdaftar, mirip dengan
variables_order dalam php.ini
</para>
<para>
Lihat juga
<link linkend="language.variables.smarty"><parameter>$smarty.request</parameter></link>
dan
<link linkend="variable.request.use.auto.globals"><parameter>$request_use_auto_globals</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-right-delimiter.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-right-delimiter.xml
+++ smarty/docs/id/programmers/api-variables/variable-right-delimiter.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.right.delimiter">
<title>$right_delimiter</title>
<para>
Ini adalah pemisah kanan yang digunakan oleh bahasa template.
Standarnya adalah <literal>}</literal>.
</para>
<para>
Lihat juga <link linkend="variable.left.delimiter"><parameter>$left_delimiter</parameter></link>
dan
<link linkend="language.escaping">escaping penguraian smarty</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-secure-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-secure-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-secure-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.secure.dir">
<title>$secure_dir</title>
<para>
Ini adalah array dari semua file lokal dan direktori yang dianggap aman.
<link linkend="language.function.include"><varname>{include}</varname></link>
dan <link linkend="language.function.fetch"><varname>{fetch}</varname></link>
gunakan ini ketika
<link linkend="variable.security"><parameter>$security</parameter></link>
dihidupkan.
</para>
<example>
<title>$secure_dir example</title>
<programlisting role="php">
<![CDATA[
<?php
$secure_dirs[] = '/path/to/site/root/templates/';
$secure_dirs[] = '/path/to/includes/';
$smarty->secure_dir = $secure_dirs;
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="variable.security.settings"><parameter>$security_settings</parameter></link>
dan <link linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-security-settings.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-security-settings.xml
+++ smarty/docs/id/programmers/api-variables/variable-security-settings.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.security.settings">
<title>$security_settings</title>
<para>
Ini dipakai untuk menimpa atau menetapkan setelan keamanan saat
<link linkend="variable.security"><parameter>$security</parameter></link> dihidupkan.
Ini adalah kemungkinan setelan:
</para>
<itemizedlist>
<listitem>
<para>
<constant>PHP_HANDLING</constant> - boolean. Jika disetel &true;, setelan
<link linkend="variable.php.handling"><parameter>$php_handling</parameter></link>
tidak diperiksa untuk keamanan.
</para>
</listitem>
<listitem>
<para>
<constant>IF_FUNCS</constant> - array. Nama-nama fungsi PHP yang diijinkan dalam
pernyataan
<link linkend="language.function.if"><varname>{if}</varname></link>.
</para>
</listitem>
<listitem>
<para>
<constant>INCLUDE_ANY</constant> - boolean. Jika disetel &true;, setiap
template dapat <link linkend="language.function.include">disertakan</link>
dari sistem file, mengabaikan daftar
<link linkend="variable.secure.dir"><parameter>$secure_dir</parameter></link>.
</para>
</listitem>
<listitem>
<para>
<constant>PHP_TAGS</constant> - boolean. Jika disetel &true;, tag
<link linkend="language.function.php"><varname>{php}{/php}</varname></link>
diijinkan dalam template.
</para>
</listitem>
<listitem>
<para>
<constant>MODIFIER_FUNCS</constant> - array. Nama-nama fungsi PHP yang
diijinkan yang dapat dipakai sebagai pengubah variabel.
</para>
</listitem>
<listitem>
<para>
<constant>ALLOW_CONSTANTS</constant> - boolean. Jika disetel &true;, konstan
melalui
<link linkend="language.variables.smarty.const"><parameter>{$smarty.const.FOO}</parameter></link>
dibolehkan dalam template.
</para>
</listitem>
</itemizedlist>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-security.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-security.xml
+++ smarty/docs/id/programmers/api-variables/variable-security.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.security">
<title>$security</title>
<para>
<parameter>$security</parameter> 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
<link linkend="variable.security.settings">
<parameter>$security_settings</parameter></link>:
</para>
<itemizedlist>
<listitem>
<para>Jika <link linkend="variable.php.handling"><parameter>$php_handling</parameter></link>
disetel ke <constant>SMARTY_PHP_ALLOW</constant>, ini secara implisit mengubah
<constant>SMARTY_PHP_PASSTHRU</constant>
</para></listitem>
<listitem>
<para>
Fungsi PHP tidak dibolehkan dalam pernyataan <link
linkend="language.function.if"><varname>{if}</varname></link>,
kecuali yang ditetapkan dalam
<link linkend="variable.security.settings"><parameter>$security_settings</parameter></link>
</para></listitem>
<listitem><para>
Template hanya bisa disertakan dari direktori yang didaftarkan dalam array
<link linkend="variable.secure.dir"><parameter>$secure_dir</parameter></link>
</para></listitem>
<listitem><para>
File lokal hanya dapat diambil dari direktori yang didaftarkan dalam
<link linkend="variable.secure.dir"><parameter>$secure_dir</parameter></link>
array menggunakan <link linkend="language.function.fetch"><varname>{fetch}</varname></link>
</para></listitem>
<listitem><para>
Tag <link linkend="language.function.php"><varname>{php}{/php}</varname></link>
tidak dibolehkan
</para></listitem>
<listitem><para>
Fungsi PHP tidak dibolehkan sebagai pengubah, kecuali itu ditetapkan dalam
<link linkend="variable.security.settings"><parameter>$security_settings</parameter></link>
</para></listitem>
</itemizedlist>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-template-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-template-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-template-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.template.dir">
<title>$template_dir</title>
<para>
Ini adalah nama standar direktori template. Jika anda tidak menyertakan
tipe sumber daya ketika menyertakan file, akan ditemukan di sini.
Standarnya ini adalah
<filename class="directory">./templates</filename>,
yang berarti bahwa Smarty akan mencari direktori
<filename class="directory">templates/</filename> dalam direktori yang
sama dengan naskah php yang dieksekusi.
</para>
<note>
<title>Catatan Teknis</title>
<para>
Tidak direkomendasikan untuk menyimpan direktori ini di bawah akar
dokumen server web.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-trusted-dir.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-trusted-dir.xml
+++ smarty/docs/id/programmers/api-variables/variable-trusted-dir.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.trusted.dir">
<title>$trusted_dir</title>
<para>
<parameter>$trusted_dir</parameter> hanya dipakai ketika
<link linkend="variable.security"><parameter>$security</parameter></link> 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 <link linkend="language.function.include.php"><varname>{include_php}</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/api-variables/variable-use-sub-dirs.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/api-variables/variable-use-sub-dirs.xml
+++ smarty/docs/id/programmers/api-variables/variable-use-sub-dirs.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="variable.use.sub.dirs">
<title>$use_sub_dirs</title>
<para>
Smarty akan membuat subdirektori di bawah
<link linkend="variable.compile.dir">template terkompilasi</link> dan direktori
<link linkend="variable.cache.dir">cache</link>
jika <parameter>$use_sub_dirs</parameter> 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.
</para>
<para>
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.
</para>
<note>
<title>Catatan Teknis</title>
<itemizedlist>
<listitem>
<para><literal>$use_sub_dirs=true</literal> tidak bekerja dengan
<ulink url="&url.php-manual;features.safe-mode">safe_mode=On</ulink>,
itulah mengapa dapat diputar dan mengapa standarnya dimatikan.
</para>
</listitem>
<listitem>
<para><literal>$use_sub_dirs=true</literal> pada Windows bisa menimbulkan masalah.</para>
</listitem>
<listitem>
<para>Safe_mode akan menjadi usang dalam PHP6.</para>
</listitem>
</itemizedlist>
</note>
<para>
Lihat juga
<link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>,
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>,
dan
<link linkend="variable.compile.dir"><parameter>$compile_dir</parameter></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/caching/caching-cacheable.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/caching/caching-cacheable.xml
+++ smarty/docs/id/programmers/caching/caching-cacheable.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="caching.cacheable">
<title>Mengontrol Plugins ynd Bisa Di-cache' Output</title>
<para>
Sejak plugin Smarty-2.6.0, plugins yang bisa di-cache dapat dideklarasikan
saat meregistrasinya. Parameter ketiga pada
<link linkend="api.register.block"><varname>register_block()</varname></link>,
<link linkend="api.register.compiler.function">
<varname>register_compiler_function()</varname></link> dan <link
linkend="api.register.function"><varname>register_function()</varname></link>
disebut <parameter>$cacheable</parameter> dan standarnya &true; yang juga
merupakan tabiat plugins dalam Smarty versi sebelum 2.6.0
</para>
<para>
Ketika meregistrasi sebuah plugin dengan <literal>$cacheable=false</literal>, plugin
dipanggil setiap kali halaman ditampilkan, meskipun halaman berasal dari cache.
Fungsi plugin berlaku sedikit mirip fungsi
<link linkend="plugins.inserts"><varname>{insert}</varname></link>.
</para>
<para>
Sebaliknya dari <link linkend="plugins.inserts"><varname>{insert}</varname>
</link>
atribut plugins standarnya tidak di-cache. Bisa dideklarasikan untuk di-cache
dengan parameter keempat
<parameter>$cache_attrs</parameter>. <parameter>$cache_attrs</parameter>
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.
</para>
<example>
<title>Menghindari output plugin di-cache</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->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');
?>
]]>
</programlisting>
<para>
di mana <filename>index.tpl</filename> adalah:
</para>
<programlisting>
<![CDATA[
Time Remaining: {remaining endtime=$obj->endtime}
]]>
</programlisting>
<para>
Jumlah detik sampai endtime <literal>$obj</literal> 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.
</para>
</example>
<example>
<title>Menghindari seluruh bagian template di-cache</title>
<programlisting role="php">
<![CDATA[
index.php:
<?php
$smarty->caching = 1;
function smarty_block_dynamic($param, $content, &$smarty) {
return $content;
}
$smarty->register_block('dynamic', 'smarty_block_dynamic', false);
$smarty->display('index.tpl');
?>
]]>
</programlisting>
<para>
where <filename>index.tpl</filename> is:
</para>
<programlisting>
<![CDATA[
Page created: {'0'|date_format:'%D %H:%M:%S'}
{dynamic}
Now is: {'0'|date_format:'%D %H:%M:%S'}
... do other stuff ...
{/dynamic}
]]>
</programlisting>
</example>
<para>
Ketika mengambil ulang halaman, anda akan mencatat bahwa kedua tanggal
berbeda. Satu <quote>dynamis</quote> dan satu <quote>statis</quote>.
Anda dapat melakukan apapun antara <literal>{dynamic}...{/dynamic}</literal>
dan pastikan ia tidak akan di-cache seperti bagian halaman lainnya.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/caching/caching-groups.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/caching/caching-groups.xml
+++ smarty/docs/id/programmers/caching/caching-groups.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="caching.groups">
<title>Grup Cache</title>
<para>
Anda dapat melakukan pengelompokan elaborasi dengan menyiapkan grup
<parameter>$cache_id</parameter>. Ini dilakukan dengan memisahkan
setiap sub-grup dengan bar vertikal
<literal>|</literal> dalam nilai <parameter>$cache_id</parameter>.
Anda bisas memiliki sebanyak-banyaknya sub-grup yang anda inginkan.
</para>
<itemizedlist>
<listitem><para>
Anda bisa membayangkan grup cache seperti hirarki direktori. Sebagai
contoh, grup cache <literal>'a|b|c'</literal> bisa dibayangkan sebagai
struktur direktori <literal>'/a/b/c/'</literal>.
</para></listitem>
<listitem><para>
<literal>clear_cache(null,'a|b|c')</literal>
akan seperti menghapus file
<literal>'/a/b/c/*'</literal>. <literal>clear_cache(null,'a|b')</literal>
akan seperti menghapus file <literal>'/a/b/*'</literal>.
</para></listitem>
<listitem><para>
Jika anda menetapkan
<link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
seperti <literal>clear_cache(null,'a|b','foo')</literal> ini diperlakukan
sebagai grup cache yang ditambahkan <literal>'/a/b/c/foo/'</literal>.
</para></listitem>
<listitem><para>
Jika anda menetapkan nama template seperti
<literal>clear_cache('foo.tpl','a|b|c')</literal> maka Smarty akan
mencoba untuk menghapus <literal>'/a/b/c/foo.tpl'</literal>.
</para></listitem>
<listitem><para>
Anda TIDAK BISA menghapus nama template yang ditetapkan di bawah
multipel grup cache seperti <literal>'/a/b/*/foo.tpl'</literal>,
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.
</para></listitem>
</itemizedlist>
<para>
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 <filename>themes/blue/index.tpl</filename> dan anda
ingin bisa membersihkan seluruh file cache untuk tema <quote>blue</quote>,
anda perlu membuat struktur grup cache yang meniru struktur file
template, seperti
<literal>display('themes/blue/index.tpl','themes|blue')</literal>, lalu
membersihkannya dengan
<literal>clear_cache(null,'themes|blue')</literal>.
</para>
<example>
<title>$cache_id groups</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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');
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/caching/caching-multiple-caches.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/caching/caching-multiple-caches.xml
+++ smarty/docs/id/programmers/caching/caching-multiple-caches.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="caching.multiple.caches">
<title>Multipel Caches Per Halaman</title>
<para>
Anda dapat memiliki multipel file cache untuk satu panggilan ke
<link linkend="api.display"><varname>display()</varname></link>
atau <link linkend="api.fetch"><varname>fetch()</varname></link>.
Katakanlah sebuah panggilan ke <literal>display('index.tpl')</literal>
memiliki beberapa konten output berbeda tergantung dari beberapa
kondisi, dan anda ingin memisahkan cache masing-masing. Anda bisa
melakukan ini dengan mengirimkan <parameter>$cache_id</parameter>
sebagai parameter kedua ke fungsi panggil.
</para>
<example>
<title>Mengirimkan $cache_id untuk display()</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
$my_cache_id = $_GET['article_id'];
$smarty->display('index.tpl', $my_cache_id);
?>
]]>
</programlisting>
</example>
<para>
Di atas, kita mengirimkan variabel <literal>$my_cache_id</literal> ke
<link linkend="api.display"><varname>display()</varname></link>
sebagai <parameter>$cache_id</parameter>. Untuk setiap nilai unik dari
<literal>$my_cache_id</literal>, cache terpisah akan dibuat untuk
<filename>index.tpl</filename>. Dalam contoh ini,
<literal>article_id</literal> dikirimpan dalam URL dan digunakan
sebagai <parameter>$cache_id</parameter>.
</para>
<note>
<title>Catatan Teknis</title>
<para>
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. <parameter>$cache_id</parameter> 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!
</para>
</note>
<para>
Pastikan untuk mengirimkan <parameter>$cache_id</parameter> yang sama
sebagai parameter kedua ke
<link linkend="api.is.cached"><varname>is_cached()</varname></link> dan
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Mengirimkan cache_id ke is_cached()</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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);
?>
]]>
</programlisting>
</example>
<para>
Anda bisa membersihkan semua cache untul <parameter>$cache_id</parameter>
tertentu dengan mengirimkan &null; sebagai parameter kedua ke
<link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Membersihkan semua cache untuk $cache_id tertentu</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
// bersihkan semua cache dengan "sports" sebagai $cache_id
$smarty->clear_cache(null,'sports');
$smarty->display('index.tpl','sports');
?>
]]>
</programlisting>
</example>
<para>
Dengan cara ini, anda bisa <quote>mengelompokan</quote> cache anda bersama
dengan memberikannya <parameter>$cache_id</parameter> yang sama.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/caching/caching-setting-up.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/caching/caching-setting-up.xml
+++ smarty/docs/id/programmers/caching/caching-setting-up.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="caching.setting.up">
<title>Menyiapkan Cache</title>
<para>
Hal pertama yang dilakukan adalah menghidupkan cache dengan menyetel <link
linkend="variable.caching">
<parameter>$caching</parameter></link><literal> = 1 (atau 2)</literal>.
</para>
<example>
<title>Menghidupkan cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>
Dengan menghidupkan cache, fungsi panggil ke
<literal>display('index.tpl')</literal> akan membuat template seperti
biasa, tapi juga menyimpan duplikat dari outputnya ke sebuah file
(duplikat cache) dalam
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>.
Panggilan berikutnya ke <literal>display('index.tpl')</literal>, duplikat cache
akan dipakai daripada membuat template kembali.
</para>
<note>
<title>Catatan Teknis</title>
<para>
File dalam
<link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>
diberi nama mirip dengan nama template.
Meskipun berakhir dalam ekstensi <filename>.php</filename>, ini tidak
dimaksudkan dijalankan secara langsung. Jangan edit file ini!
</para>
</note>
<para>
Setiap halaman yang di-cache memiliki batasan usia yang ditentukan oleh
<link linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>.
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
<link linkend="variable.caching"><parameter>$caching</parameter></link><literal>=2</literal>.
Lihat <link
linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>
untuk lebih jelasnya.
</para>
<example>
<title>Menyetel $cache_lifetime per cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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');
?>
]]>
</programlisting>
</example>
<para>
Jika <link linkend="variable.compile.check">
<parameter>$compile_check</parameter></link> 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
<link linkend="variable.compile.check"><parameter>$compile_check</parameter>
</link> ke &false;.
</para>
<example>
<title>Menghidupkan $compile_check</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
$smarty->compile_check = true;
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>
Jika <link linkend="variable.force.compile">
<parameter>$force_compile</parameter></link> dihidupkan,
file cache akan selalu dibuat. Ini efektif mematikan cache.
<link linkend="variable.force.compile"><parameter>$force_compile</parameter>
</link> biasanya hanya untuk keperluan
<link linkend="chapter.debugging.console">debugging</link>,
cara yang lebih efisien mematikan cache adalah menyetel <link
linkend="variable.caching"><parameter>$caching</parameter>
</link><literal> = 0</literal>.
</para>
<para>
Fungsi <link linkend="api.is.cached"><varname>is_cached()</varname></link>
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.
</para>
<example>
<title>Menggunakan is_cached()</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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');
?>
]]>
</programlisting>
</example>
<para>
Anda dapat memelihara bagian halaman dinamis dengan fungsi template <link
linkend="language.function.insert"><varname>{insert}</varname></link>.
Katakanlah seluruh halaman dapat di-cache kecuali untuk iklan yang
ditampilkan di bawah halaman. Dengan menggunakan fungsi
<link linkend="language.function.insert"><varname>{insert}</varname></link>
untuk iklan, anda bisa memelihara elemen ini dinamis dalam konten yang
di-cache. Lihat dokumentasi pada
<link linkend="language.function.insert"><varname>{insert}</varname></link>
untuk lebih jelas dan contohnya.
</para>
<para>
Anda bisa membersihkan semua file cache dengan fungsi<link
linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>,
atau file cache individual
<link linkend="caching.groups">dan grup</link> dengan fungsi <link
linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Membersihkan cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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');
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-block-functions.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-block-functions.xml
+++ smarty/docs/id/programmers/plugins/plugins-block-functions.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.block.functions"><title>Fungsi Blok</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>smarty_block_<replaceable>name</replaceable></function></funcdef>
<paramdef>array <parameter>$params</parameter></paramdef>
<paramdef>mixed <parameter>$content</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
<paramdef>boolean <parameter>&$repeat</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Fungsi blok adalah fungsi dari bentuk:
<literal>{func} .. {/func}</literal>. Dengan kata lain, ia ditutupi
blok template dan beroperasi pada isi dari blok ini. Fungsi blok
mendahului
<link linkend="language.custom.functions">fungsi kustom</link> pada
nama yang sama, yaitu anda tidak bisa mempunyai kedua fungsi kustom
<literal>{func}</literal> dan fungsi blok
<literal>{func}..{/func}</literal>.
</para>
<itemizedlist>
<listitem><para>
Standarnya implementasi fungsi anda dipanggil dua kali oleh
Smarty: sekali untuk membuka tag, dan sekali untuk meneutup tag.
(Lihat <literal>$repeat</literal> di bawah untuk bagaimana mengubah ini.)
</para></listitem>
<listitem><para>
Hanya tag terbuka terhadap fungsi blok boleh memiliki
<link linkend="language.syntax.attributes">atribut</link>. Semua
atribut dikirimkan ke fungsi template dari template diisikan dalam
variabel <parameter>$params</parameter> sebagai array asosiatif.
Atribut tag terbuka juga dapat diakses oleh fungsi anda saat memproses
tag penutup.
</para></listitem>
<listitem><para>
Nilai variabel <parameter>$content</parameter> 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.
</para></listitem>
<listitem><para>
Parameter <parameter>$repeat</parameter> dikirimkan dengan
referensi ke implementasi fungsi dan menyediakan sebuah kemungkinan
untuk mengontrol berapa kali blok ditampilkan. Standarnya
<parameter>$repeat</parameter> 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
<parameter>$repeat</parameter> menjadi &true;, isi antara
<literal>{func}...{/func}</literal> dievaluasi dan implementasi fungsi
dipanggil lagi dengan isi blok baru dalam parameter
<parameter>$content</parameter>.
</para></listitem>
</itemizedlist>
<para>
Jika anda mempunyai fungsi blok berulang, dimungkinkan untuk mencari fungsi
blok leluhur apa dengan mengakses variabel
<literal>$smarty->_tag_stack</literal>. Cukup lakukan
<ulink url="&url.php-manual;var_dump"><varname>var_dump()</varname></ulink>
padanya dan struktur menjadi terlihat.
</para>
<example>
<title>fungsi blok</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: block.translate.php
* Type: block
* Name: translate
* Purpose: translate a block of text
* -------------------------------------------------------------
*/
function smarty_block_translate($params, $content, &$smarty, &$repeat)
{
// hanya output pada tag penutup
if(!$repeat){
if (isset($content)) {
$lang = $params['lang'];
// lakukan beberapa terjemahan puntar di sini dengan $content
return $translation;
}
}
}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga:
<link linkend="api.register.block"><varname>register_block()</varname></link>,
<link linkend="api.unregister.block"><varname>unregister_block()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-compiler-functions.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-compiler-functions.xml
+++ smarty/docs/id/programmers/plugins/plugins-compiler-functions.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.compiler.functions"><title>Fungsi Kompilator</title>
<para>
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
<link linkend="language.custom.functions">fungsi kustom</link> terdaftar
dengan nama sama, fungsi kompilator yang lebih tinggi.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>mixed <function>smarty_compiler_<replaceable>name</replaceable></function></funcdef>
<paramdef>string <parameter>$tag_arg</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
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.
</para>
<example>
<title>Fungsi kompilator sederhana</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: compiler.tplheader.php
* Tipe: kompilator
* Nama: tplheader
* Kegunaan: Output header berisi nama file sumber dan waktu
* dikompilasinya.
* -------------------------------------------------------------
*/
function smarty_compiler_tplheader($tag_arg, &$smarty)
{
return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';";
}
?>
]]>
</programlisting>
<para>
Fungsi ini dipanggil dari template sebagai:
</para>
<programlisting>
<![CDATA[
{* fungsi ini dijalankan hanya saat waktu kompilasi *}
{tplheader}
]]>
</programlisting>
<para>
Kode PHP yang dihasilkan dalam template terkompilasi akan menjadi seperti ini:
</para>
<programlisting role="php">
<![CDATA[
<?php
echo 'index.tpl compiled at 2002-02-20 20:02';
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.compiler.function">
<varname>register_compiler_function()</varname></link>,
<link linkend="api.unregister.compiler.function">
<varname>unregister_compiler_function()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-functions.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-functions.xml
+++ smarty/docs/id/programmers/plugins/plugins-functions.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.functions"><title>Fungsi Template</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>smarty_function_<replaceable>name</replaceable></function></funcdef>
<paramdef>array <parameter>$params</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Semua <link linkend="language.syntax.attributes">atribut</link> yang
dikirimkan ke fungsi template dari template yang berisi
<parameter>$params</parameter> sebagai array asosiatif.
</para>
<para>
Output (nilai hasil) atas fungsi akan diganti di tempat tag fungsi dalam
template, misalnya fungsi
<link linkend="language.f unction.fetch"><varname>{fetch}</varname></link>.
Alternatif lain, fungsi bisa hanya melakukan beberapa tugas tanpa output
apapun, misalnya fugnsi <link linkend="language.function.assign">
<varname>{assign}</varname></link>.
</para>
<para>
Jika fungsi perlu menempatkan beberapa variabel ke template atau gunakan
beberapa fungsionalitas lain yang disediakan-Smarty, ini dapat menggunakan
obyek <parameter>$smarty</parameter> yang disertakan untuk melakukannya
misaslnya <literal>$smarty->foo()</literal>.
</para>
<para>
<example>
<title>plugin fungsi dengan output</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: function.eightball.php
* Tipe: fungsi
* Nama: eightball
* Kegunaan: menampilkan jawaban acak magis
* -------------------------------------------------------------
*/
function smarty_function_eightball($params, &$smarty)
{
$answers = array('Yes',
'No',
'No way',
'Outlook not so good',
'Ask again soon',
'Maybe in your reality');
$result = array_rand($answers);
return $answers[$result];
}
?>
]]>
</programlisting>
</example>
</para>
<para>
yang dapat digunakan dalam template sebagai:
</para>
<programlisting>
Question: Will we ever have time travel?
Answer: {eightball}.
</programlisting>
<para>
<example>
<title>plugin fungsi tanpa output</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: function.assign.php
* Tipe: fungsi
* Nama: assign
* Kegunaan: menempatkan nilai ke varabel template
* -------------------------------------------------------------
*/
function smarty_function_assign($params, &$smarty)
{
if (empty($params['var'])) {
$smarty->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']);
}
?>
]]>
</programlisting>
</example>
</para>
<para>
Lihat juga:
<link linkend="api.register.function"><varname>register_function()</varname></link>,
<link linkend="api.unregister.function"><varname>unregister_function()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-howto.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-howto.xml
+++ smarty/docs/id/programmers/plugins/plugins-howto.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.howto">
<title>Bagaimana Plugin Bekerja</title>
<para>
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.
</para>
<para>
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.
</para>
<para>
<link linkend="variable.plugins.dir">Direktori plugin</link>
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.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-inserts.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-inserts.xml
+++ smarty/docs/id/programmers/plugins/plugins-inserts.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.inserts"><title>Inserts</title>
<para>
Plugin insert dipakai untuk mengimplementasikan fungsi yang diminta oleh
tag <link linkend="language.function.insert"><varname>{insert}</varname></link>
dalam template.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>smarty_insert_<replaceable>name</replaceable></function></funcdef>
<paramdef>array <parameter>$params</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Parameter pertama ke fungsi adalah array asosiatif dari atribut yang
dikirimkan ke insert.
</para>
<para>
Fungsi insert seharusnya mengembalikan hasil yang akan di tempatkan pada
tag <varname>{insert}</varname> dalam template.
</para>
<example>
<title>plugin insert</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: insert.time.php
* Tipe: time
* Nama: time
* Kegunaan: Menyisipkan tanggak/jam saat ini berdasarkan format
* -------------------------------------------------------------
*/
function smarty_insert_time($params, &$smarty)
{
if (empty($params['format'])) {
$smarty->trigger_error("insert time: missing 'format' parameter");
return;
}
return strftime($params['format']);
}
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-modifiers.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-modifiers.xml
+++ smarty/docs/id/programmers/plugins/plugins-modifiers.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.modifiers"><title>Pengubah</title>
<para>
<link linkend="language.modifiers">Pengubah</link> adalah fungsi kecil
yang diterapkan ke variabel dalam template sebelum ia ditampilkan atau
digunakan dalam beberapa konteks lain. Pengubah dapat dirangkai bersama.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>mixed <function>smarty_modifier_<replaceable>name</replaceable></function></funcdef>
<paramdef>mixed <parameter>$value</parameter></paramdef>
<paramdef>[mixed <parameter>$param1</parameter>, ...]</paramdef>
</funcprototype>
</funcsynopsis>
<para>
Parameter pertama pada plugin pengubah adalah nilai di mana pengubah
beroperasi. Parameter sisanya adalah opsional, tergantung pada
jenis operasi apa yang dilakukan.
</para>
<para>
Pengubah harus <ulink url="&url.php-manual;return">mengembalikan</ulink>
hasil dari prosesnya.
</para>
<example>
<title>Plugin pengubah sederhana</title>
<para>
Plugin ini pada dasarnya alias dari salah satu fungsi built-in PHP.
Ini tidak mempunyai parameter tambahan.
</para>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: modifier.capitalize.php
* Tipe: pengubah
* Nama: capitalize
* Kegunaan: membesarkan kata dalam string
* -------------------------------------------------------------
*/
function smarty_modifier_capitalize($string)
{
return ucwords($string);
}
?>
]]>
</programlisting>
</example>
<para></para>
<example>
<title>Plugin pengubah lebih kompleks</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: modifier.truncate.php
* Tipe: pengubah
* Nama: truncate
* Kegunaan: Potong string ke panjang tertentu bila perlu,
* secara opsional memisahkan di tengah kata, dan
* menambahkan string $etc.
* -------------------------------------------------------------
*/
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
$break_words = false)
{
if ($length == 0)
return '';
if (strlen($string) > $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;
}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.modifier"><varname>register_modifier()</varname></link>,
<link linkend="api.unregister.modifier"><varname>unregister_modifier()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-naming-conventions.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-naming-conventions.xml
+++ smarty/docs/id/programmers/plugins/plugins-naming-conventions.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.naming.conventions">
<title>Konvensi Penamaan</title>
<para>
File plugin dan fungsi harus mengikuti konvensi penamaan khusus agar
dapat ditempatkan oleh Smarty.
</para>
<para>
<emphasis role="bold">file plugin</emphasis> harus dinamai sebagai berikut:
<blockquote>
<para>
<filename>
<replaceable>type</replaceable>.<replaceable>name</replaceable>.php
</filename>
</para>
</blockquote>
</para>
<itemizedlist>
<listitem><para>
Di mana <literal>type</literal> salah satu tipe plugin ini:
<itemizedlist spacing="compact">
<listitem><simpara>function</simpara></listitem>
<listitem><simpara>modifier</simpara></listitem>
<listitem><simpara>block</simpara></listitem>
<listitem><simpara>compiler</simpara></listitem>
<listitem><simpara>prefilter</simpara></listitem>
<listitem><simpara>postfilter</simpara></listitem>
<listitem><simpara>outputfilter</simpara></listitem>
<listitem><simpara>resource</simpara></listitem>
<listitem><simpara>insert</simpara></listitem>
</itemizedlist>
</para>
</listitem>
<listitem><para>
Dan <literal>name</literal> harus pengenal yang benar; huruf,
angka, dan hanya garis bawah, lihat
<ulink url="&url.php-manual;language.variables">variabel php</ulink>.
</para></listitem>
<listitem><para>
Beberapa contoh: <filename>function.html_select_date.php</filename>,
<filename>resource.db.php</filename>,
<filename>modifier.spacify.php</filename>.
</para>
</listitem>
</itemizedlist>
<para>
<emphasis role="bold">fungsi plugin</emphasis> di dalam file PHP harus dinamai sebagai berikut:
<blockquote>
<para>
<function>smarty_<replaceable>type</replaceable>_<replaceable>name</replaceable></function>
</para>
</blockquote>
</para>
<itemizedlist>
<listitem><para>
Arti dari <literal>type</literal> dan <literal>name</literal> sama seperti di atas.
</para></listitem>
<listitem><para>
Contoh nama pengubah <varname>foo</varname> akan menjadi <literal>function smarty_modifier_foo()</literal>.
</para></listitem>
</itemizedlist>
<para>
Smarty akan menampilkan pesan kesalahan terkait jika file plugin yang
dibutuhkan tidak ditemukan, atau jika file atau fungsi plugin dinamai
secara tidak benar.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-outputfilters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-outputfilters.xml
+++ smarty/docs/id/programmers/plugins/plugins-outputfilters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.outputfilters"><title>Filter Output</title>
<para>
Plugin filter output beroperasi pada output template, setelah template
diambil dan dijalankan, tapi sebelum output ditampilkan.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>smarty_outputfilter_<replaceable>name</replaceable></function></funcdef>
<paramdef>string <parameter>$template_output</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
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.
</para>
<example>
<title>Plugin filter output</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: outputfilter.protect_email.php
* Tipe: outputfilter
* Nama: protect_email
* Kegunaan: Mengubah tanda @ dalam alamat email menjadi %40
* sebagai proteksi sedarhana terhadap spambots
* -------------------------------------------------------------
*/
function smarty_outputfilter_protect_email($output, &$smarty)
{
return preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
'$1%40$2', $output);
}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.outputfilter">
<varname>register_outputfilter()</varname></link>,
<link linkend="api.unregister.outputfilter">
<varname>unregister_outputfilter()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml
+++ smarty/docs/id/programmers/plugins/plugins-prefilters-postfilters.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.prefilters.postfilters">
<title>Prefilters/Postfilters</title>
<para>
Plugin prefilter dan postfilter sangat mirip dalam konsep; di mana
keduanya berbeda dalam eksekusi -- lebih tepatnya waktu eksekusinya.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>smarty_prefilter_<replaceable>name</replaceable></function></funcdef>
<paramdef>string <parameter>$source</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
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.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>smarty_postfilter_<replaceable>name</replaceable></function></funcdef>
<paramdef>string <parameter>$compiled</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
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.
</para>
<example>
<title>plugin prefilter</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: prefilter.pre01.php
* Tipe: prefilter
* Nama: pre01
* Kegunaan: Mengubah tag html ke huruf kecil.
* -------------------------------------------------------------
*/
function smarty_prefilter_pre01($source, &$smarty)
{
return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
}
?>
]]>
</programlisting>
</example>
<para></para>
<example>
<title>plugin postfilter</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: postfilter.post01.php
* Tipe: postfilter
* Nama: post01
* Kegunaan: Kode output yang mendaftarkan semua var template saat
* ini.
* -------------------------------------------------------------
*/
function smarty_postfilter_post01($compiled, &$smarty)
{
$compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
return $compiled;
}
?>
]]>
</programlisting>
</example>
<para>
Lihat juga
<link linkend="api.register.prefilter">
<varname>register_prefilter()</varname></link>,
<link linkend="api.unregister.prefilter">
<varname>unregister_prefilter()</varname></link>
<link linkend="api.register.postfilter">
<varname>register_postfilter()</varname></link>,
<link linkend="api.unregister.postfilter">
<varname>unregister_postfilter()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-resources.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-resources.xml
+++ smarty/docs/id/programmers/plugins/plugins-resources.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.resources"><title>Sumber daya</title>
<para>
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.
</para>
<para>
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.
</para>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_source</function></funcdef>
<paramdef>string <parameter>$rsrc_name</parameter></paramdef>
<paramdef>string <parameter>&$source</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_timestamp</function></funcdef>
<paramdef>string <parameter>$rsrc_name</parameter></paramdef>
<paramdef>int <parameter>&$timestamp</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_secure</function></funcdef>
<paramdef>string <parameter>$rsrc_name</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_trusted</function></funcdef>
<paramdef>string <parameter>$rsrc_name</parameter></paramdef>
<paramdef>object <parameter>&$smarty</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<itemizedlist>
<listitem><para>
Fungsi pertama, <literal>source()</literal> is supposed to retrieve
the resource. Its second parameter <parameter>$source</parameter> 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.
</para></listitem>
<listitem><para>
Fungsi kedua, <literal>timestamp()</literal> is supposed to
retrieve the last modification time of the requested resource, as a UNIX
timestamp. The second parameter <parameter>$timestamp</parameter>
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.
</para></listitem>
<listitem><para>
Fungsi ketiga, <literal>secure()</literal>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.
</para></listitem>
<listitem><para>
Fungsi keempat, <literal>trusted()</literal> 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 <link linkend="language.function.include.php">
<varname>{include_php}</varname></link> atau tag
<link linkend="language.function.insert"><varname>{insert}</varname></link>
dengan atribut <parameter>src</parameter>. Akan tetapi, ini masih harus
didefinisikan meskipun untuk sumber daya template.
</para></listitem>
</itemizedlist>
<example>
<title>plugin sumber daya</title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: resource.db.php
* Tipe: sumber daya
* Nama: db
* Kegunaan: Mengambil template dari database
* -------------------------------------------------------------
*/
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
{
// lakukan pemanggilan database di sini untuk mengambil template anda,
// mempopulasikan $tpl_source
$sql = new SQL;
$sql->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
}
?>
]]>
</programlisting>
</example>
<para>
LIhat juga
<link linkend="api.register.resource"><varname>register_resource()</varname></link>,
<link linkend="api.unregister.resource"><varname>unregister_resource()</varname></link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/programmers/plugins/plugins-writing.xml?view=markup&rev=1.1
Index: smarty/docs/id/programmers/plugins/plugins-writing.xml
+++ smarty/docs/id/programmers/plugins/plugins-writing.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="plugins.writing">
<title>Menulis Plugin</title>
<para>
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_*.
</para>
<para>
Untuk plugin yang terdaftar saat runtime, nama fungsi plugin tidak
harus mengikuti konvensi penamaan.
</para>
<para>
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:
</para>
<programlisting role="php">
<![CDATA[
<?php
require_once $smarty->_get_plugin_filepath('function', 'html_options');
?>
]]>
</programlisting>
<para>
Sebagai aturan umum, obyek Smarty selalu dikirimkan ke plugin sebagai
parameter terakhir dengan dua kekecualian:
</para>
<itemizedlist>
<listitem><para>
pengubah tidak mendapatkan obyek Smarty sama sekali
</para></listitem>
<listitem><para>
blok mendapatkan kirim
<parameter>$repeat</parameter> setelah obyek Smarty untuk memelihara
kompatibilitas mundur dengan versi Smarty sebelumnya.
</para></listitem>
</itemizedlist>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
--adezm1190137548--