Шаблон для главной страницы: различия между версиями

Материал из Wiki from ADT Web Solutions
Перейти к навигации Перейти к поиску
Строка 3: Строка 3:
 
Вообще-то очень просто. В объекте $variables['page'] есть свойство 'is_default', которое мы можем проверить. И если оно true, то подтягиваем шаблон главной. Если нет - страницы нужного модуля. Вставим эту проверку в файл main.phtml:
 
Вообще-то очень просто. В объекте $variables['page'] есть свойство 'is_default', которое мы можем проверить. И если оно true, то подтягиваем шаблон главной. Если нет - страницы нужного модуля. Вставим эту проверку в файл main.phtml:
  
<source lang="php" line='line'>
+
<source lang="PHP" line='line'>
 
     <main>
 
     <main>
 
<?php
 
<?php
Строка 14: Строка 14:
 
И надо создать в папке php фрагмент шаблона content/home/index.phtml, который подключаем. Для начала пусть будет просто контентная страница:
 
И надо создать в папке php фрагмент шаблона content/home/index.phtml, который подключаем. Для начала пусть будет просто контентная страница:
  
<source lang="php" line='line'>
+
<source lang="PHP" line='line'>
 
<?php
 
<?php
 
$page = $variables['page'];
 
$page = $variables['page'];

Версия 11:20, 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>