DEV: Создание нового шаблона (test)

Evg Evg 27 Апреля 2022 (ред)

Это вводная статья, она нужна будет для документации, где будет описано добавление своего шаблона (дизайна) более подробно. И так. Допустим, что мне понравился один сайт и я хочу повторить дизайн в своём новом шаблоне. Я говорю про сайт IT новостей, форум:

/lobste.rs

https://lobste.rs/

Создание шаблона

  • Создадим папку test в папке с шаблонами (/resources/views/).
  • Поместим сразу в неё файл шапки header.php и подвал footer.php из дефолтного шаблона.
  • Создадим папку scss с 2 файлами: build.scss и custom.scss, куда мы собственно будем вносить свои стили.

В файле build.scss пропишем путь к custom.scss:

@import "custom.scss";

Свой css будем добавлять в файл custom.scss. А файл build.scss нужен скрипту, он ищет этот файл чтобы собрать файл стилей: название_шаблона.css в общедоступной директории: public/assets/css

Далее.

В файле конфига: scss.php пропишем путь (по аналогии с другими строчками) к стилю нового шаблона:

'test' => HLEB_GLOBAL_DIRECTORY . '/resources/views/test/scss/',

В файле конфига: general.php добавим в набор (чтобы участник мог выбирать в профиле) новый дизайн:

'templates' => ['default', 'qa', 'test'],

И так, из шаблонов у нас собственно пока 2 файла, шапка и подвал. Остальные файлы он будет брать из дефолтного шаблона. Если нам надо переопределить какой-то макет, часть страницы, мы узнаем какой файл за это отвечает, копируем его в свою папку (сохраняя структуру) и там меняем код так, как хотим.

В этом примере, я добавил еще 3 файла и заменил их содержимое (файл центральной страницы, и файлы просмотра полного поста и сам пост, который появляется в ленте).

Это то, что получилось:

Новый шаблон LibArea
Cпециально включил этот шаблон в набор для сайта и не стал его доделывать, чтобы там всё было минимально, чтобы можно было посмотреть.

Для всех манипуляций выше необходимо иметь минимальные знания по html и css. Увы или ура, но есть определенная планка, понижать которую (думаю) не стоит. На это есть множество причин.

P.S. в ближайшее время изменения на GitHub будут добавлены, и на этом сайте можно уже посмотреть тестовый дизайн переключив свой аккаунт на него в настройках профиля. В виду того, что он тестовый и работы велись только по 4 файлам, я не думаю, что он хорошо работает на всех страницах. Точнее, он был сделан только для центральной, с задачей, показать, как можно менять шаблоны под себя, не заходя в ядро сайта или менять дефолтный шаблон.

Попробуйте создайте свой шаблон, который будет работать только для вашего сайта и работайте с ним. Даже если что-то поменяется в ядре и ваш шаблон начнет работать не совсем корретно, вы всегда будете иметь рабочий пример (рабочие файлы из дефолтного шаблона), чтобы сравнить их со своими.

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

Если вы хотите добавить в sidebar рекламу, например, аналогично создайте свой шаблон и поместите туда только 1 файл этого sidebar. И там можно делать что угодно.

6 Ответов

  1. OleStep OleStep 27 Апреля 2022 (ред.)

    Работает, такой minimal приятный стиль. Жду на GitHub, чтобы тестировать.

  1. Adre Adre 27 Апреля 2022 (ред.)

    Посмотрел и сразу прежложение. Мне цвет ссылки нравится в новом дизайне больше, чем сейчас. Он более насыщен., более яркий. А если его перенести для a { color: #1c59d1; } в default?

    1. Evg Evg 27 Апреля 2022 (ред.)

      Можно и перенести. Он практически не используется. Давайте посмотрим, например, на этой странице. Заголовок черный, sidebar — черный, в подвале серые ссылки. Он мало скажется на дефолтном, только в каталоге пожалуй и в поиске. Надо посмотреть, как смотреться будет, спасибо.

  1. German German 28 Апреля 2022 (ред.)

    Какие сейчас планы? Что планируется сделать в этот релиз?

    1. Evg Evg 28 Апреля 2022

      Планы, я не люблю писать планы, что под носом делать много, — локализацию. Создание шаблона это показало.

      Допустим, я хочу ввести языковые переменные (конфиги могу легко), что мне делать? Сейчас нужно добавлять строчки в основной файл. Т.е. лезть в ядро, скажем так.

      Вот это надо переделать. smile И тут действительно много, очень. Раскидывать и группировать. Но это делать надо, т.к. это то, что будет ВСЕГДА использоваться в будущем. Это база, как и конфиги, файл которых можно переписать.

      А вот локализацию надо менять всю, полностью. ) опс…

  1. Yori Yori 28 Апреля 2022 (ред.)

    В это дизайне что-то есть, первая мысль которая пришла — фильтр персональный настраивать для такой форумной ленты. Вкладки для сортировки есть, но это не совсем то.