<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/Developing/Views/Layouts</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Views/Layouts</link>
<description>History/revisions of CakePHP/Manual/Developing/Views/Layouts</description>
<language>en-us</language>
<item>
<title>2009-03-08 20:14:41</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Views/Layouts/show?time=2009-03-08+20%3A14%3A41</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".manual.developing.views.layouts" href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Views&amp;nbsp;/&amp;nbsp;Layouts&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+20%3A14%3A41">2009-03-08 20:14:41&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts">2009-03-08 20:29:51&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">$content_for_layout содержит отображение. Это&amp;nbsp;то&amp;nbsp;место, где&amp;nbsp;код отображения будет расположен.&lt;br />
$title_for_layout содержит заголовок страницы.&lt;br />
Самый простой способ установить заголовок для&amp;nbsp;вашего отображения – это&amp;nbsp;использование переменной $pageTitle из&amp;nbsp;контроллера.&lt;br />
&amp;lt;?php&lt;br />
class &lt;span class="missingpage">Users&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/UsersController/edit?add=1" title="Создать эту страницу">?&lt;/a> extends &lt;span class="missingpage">App&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/AppController/edit?add=1" title="Создать эту страницу">?&lt;/a> {&lt;br />
&lt;div class="indent">&lt;div class="indent">function viewActive() {&lt;br />
&lt;div class="indent">&lt;div class="indent">$this-&amp;gt;pageTitle = 'View Active Users';&lt;br />
&lt;/div>&lt;/div>}&lt;/div>&lt;/div>
}&lt;br />
?&amp;gt;&lt;br />
Вы&amp;nbsp;можете создать столько видов верстки сколько пожелаете: просто поместите их&amp;nbsp;в директорию app/views/layouts, и&amp;nbsp;переключайтесь между ними в&amp;nbsp;действиях вашего контроллера, используя переменную контроллера $layout, или&amp;nbsp;функцию setLayout().&lt;br />
Например, если раздел моего сайта включает место для&amp;nbsp;малейшего рекламного баннера, я&amp;nbsp;могу создать новую верстку с&amp;nbsp;маленьким местом для&amp;nbsp;рекламы и&amp;nbsp;объявить эту&amp;nbsp;верстку для&amp;nbsp;всех действий контроллера, использовав что-то вроде:&lt;br />
var $layout = 'default_small_ad';&lt;br />
&amp;lt;?php&lt;br />
class &lt;span class="missingpage">Users&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/UsersController/edit?add=1" title="Создать эту страницу">?&lt;/a> extends &lt;span class="missingpage">App&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/AppController/edit?add=1" title="Создать эту страницу">?&lt;/a> {&lt;br />
&lt;div class="indent">&lt;div class="indent">function viewActive() {&lt;br />
&lt;div class="indent">&lt;div class="indent">$this-&amp;gt;pageTitle = 'View Active Users';&lt;br />
$this-&amp;gt;layout = 'default_small_ad';&lt;br />
&lt;/div>&lt;/div>}&lt;br />
function viewImage() {&lt;br />
&lt;div class="indent">&lt;div class="indent">$this-&amp;gt;layout = 'image';&lt;br />
//output user image&lt;br />
&lt;/div>&lt;/div>}&lt;/div>&lt;/div>
}&lt;br />
?&amp;gt;&lt;br />
В&amp;nbsp;&lt;!--notypo-->CakePHP&lt;!--/notypo--> есть два&amp;nbsp;встроенных типа верстки (между прочим, верстки по&amp;nbsp;умолчанию), которые вы&amp;nbsp;можете использовать в&amp;nbsp;вашем приложении: 'ajax' и&amp;nbsp;'flash'. Верстка Ajax удобна для&amp;nbsp;работы с&amp;nbsp;Ajax-ответами. Это&amp;nbsp;пустая верстка (большинство ajax вызовов требуют небольшое количество разметки для&amp;nbsp;возврата, в&amp;nbsp;отличие от&amp;nbsp;полностью отрисованных интерфейсов). Верстка flash используется для&amp;nbsp;сообщений, отображаемых методом контроллеров flash().&lt;br />
Три&amp;nbsp;других типа верстки – xml, js, и&amp;nbsp;rss созданы для&amp;nbsp;быстрой и&amp;nbsp;легкой работы с&amp;nbsp;содержимым, не&amp;nbsp;являющимся text/html.&lt;br />
&lt;span class="missingpage">&amp;lt;&amp;lt; Отображения&lt;/span>&lt;a href="http://cake-php.ru/wiki/Templates/edit?add=1" title="Создать эту страницу">?&lt;/a> | &lt;span class="missingpage">Элементы &amp;gt;&amp;gt;&lt;/span>&lt;a href="http://cake-php.ru/wiki/Elements/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-08 20:14:22</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Views/Layouts/show?time=2009-03-08+20%3A14%3A22</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Views&amp;nbsp;/&amp;nbsp;Layouts&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+20%3A14%3A22">2009-03-08 20:14:22&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+20%3A14%3A41">2009-03-08 20:14:41&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Когда используете $html-&amp;gt;css() или $javascript-&amp;gt;link() в&amp;nbsp;файлах отображений, определяйте 'false' &lt;br />
для&amp;nbsp;'in-line' аргумента, для&amp;nbsp;размещения источника html в $scripts_for_layout. &lt;br />
(Дополнительную информацию по&amp;nbsp;использованию смотрите в&amp;nbsp;API).&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Когда используете $html-&amp;gt;css() или $javascript-&amp;gt;link() в&amp;nbsp;файлах отображений, определяйте 'false' для&amp;nbsp;'in-line' аргумента, &lt;br />
для&amp;nbsp;размещения источника html в $scripts_for_layout. (Дополнительную информацию по&amp;nbsp;использованию смотрите в&amp;nbsp;API).&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-08 12:34:11</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Views/Layouts/show?time=2009-03-08+12%3A34%3A11</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Views&amp;nbsp;/&amp;nbsp;Layouts&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+12%3A34%3A11">2009-03-08 12:34:11&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+20%3A14%3A22">2009-03-08 20:14:22&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;br />
Верстка содержит представляемый код, который обволакивает отображение. Все, что&amp;nbsp;вы&amp;nbsp;хотите увидеть в&amp;nbsp;ваших отображениях, должно быть размещено в&amp;nbsp;верстке.&lt;br />
&lt;br />
Файлы верстки должны быть расположены в&amp;nbsp;/app/views/layouts. Верстка &lt;!--notypo-->CakePHP&lt;!--/notypo--> по&amp;nbsp;умолчанию может быть заменена на&amp;nbsp;созданную в&amp;nbsp;/app/views/layouts/default.ctp. Когда новая верстка по&amp;nbsp;умолчанию создана, то&amp;nbsp;код отображения, сгенерированный контроллером, помещается внутрь верстки, когда страница рендерится. &lt;br />
&lt;br />
Когда вы&amp;nbsp;создаете верстку, необходимо сообщить &lt;!--notypo-->CakePHP&lt;!--/notypo--> где&amp;nbsp;разместить код&amp;nbsp;для ваших отображений. Чтобы сделать это, убедитесь, что&amp;nbsp;ваша верстка влючает место для $content_for_layout (и опционально $title_for_layout). Вот&amp;nbsp;пример того, как&amp;nbsp;может выглядеть верстка по&amp;nbsp;умолчанию:&lt;br />
&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;"-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.0&amp;nbsp;Transitional//EN"&lt;br />"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br />&amp;lt;html&amp;nbsp;xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br />&amp;lt;head&amp;gt;&lt;br />&amp;lt;title&amp;gt;&lt;span style="color: #0000BB">&amp;lt;?php&amp;nbsp;&lt;/span>&lt;span style="color: #007700">echo&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$title_for_layout?&amp;gt;&lt;/span>&amp;lt;/title&amp;gt;&lt;br />&amp;lt;link&amp;nbsp;rel="shortcut&amp;nbsp;icon"&amp;nbsp;href="favicon.ico"&amp;nbsp;type="image/x-icon"&amp;gt;&lt;br />&amp;lt;!--&amp;nbsp;Подключаем&amp;nbsp;внешние&amp;nbsp;файлы&amp;nbsp;и&amp;nbsp;скрипты&amp;nbsp;здесь&amp;nbsp;(Смотрите&amp;nbsp;HTML-хелпер&amp;nbsp;для&amp;nbsp;доп.&amp;nbsp;информации)&amp;nbsp;--&amp;gt;&lt;br />&lt;span style="color: #0000BB">&amp;lt;?php&amp;nbsp;&lt;/span>&lt;span style="color: #007700">echo&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$scripts_for_layout&amp;nbsp;?&amp;gt;&lt;br />&lt;/span>&amp;lt;/head&amp;gt;&lt;br />&amp;lt;body&amp;gt;&lt;br />&lt;br />&amp;lt;!--&amp;nbsp;Если&amp;nbsp;вы&amp;nbsp;желаете,&amp;nbsp;чтобы&amp;nbsp;какое-либо&amp;nbsp;меню&amp;nbsp;&lt;br />показывалось&amp;nbsp;во&amp;nbsp;всех&amp;nbsp;ваших&amp;nbsp;отображениях,&amp;nbsp;включите&amp;nbsp;его&amp;nbsp;сюда&amp;nbsp;--&amp;gt;&lt;br />&amp;lt;div&amp;nbsp;id="header"&amp;gt;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;id="menu"&amp;gt;...&amp;lt;/div&amp;gt;&lt;br />&amp;lt;/div&amp;gt;&lt;br />&lt;br />&amp;lt;!--&amp;nbsp;Я&amp;nbsp;хочу,&amp;nbsp;чтобы&amp;nbsp;мои&amp;nbsp;отображения&amp;nbsp;выводились&amp;nbsp;здесь--&amp;gt;&lt;br />&lt;span style="color: #0000BB">&amp;lt;?php&amp;nbsp;&lt;/span>&lt;span style="color: #007700">echo&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$content_for_layout&amp;nbsp;?&amp;gt;&lt;br />&lt;/span>&lt;br />&amp;lt;!--&amp;nbsp;Добавить&amp;nbsp;нижний&amp;nbsp;колонтитул&amp;nbsp;для&amp;nbsp;каждой&amp;nbsp;отображаемой&amp;nbsp;страницы&amp;nbsp;--&amp;gt;&lt;br />&amp;lt;div&amp;nbsp;id="footer"&amp;gt;...&amp;lt;/div&amp;gt;&lt;br />&lt;br />&amp;lt;/body&amp;gt;&lt;br />&amp;lt;/html&amp;gt;&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
&lt;br />
$scripts_for_layout содержит любые внешние файлы и&amp;nbsp;скрипты, подключенные с&amp;nbsp;помощью встроенного HTML хелпера. Полезно для&amp;nbsp;подключения javascript и&amp;nbsp;CSS файлов из&amp;nbsp;отображений.&lt;br />
&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
Когда&amp;nbsp;используете&amp;nbsp;$html-&amp;gt;css()&amp;nbsp;или&amp;nbsp;$javascript-&amp;gt;link()&amp;nbsp;в&amp;nbsp;файлах&amp;nbsp;отображений,&amp;nbsp;определяйте&amp;nbsp;'false'&amp;nbsp;для&amp;nbsp;'in-line'&amp;nbsp;аргумента,&amp;nbsp;&lt;br />для&amp;nbsp;размещения&amp;nbsp;источника&amp;nbsp;html&amp;nbsp;в&amp;nbsp;$scripts_for_layout.&amp;nbsp;(Дополнительную&amp;nbsp;информацию&amp;nbsp;по&amp;nbsp;использованию&amp;nbsp;смотрите&amp;nbsp;в&amp;nbsp;API).&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
&lt;br />
&lt;br />&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-08 12:29:49</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Views/Layouts/show?time=2009-03-08+12%3A29%3A49</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Views&amp;nbsp;/&amp;nbsp;Layouts&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+12%3A29%3A49">2009-03-08 12:29:49&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Views/Layouts?time=2009-03-08+12%3A34%3A11">2009-03-08 12:34:11&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h844-1">&lt;/a>&lt;h1>Верстка&lt;/h1>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h844-1">&lt;/a>&lt;h1>Макеты&lt;/h1>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
