Шаблон для главной страницы: различия между версиями
Перейти к навигации
Перейти к поиску
Olga (обсуждение | вклад) |
Olga (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
Вообще-то очень просто. В объекте $variables['page'] есть свойство 'is_default', которое мы можем проверить. И если оно true, то подтягиваем шаблон главной. Если нет - страницы нужного модуля. Вставим эту проверку в файл main.phtml: | Вообще-то очень просто. В объекте $variables['page'] есть свойство 'is_default', которое мы можем проверить. И если оно true, то подтягиваем шаблон главной. Если нет - страницы нужного модуля. Вставим эту проверку в файл main.phtml: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang="php" line='line'> |
<main> | <main> | ||
<?php | <?php | ||
Строка 14: | Строка 14: | ||
И надо создать в папке php фрагмент шаблона content/home/index.phtml, который подключаем. Для начала пусть будет просто контентная страница: | И надо создать в папке php фрагмент шаблона content/home/index.phtml, который подключаем. Для начала пусть будет просто контентная страница: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang="php" line='line'> |
<?php | <?php | ||
$page = $variables['page']; | $page = $variables['page']; |
Версия 11:16, 3 ноября 2020
Как правило, стартовая страница сайта отличается от остальных. Как отразить эту особенность в нашем шаблоне?
Вообще-то очень просто. В объекте $variables['page'] есть свойство 'is_default', которое мы можем проверить. И если оно true, то подтягиваем шаблон главной. Если нет - страницы нужного модуля. Вставим эту проверку в файл main.phtml:
1 <main>
2 <?php
3 if ($variables['page']->is_default) echo $this->render($variables, "content/home/index");
4 else echo $this->render($variables, "{$variables['module']}/{$variables['method']}");
5 ?>
6 </main>
И надо создать в папке php фрагмент шаблона content/home/index.phtml, который подключаем. Для начала пусть будет просто контентная страница:
1 <?php
2 $page = $variables['page'];
3 ?>
4 <section>
5 <div class="container">
6 <div class="row">
7 <div class="col-12">
8 <h1 umi:element-id="<?= $page->id ?>" umi:field-name="h1" umi:empty="<?= $this->translate('empty_page_name') ?>"><?= $page->h1 ?></h1>
9 </div>
10 <div class="col-12">
11 <div umi:element-id="<?= $page->id ?>" umi:field-name="content" umi:empty="<?= $this->translate('empty_page_content') ?>"><?= $page->content ?></div>
12 </div>
13 </div>
14 </div>
15 </section>