Проблема с extends в fenom

Всем привет. Это мой первый опыт сборки сайта на modx. Решил сразу использовать fenom, так как есть опыт работы с шаблонизаторами.
Суть вопроса/проблемы:
Мои действия по шагам:
1.Установил голый modx 2.7.0
2. Установил PDOtools, разрешил parser в настройках.
3. Через include подключил внешний шаблон
index.tpl c таким содержанием:
{extends 'template:base.tpl'}

{block 'content'}
    <h2>content</h2>
{/block}
4. И соответственно шаблон base.tpl:
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<header>
    <h2>header</h2>
</header>

{block 'content'}

{/block}

<footer>
    <h2>footer</h2>
</footer>

</body>
</html>
Проблема в том что, открывается белый экран, а вот если удалить из index.tpl строчку {extends 'template:base.tpl'}, то содержимое отображается. Что я делаю не так?
Евгений
06 апреля 2019, 19:44
modx.pro
1 394
0

Комментарии: 8

Илья Уткин
06 апреля 2019, 22:21
0
Смотрите текст ошибки в разделе Управление — Отчеты — Журнал ошибок
    Евгений
    06 апреля 2019, 22:23
    0
    я забыл это написать. Ошибок в журнале нет.
      Илья Уткин
      06 апреля 2019, 22:25
      0
      Тогда надо смотреть в журнале ошибок PHP. Белый экран — это, чаще всего, ошибка сервера. А они все обычно логгируются.

      Мне кажется, что дело в том, что шаблон лежит не в той папке просто…
        Евгений
        06 апреля 2019, 22:34
        0
        не знаю, где смотреть журнал ошибок php. Шаблон base лежит в одной папке с index, а индекс, если без строчки extends открывается и работает
    Сергей Шлоков
    07 апреля 2019, 08:34
    0
    Через include подключил внешний шаблон index.tpl c таким содержанием:
    Это как? Это где? Неужели в ресурсе?

    Кроме того, Вы же понимаете, что работаете не с файлами, а с шаблонами из БД? Они никак не могут лежать в одной папке.
      Евгений
      07 апреля 2019, 10:45
      0
      Ну почему же в ресурсе?) В шаблоне. Я делал, так как написано в документации. А шаблоны base.tpl и расширяющий его index.tpl лежат в одной папке core/elements/templates.
        Сергей Шлоков
        07 апреля 2019, 11:03
        +1
        Ну почему же в ресурсе?) В шаблоне.
        Тогда что значит эта загадочная фраза: «Через include подключил внешний шаблон index.tpl c таким содержанием:»?

        А шаблоны base.tpl и расширяющий его index.tpl лежат в одной папке core/elements/templates.
        Ещё раз. В твоём варианте запрос идёт к шаблонам из БД. Т.е. шаблон base.tpl должен быть в списке шаблонов во вкладке «Элементы» дерева элементов админки.

        Я делал, так как написано в документации.
        Видимо из какой-то другой. Вот пример из документации:
        {extends 'file:chunks/my_chunk.tpl'}
        
        {block 'myblock'}
            Hello world!
        {/block}
        В твоём случае
        {extends 'file:templates/base.tpl'}
        ...
          Евгений
          07 апреля 2019, 12:59
          0
          Тогда что значит эта загадочная фраза: «Через include подключил внешний шаблон index.tpl c таким содержанием:»?
          Это значит, что я вставил в код шаблона в админке вот это:
          {include 'file:templates/index.tpl'}
          Ещё раз. В твоём варианте запрос идёт к шаблонам из БД. Т.е. шаблон base.tpl должен быть в списке шаблонов во вкладке «Элементы» дерева элементов админки.
          создание шаблона для base.tpl ничем не помогло бы.

          В твоём случае

          {extends 'file:templates/base.tpl'}
          ...
          именно это мне помогло. Спасибо большое!

          дело в том что в документации я прочитал следующее:
          {extends 'template:Fenom Base'}
          
          {block 'content'}
              <h3>{$_modx->resource.pagetitle}</h3>
              <div class="jumbotron">
                  {parent}
              </div>
          {/block}
          Точно также можно писать и расширять чанки, только обратите внимание, что для работы с modTemplate нужно указывать префикс template:, а для чанков нет — они работают по умолчанию во всех {include} и {extends}.
          вот это меня и сбило с пути истинного)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8