Размер файла: 11.83Kb
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Chapter 4. Переменные</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
- <link rel="home" href="index.html" title="Руководство по Smarty">
- <link rel="up" href="smarty.for.designers.html" title="Part II. Smarty для дизайнеров шаблонов">
- <link rel="prev" href="language.escaping.html" title="Предотвращение обработки Smarty">
- <link rel="next" href="language.config.variables.html" title="Переменные файлов конфигурации">
- </head>
- <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
- <div class="navheader">
- <table width="100%" summary="Navigation header">
- <tr><th colspan="3" align="center">Chapter 4. Переменные</th></tr>
- <tr>
- <td width="20%" align="left">
- <a accesskey="p" href="language.escaping.html">Prev</a> </td>
- <th width="60%" align="center">Part II. Smarty для дизайнеров шаблонов</th>
- <td width="20%" align="right"> <a accesskey="n" href="language.config.variables.html">Next</a>
- </td>
- </tr>
- </table>
- <hr>
- </div>
- <div class="chapter" title="Chapter 4. Переменные">
- <div class="titlepage"><div><div><h2 class="title">
- <a name="language.variables"></a>Chapter 4. Переменные</h2></div></div></div>
- <div class="toc">
- <p><b>Table of Contents</b></p>
- <dl>
- <dt><span class="sect1"><a href="language.variables.html#language.assigned.variables">Переменные, назначенные из PHP</a></span></dt>
- <dd><dl>
- <dt><span class="sect2"><a href="language.variables.html#language.variables.assoc.arrays">Ассоциативные массивы</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.html#language.variables.array.indexes">Индексы массивов</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.html#language.variables.objects">Объекты</a></span></dt>
- </dl></dd>
- <dt><span class="sect1"><a href="language.config.variables.html">Переменные файлов конфигурации</a></span></dt>
- <dt><span class="sect1"><a href="language.variables.smarty.html">Зарезервированная переменная {$smarty}</a></span></dt>
- <dd><dl>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.request">Переменные запроса</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.now">{$smarty.now}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.const">{$smarty.const}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.capture">{$smarty.capture}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.config">{$smarty.config}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.loops">{$smarty.section}, {$smarty.foreach}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.template">{$smarty.template}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.version">{$smarty.version}</a></span></dt>
- <dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.ldelim">{$smarty.ldelim}, {$smarty.rdelim}</a></span></dt>
- </dl></dd>
- </dl>
- </div>
- <p>
- Smarty имеет несколько различных типов переменных. Он зависит от
- символа, с которого начинается, или в какой заключена переменная.
- </p>
- <p>
- Переменные в Smarty могут быть отображены или использованы как
- <a class="link" href="language.syntax.functions.html" title="Функции">функции</a>,
- <a class="link" href="language.syntax.attributes.html" title="Параметры">аргументы</a>,
- <a class="link" href="language.modifiers.html" title="Chapter 5. Модификаторы переменных">модификаторы</a>,
- внутри выражений условных операторов и т.д. Для
- вывода значения переменной необходимо указать имя переменной
- между <a class="link" href="variable.left.delimiter.html" title="$left_delimiter">разделителями</a>.
-
- </p>
- <div class="example">
- <a name="id2649930"></a><p class="title"><b>Example 4.1. Пример использования переменных</b></p>
- <div class="example-contents"><pre class="programlisting">
- [
- {$Name}
-
- {$product.part_no} <b>{$product.description}</b>
-
- {$Contacts[row].Phone}
-
- <body bgcolor="{#bgcolor#}">
-
- </pre></div>
- </div>
- <p><br class="example-break">
- </p>
- <div class="note" title="Полезный совет" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Полезный совет</h3>
- <p>
- При помощи
- <a class="link" href="chapter.debugging.console.html" title="Chapter 10. Отладочная консоль">отладочной консоли</a>
- можно легко просмотреть значения переменных Smarty.
- </p>
- </div>
- <p>
- </p>
- <div class="sect1" title="Переменные, назначенные из PHP">
- <div class="titlepage"><div><div><h2 class="title" style="clear: both">
- <a name="language.assigned.variables"></a>Переменные, назначенные из PHP</h2></div></div></div>
- <p>
- К переменным, которые были
- <a class="link" href="api.assign.html" title="assign()">назначены</a> из PHP можно обратиться,
- указав перед их именем знак доллара (<code class="literal">$</code>).
- Переменные, назначенные внутри шаблона при помощи функции
- <a class="link" href="language.custom.functions.html#language.function.assign" title="{assign}">{assign}</a>
- работают таким же образом.
- </p>
- <div class="example">
- <a name="id2650012"></a><p class="title"><b>Example 4.2. Назначенные переменные</b></p>
- <div class="example-contents">
- <p>PHP-скрипт</p>
- <pre class="programlisting">
-
- <?php
-
- $smarty = new Smarty;
-
- $smarty->assign('firstname', 'Doug');
- $smarty->assign('lastname', 'Evans');
- $smarty->assign('meetingPlace', 'New York');
-
- $smarty->display('index.tpl');
-
- ?>
-
- </pre>
- <p>
- Содержимое index.tpl:
- </p>
- <pre class="programlisting">
-
- Hello {$firstname} {$lastname}, glad to see you can make it.
- <br />
- {* это не сработает, потому что переменные чувствительны к регистру *}
- This weeks meeting is in {$meetingplace}.
- {* а это - сработает *}
- This weeks meeting is in {$meetingPlace}.
-
- </pre>
- <p>
- Результат обработки:
- </p>
- <pre class="screen">
-
- Hello Doug Evans, glad to see you can make it.
- <br />
- This weeks meeting is in .
- This weeks meeting is in New York.
-
- </pre>
- </div>
- </div>
- <br class="example-break"><div class="sect2" title="Ассоциативные массивы">
- <div class="titlepage"><div><div><h3 class="title">
- <a name="language.variables.assoc.arrays"></a>Ассоциативные массивы</h3></div></div></div>
- <p>
- Вы можете также обращаться к ассоциативным массивам, которые
- назначены из PHP, указав ключ после символа '.' (точка).
- </p>
- <div class="example">
- <a name="id2650704"></a><p class="title"><b>Example 4.3. Обращение к ассоциативному массиву</b></p>
- <div class="example-contents">
- <pre class="programlisting">
-
- <?php
- $smarty->assign('Contacts',
- array('fax' => '555-222-9876',
- 'email' => 'zaphod@slartibartfast.example.com',
- 'phone' => array('home' => '555-444-3333',
- 'cell' => '555-111-1234')
- )
- );
- $smarty->display('index.tpl');
- ?>
-
- </pre>
- <p>
- Содержимое index.tpl:
- </p>
- <pre class="programlisting">
-
- {$Contacts.fax}<br />
- {$Contacts.email}<br />
- {* you can print arrays of arrays as well *}
- {$Contacts.phone.home}<br />
- {$Contacts.phone.cell}<br />
-
- </pre>
- <p>
- Результат обработки:
- </p>
- <pre class="screen">
-
- 555-222-9876<br />
- zaphod@slartibartfast.example.com<br />
- 555-444-3333<br />
- 555-111-1234<br />
-
- </pre>
- </div>
- </div>
- <br class="example-break">
- </div>
- <div class="sect2" title="Индексы массивов">
- <div class="titlepage"><div><div><h3 class="title">
- <a name="language.variables.array.indexes"></a>Индексы массивов</h3></div></div></div>
- <p>
- Вы можете обращаться к массивам по их индексам примерно так же,
- как и в самом PHP.
- </p>
- <div class="example">
- <a name="id2650777"></a><p class="title"><b>Example 4.4. Обращение к массиву по индексу</b></p>
- <div class="example-contents">
- <pre class="programlisting">
-
- <?php
- $smarty->assign('Contacts', array(
- '555-222-9876',
- 'zaphod@slartibartfast.example.com',
- array('555-444-3333',
- '555-111-1234')
- ));
- $smarty->display('index.tpl');
- ?>
-
- </pre>
- <p>
- Содержимое index.tpl:
- </p>
- <pre class="programlisting">
-
- {$Contacts[0]}<br />
- {$Contacts[1]}<br />
- {* you can print arrays of arrays as well *}
- {$Contacts[2][0]}<br />
- {$Contacts[2][1]}<br />
-
- </pre>
- <p>
- Результат обработки:
- </p>
- <pre class="screen">
-
- 555-222-9876<br />
- zaphod@slartibartfast.example.com<br />
- 555-444-3333<br />
- 555-111-1234<br />
-
- </pre>
- </div>
- </div>
- <br class="example-break">
- </div>
- <div class="sect2" title="Объекты">
- <div class="titlepage"><div><div><h3 class="title">
- <a name="language.variables.objects"></a>Объекты</h3></div></div></div>
- <p>
- К свойствам <a class="link" href="advanced.features.html#advanced.features.objects" title="Объекты">объектов</a>,
- назначенных из PHP, можно обратиться, указав имя свойства после символов
- '->'.
- </p>
- <div class="example">
- <a name="id2650853"></a><p class="title"><b>Example 4.5. Обращение к свойствам объекта</b></p>
- <div class="example-contents">
- <pre class="programlisting">
-
- name: {$person->name}<br />
- email: {$person->email}<br />
-
- </pre>
- <p>
- Результат обработки:
- </p>
- <pre class="screen">
-
- name: Zaphod Beeblebrox<br />
- email: zaphod@slartibartfast.example.com<br />
-
- </pre>
- </div>
- </div>
- <br class="example-break">
- </div>
- </div>
- </div>
- <div class="navfooter">
- <hr>
- <table width="100%" summary="Navigation footer">
- <tr>
- <td width="40%" align="left">
- <a accesskey="p" href="language.escaping.html">Prev</a> </td>
- <td width="20%" align="center"><a accesskey="u" href="smarty.for.designers.html">Up</a></td>
- <td width="40%" align="right"> <a accesskey="n" href="language.config.variables.html">Next</a>
- </td>
- </tr>
- <tr>
- <td width="40%" align="left" valign="top">Предотвращение обработки Smarty </td>
- <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
- <td width="40%" align="right" valign="top"> Переменные файлов конфигурации</td>
- </tr>
- </table>
- </div>
- </body>
- </html>