# Шаблон

### Создание своего шаблона

1. Откройте папку `system\themes\plain`.
2. Скопируйте эту папку в `user\themes`. Если папка `themes` отсутствует в `user`, создайте ее.
3. Переименуйте скопированную папку на свое усмотрение, например, в `custom`.
4. Откройте файл `theme-info.php` в папке `custom` любым редактором кода.
5. В файле `theme-info.php` найдите строку `index` и укажите любой порядковый номер шаблона, например `99`. В строке `display_name` укажите имя шаблона на русском и английском.

```php
<?php return array (

  'index' => 99,

  'display_name' => array (
    'en' => 'Custom',
    'ru' => 'Кастом',
  ),

  'colors' => array (
    'background' => '#fff',
    'headings' => '#000',
    'text' => '#000',
    'link' => '#0060a0',
  ),

  'meta_viewport' => 'width=device-width, initial-scale=1',
  'supports_dark_mode' => true,

); ?>
```

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FfFOcjlk7tgxL5BuDMAZf%2Ftemplate.png?alt=media&#x26;token=86a0ba42-f564-424f-84b4-d86bc49db4e8" alt=""><figcaption></figcaption></figure>

В папке темы также существует несколько папок из которых Эгея подхватывает скрипты, стили, изображения и файлы разметки:

<table data-header-hidden data-full-width="false"><thead><tr><th width="332"></th><th></th></tr></thead><tbody><tr><td><code>user\themes\custom\images</code></td><td>Изображения</td></tr><tr><td><code>user\themes\custom\js</code></td><td>JS скрипты</td></tr><tr><td><code>user\themes\custom\src</code></td><td>Исходные sass файлы стилей</td></tr><tr><td><code>user\themes\custom\styles</code></td><td>CSS стили</td></tr><tr><td><code>user\themes\custom\templates</code></td><td>PHP файлы шаблона</td></tr></tbody></table>

Если файлов в папках нет, они будут подхватываться из стандартной темы Эгеи, которая находится по пути `system\themes`.

### Стили

Для того, чтобы добавить ваши стили в Эгею, откройте папку с шаблоном и создайте файл стилей `overrides.css` в папке `styles` шаблона. Это позволит безопасно дополнять свою тему стилями, не рискуя потерять внесенные изменения после очередного обновления.

{% hint style="warning" %}
Файл `overrides.css` работает не только в пользовательских, но и в стандартных шаблонах. Дополнительно ничего подключать не нужно, Эгея подхватывает этот `css` файл автоматически.
{% endhint %}

### Разбор основных шаблонов

Теперь стоит подробнее разобрать содержимое папки `templates`, для наглядности того, как выглядит тот или иной элемент в живую, я добавила соответствующие файлам скриншоты.

{% hint style="danger" %}
Эта часть статьи устарела и не всё написанное в ней отражает действительность, так как Эгея периодически обновляется. Тем не менее она всё равно может оказаться полезной.
{% endhint %}

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2F3jUqOr5DeR2u7CLOmnOG%2Fshablon-01.png?alt=media&#x26;token=2408a3e8-235d-4b4f-be32-716605528ae6" alt=""><figcaption><p><code>user-picture.tmpl.php</code> — Аватар блога.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FDUmuZSeLVi6Lqwqqol7J%2Fshablon-02.png?alt=media&#x26;token=11980230-4e6b-4e6b-8899-fc00db16ae15" alt=""><figcaption><p><code>author-menu.tmpl.php</code> — Меню автора.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2Fd12ZBPJy8LTVX8oDn9ca%2Fshablon-03.png?alt=media&#x26;token=2117574f-bfe9-4e47-a12e-f022a8dc3615" alt=""><figcaption><p><code>search-heading.tmpl.php</code> — Форма поиска.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2Fj69UHHQqzwQuUPlaIlU4%2Fshablon-04.png?alt=media&#x26;token=9267d626-1202-4120-a5ef-54342ac8df16" alt=""><figcaption><p><code>notes.tmpl.php</code> — Пост.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FpyXjVwnvs34DxTK4HVsn%2Fshablon-05.png?alt=media&#x26;token=2e28227f-60f8-487e-a0cf-b4c5a5614684" alt=""><figcaption><p><code>pages.tmpl.php</code> — Навигация между постами.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FnW2AdLPy1yXUHw4a1ubK%2Fshablon-06.png?alt=media&#x26;token=2f03dde8-10b0-4ccc-b93d-4caa980a84a7" alt=""><figcaption><p><code>comments-heading.tmpl.php</code> — Заголовок списка комментариев с счетчиком их количества.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2Fs26WgOssowaD6Bx6Ylsx%2Fshablon-07.png?alt=media&#x26;token=0e454544-807b-4d4b-a858-3351835bfd60" alt=""><figcaption><p><code>comments.tmpl.php</code> — Список комментариев.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2Ffr3OvQtgfIVJwAYFnV3x%2Fshablon-08.png?alt=media&#x26;token=b254195d-2712-4d4c-86ef-c9c0e09a414d" alt=""><figcaption><p><code>form-comment.tmpl.php</code> — Форма комментария.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FFiuPxhj2F1ZXo9wL5Bqi%2Fshablon-09.png?alt=media&#x26;token=adc9d947-df8b-44ae-8501-753fe40d9210" alt=""><figcaption><p><code>form-comment-reply.tmpl.php</code> — Форма ответа на комментарий.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FssapqgTVEqNCeIWFVTr1%2Fshablon-10.png?alt=media&#x26;token=2c39898d-4ad2-44b5-91b0-cba46531110b" alt=""><figcaption><p><code>popular.tmpl.php</code> — Блок популярных постов.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FbfPwDm1k212sc7Z0lXYZ%2Fshablon-11.png?alt=media&#x26;token=e7ccc141-5a80-4c43-8726-2b24332cdab0" alt=""><figcaption><p><code>pages-earlier.tmpl.php</code> — Кнопка к постам «Ранее».</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FaCEanKnl0K0q2v28yMBy%2Fshablon-12.png?alt=media&#x26;token=863baf08-5211-454d-8618-90fdde80f764" alt=""><figcaption><p><code>pages-later.tmpl.php</code> — Кнопка к постам «Позднее».</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FhZIcH3mWZCTPIMdedf91%2Fshablon-13.png?alt=media&#x26;token=25f67110-16f7-43a0-b834-47713534d7e6" alt=""><figcaption><p><code>notes-list.tmpl.php</code> — Список всех постов блога.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FP5bzSBStAzuihslOuVh3%2Fshablon-14.png?alt=media&#x26;token=473ff167-d2cc-4d84-bec4-744e9a1b2f9b" alt=""><figcaption><p><code>heading.tmpl.php</code> — Заголовки на большинстве страниц.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FYr14WfNccesV3PXZGeOr%2Fshablon-15.png?alt=media&#x26;token=1a195bbb-e4a5-483e-b2b6-7ef21ca22440" alt=""><figcaption><p><code>form-note.tmpl.php</code> — Форма публикации поста.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FURFQBc0K1ipkyQxAnEPZ%2Fshablon-16.png?alt=media&#x26;token=5f3fbd70-031f-4b14-a230-93a3ef257b98" alt=""><figcaption><p><code>form-note-delete.tmpl.php</code> — Форма удаления поста.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FIvhcdKdNQWYgDivMSHKA%2Fshablon-17.png?alt=media&#x26;token=382cd499-2077-4a96-becf-016e82f83f8e" alt=""><figcaption><p><code>form-note-publish.tmpl.php</code> — Кнопка публикации поста.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FLTI8AaFGGggCVq3SzWLD%2Fshablon-18.png?alt=media&#x26;token=81d00b6f-087d-4644-a27d-0548e7ee26cc" alt=""><figcaption><p><code>drafts.tmpl.php</code> — Список черновиков.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FT0eSK0ol42TYL4HXEhNG%2Fshablon-19.png?alt=media&#x26;token=abf47d05-e8e9-44f0-a08e-aed492e3c5fb" alt=""><figcaption><p><code>form-preferences.tmpl.php</code> — Форма общих настроек блога.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FcgmSeq018JzwpKADXhUf%2Fshablon-20.png?alt=media&#x26;token=eb428afb-e3bb-4fbe-b568-8e4065562790" alt=""><figcaption><p><code>form-password.tmpl.php</code> — Форма смены админ-пароля.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FI6uAMT6L0iPRO4DXnITC%2Fshablon-21.png?alt=media&#x26;token=45d5183e-b1de-4d1b-9064-f29e5e8b8557" alt=""><figcaption><p><code>form-database.tmpl.php</code> — Форма подключения к базе данных.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2F7w6IQOPes11jZTFgsQN1%2Fshablon-22.png?alt=media&#x26;token=4a69b071-6790-44ba-bd5d-55ea9a89357e" alt=""><figcaption><p><code>sessions.tmpl.php</code> — Список текущих сессий.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FJ9UUFj6wXQDyzfUn37CU%2Fshablon-23.png?alt=media&#x26;token=61b1bcab-024d-475a-9f35-29dacf4f399f" alt=""><figcaption><p><code>form-install.tmpl.php</code> — Форма установки Эгеи.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2Fc6cnpZVRFCDeh5luGrHE%2Fshablon-24.png?alt=media&#x26;token=bd57f4e8-e0c4-48b1-b2df-40a64bb8561d" alt=""><figcaption><p><code>form-login.tmpl.php</code> — Форма авторизации.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FeNkPNmincg61H0LUGrJn%2Fshablon-25.png?alt=media&#x26;token=c260d13d-180f-42c7-b98d-2c7cbed8a4c0" alt=""><figcaption><p><code>tags.tmpl.php</code> — Список всех тегов блога.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FTSYpNfklzqhVjynUzS69%2Fshablon-26.png?alt=media&#x26;token=d45fe7dd-35a9-4474-8496-f3c1c4aa3df1" alt=""><figcaption><p><code>form-tag.tmpl.php</code> — Форма редактирования тега.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2F2zSwOAEmfXY9lRu37vdX%2Fshablon-27.png?alt=media&#x26;token=3a5b6707-67ec-4a88-8e13-026d3e2fad54" alt=""><figcaption><p><code>form-tag-delete.tmpl.php</code> — Форма удаления тега.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2F41QUla8xJMox4Ocn8L0k%2Fshablon-28.png?alt=media&#x26;token=63d201fb-e13a-40d6-8593-a27c36f62bca" alt=""><figcaption><p><code>tags-menu.tmpl.php</code> — Меню избранных тегов.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FY3ebVScb4vCPvY0uVbuQ%2Fshablon-29.png?alt=media&#x26;token=2e73ef7b-a1e8-4b23-ab7c-2099b33d889c" alt=""><figcaption><p><code>form-search.tmpl.php</code> — Форма поиска на странице поиска.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FhoR10sw8dexvD9kpSoyD%2Fshablon-30.png?alt=media&#x26;token=297d526d-e24c-4fa4-9f74-f85e58e84422" alt=""><figcaption><p><code>login-element.tmpl.php</code> — Кнопка авторизации в футере.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FLMqwEFBOKjquwfaOndTf%2Fshablon-31.png?alt=media&#x26;token=a4cb4a94-fe14-48b4-b39d-86aca54747a9" alt=""><figcaption><p><code>form-password-reset-email.tmpl.php</code> — Страница сброса пароля.</p></figcaption></figure>

<figure><img src="https://1238623125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSMJVM1o5s4bVhHDO3bSh%2Fuploads%2FyxwleTmzI0sTvAGoqMpE%2Fshablon-32.png?alt=media&#x26;token=36799754-c8cc-4848-8e3c-81b95c32aa96" alt=""><figcaption><p><code>layout.tmpl.php</code> — Основная разметка шаблона внутри body, здесь подключаются другие части шаблона.</p></figcaption></figure>

`main.tmpl.php` — Разметка внутри `html`, здесь подключается `head.tmpl.php` содержащий метатеги, сам `layout.tmpl.php`, `js` и `css`.

Эти файлы можно копировать в папку `templates` своей темы и редактировать на свой вкус.

***

Подключить свою собственную часть шаблона можно создав файл типа `name.tmpl.php` в папке `templates` и затем вызвать его в любом другом месте или в `layout.tmpl.php`. Например, можно создать файл `menu.tmpl.php` со своим меню и ссылками на соц-сети, сверстанными на `html` и `css`, и вызвать его в `layout.tmpl.php` специальным макросом. Илья Бирман в справке к Эгее пишет:

> Шаблон может вызывать другие шаблоны для отображения конкретного фрагмента: `_T ()` — вызывает шаблон по имени. (…) Шаблон `layout.tmpl.php` «срабатывает» потому, что `main.tmpl.php` вызывает его для формирования тела страницы.

Так, чтобы вывести содержимое файла `menu.tmpl.php` где-нибудь на сайте, достаточно небольшого кода:

```php
<?php _T ('menu') ?>
```

К слову, если вам нужно вывести часть шаблона, скажем, только на главной странице, но не на странице поста, оберните код вывода следующим уточнением:

```php
<?php if ($content['class'] == 'frontpage') { ?>
    <?php _T ('menu') ?>
<?php } ?>
```

Или, если нужно вывести эту часть шаблона только на странице поста:

```php
<?php if ($content['class'] == 'note') { ?>
   <?php _T ('menu') ?>
<?php } ?>
```

`JS` и `CSS` в тему Эгеи тоже подключаются специальными макросами. Для наглядности откройте стандартный `main.tmpl.php` и посмотрите в конец файла, после закрывающего тега `body`:

```php
<?php _CSS ('main') ?>
<?php _JS ('main') ?>
```

Здесь подхватываются `./js/main.js` и `./styles/main.css` из папки темы, или из стандартной темы, если нет соответствующих файлов. По такому принципу можно добавить, например, скрипт `bootstrap.min.js` в папку `js` и подключить его кодом:

```php
<?php _JS ('bootstrap.min') ?>
```

Таким образом можно редактировать отдельные части шаблона Эгеи при создании своей темы, подключать стили и скрипты. Также, для более полной информации, рекомендую ознакомиться с официальной документацией по темам оформления Эгеи.
