What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Attribut Name | Typ | Erforderlich | Standardwert | Beschreibung |
---|---|---|---|---|
name | string | Nein | checkbox | Name der checkbox Liste |
values | array | ja, ausser wenn das option Attribut verwendet wird | n/a | ein Array mit Werten für die checkboxes |
output | array | ja, ausser wenn das option Attribut verwendet wird | n/a | ein Array mit Werten für checkbox Knöpfe |
selected | string/array | No | empty | das/die ausgewählten checkbox Elemente |
options | assoziatives array | Ja, ausser values/output wird verwendet | n/a | ein assoziatives Array mit Werten und Ausgaben |
separator | string | No | empty | Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll |
labels | boolean | No | true | fügt der Ausgabe <label>-Tags hinzu |
html_checkboxes ist eine Funktion die aus den übergebenen Daten html checkbox Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind. Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben.
Example 8.7. {html_checkboxes}
<?php require('Smarty.class.php'); $smarty = new Smarty; $smarty->assign('cust_ids', array(1000,1001,1002,1003)); $smarty->assign('cust_names', array('Joe Schmoe', 'Jack Smith', 'Jane Johnson', 'Charlie Brown')); $smarty->assign('customer_id', 1001); ?>
Wobei index.tpl wie folgt aussieht:
{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
Oder mit folgendem PHP-Code:
<?php require('Smarty.class.php'); $smarty = new Smarty; $smarty->assign('cust_checkboxes', array( 1000 => 'Joe Schmoe', 1001 => 'Jack Smith', 1002 => 'Jane Johnson', 1003 => 'Charlie Brown')); $smarty->assign('customer_id', 1001); $smarty->display('index.tpl'); ?>
Wobei index.tpl wie folgt aussieht:
{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"}
Das Ergebnis beider Listings:
<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br /> <label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br /> <label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br /> <label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />