Files
dedinit.ru/content/posts/20190411 zachem-pereopredelyat-temy-v-grav-cms/index.md
T

2.9 KiB

title, media_order, date, taxonomy, cover
title media_order date taxonomy cover
Зачем переопределять темы в Grav CMS grav-logo.png 2019-04-11T19:27:00+03:00
category tag
Blog
GravCMS
gelonet.ru
image
hero.svg

Сегодня вышло обновление используемой мной темы оформления Quark. В результате чего все изменения внесенные в файлы темы перезписались свежей версией. Чтобы опять не попадать в такую ситуацию ребя с проекта gravcms.ru написали короткую инструкцию по переопредению стандартных тем. Пока петух не клюнул в это твопрос даже непытался погружаться в этот вопрос.

Переопределение стандартного шаблона Grav

Этот вам очень пригодится, если вы хотите сохранить обновляемость, оригинальной темы, но при этом что-то изменить. Допустим изменить сайтбар. Создайте папку user/themes/mytheme - здесь будет храниться ваша тема. Создайте файл /user/themes/mytheme/mytheme.yaml здесь сделаем взаимосвязь темы

streams:

schemes:

theme:

 type: ReadOnlyStream
 
 prefixes:
 
   '':
   
     - user/themes/mytheme
     
     - user/themes/antimatter 

user/themes/mytheme - mytheme - это ваша тема user/themes/antimatter - antimatter - тема которую вы переопределяете

Создайте файл /user/themes/mytheme/blueprints.yaml - укажите основные элементы темы.

name: MyTheme version: 1.0.0 description: "Extending Antimatter" icon: crosshairs author: name: Team Grav email: devs@getgrav.org url: http://getgrav.org

Теперь можете пройти в админ панель и указать ваш новый шабон, как основной.

Создайте файл user/themes/mytheme/mytheme.php - это будет новый класс темы.

<?php namespace Grav\Theme; class Mytheme extends Antimatter { // Some new methods, properties etc. } ?>

mytheme - это ваша новая тема Antimatter - это тема донор

Теперь вы можете скопировать файл sidebar.html.twig из antimatter/templates/partials в mytheme/templates/partials и спокойной его изменять уже в вашей теме.