user
Инструмент для работы с этим ТЗ на винде – markdownpad.com. Так же можно использовать другие среды разработки, где есть встроенный или подключаемый функционал markdown
Официальная документация по работе с GRAV – https://learn.getgrav.org
Более подробно по установке GRAV можно прочитать в официальной документации https://learn.getgrav.org/basics/installation 1. Качаем GRAV на странице https://learn.getgrav.org/basics/installation Необходима сборка с админ панелью:
Либо качайте сразу по https://getgrav.org/download/core/grav-admin/1.3.3
Необходимо распаковать архив CMS и потом заливать, либо можно залить архив, и распаковать, убедbвшись, что файлы архива GRAV находятся в корневой папке домена.
site\user\accounts\
. О самих настройках аккаунта напишу чуть ниже.Если сайт не открылся, возможно необходимо выставить настройку на сервере(лучше обратиться к своим программистам):
Готово. GRAV размещен и готов к работе.
Более подробно по админ панели GRAV в документации https://learn.getgrav.org/admin-panel/introductio
После того, как вы зайдете в админку сайта, у вас откроется вот такой экран:
Все самые важные пункты я выделил красной стрелкой.
Более подробно по Dashboard в документации https://learn.getgrav.org/admin-panel/dashboard
Тут отображается статистика сайта.Обратить стоит внимание на пункт Clear Cache
. По нажатию в выпадающем меню можно выбрать All cache
– при необходимости почистить Cache – чистим всегда All cache
.
Данный пункт меню необходим для настройки сайта. Оставляем все эти настройки по умолчанию.
Основные пункты данного меню:
Site, System или Media
)System, Site, Media, Info
– выбор, что конфигурировать на сайте.Более подробно по Pages в документации https://learn.getgrav.org/admin-panel/pages-admin
В данном пункте меню можно создавать новые страницы, редактировать старые, и наблюдать всю структуру страниц сайта. Более того, так же виден шаблон страницы.
На приведенном скрине видно, что Главная страница(Home) имеет шаблон
default
, а другие страницыblog
иblog_item
.
Если у страницы есть дочерние страницы – то будет отображаться символ +
или -
возле названия страницы.
Создание новых страниц происходит по нажатию на кнопку Add
– в правом верхнем углу.
Более подробно по созданию новых страниц в документации https://learn.getgrav.org/admin-panel/pages-admin
Экран, представленный ниже, открывается после нажатия на кнопку Add
– описано в предыдущим пункте
В данных полях мы можем задать параметры страницы:
Blog
– тут необходимо выбрать Blog
Более подробно по Plugins в документации https://learn.getgrav.org/plugins
Страница плагинов:
На экране – все установленные плагины, а справа – можно активировать или деактивировать любой плагин.
Стоит обратить внимание на блок в правом верхнем углу – по нажатию кнопки Add
можно установить новый плагин, введя его имя.
Более подробно по Themes в документации https://learn.getgrav.org/themes Данная страница – установленные темы на сайте. Добавить тему можно так же, нажав на кнопку
Add
в правом вернем углу.
Структура сайта имеет следующий вид:
Особое внимание нужно уделить папке user
– большая часть настроек, файлы темы и контент хранится именно в этой папке.
user
Внимание! По умолчанию, структура данной папки может выглядеть немного иначе. По этому описываю только то, что есть в стандартной сборке GRAV+admin. Структура может измениться, при установке некоторых плагинов, или выставления каких-либо параметров и настроек сайта.
accounts
– настройки аккаунтов или аккаунта, созданные нами ранее, при установке GRAV. Полный адрес настроек – site\user\accounts\
. Все настройки сайта, аккаунтов, тем, плагинов имеет формат файлов .yaml
. Более подробно про файлы .yaml
и их синтаксис можно узнать тут – https://learn.getgrav.org/basics/grav-configurationconfig
– настройки сайта и ситемы, рассмотренные ранее. pages
– тут размещены все контентные страницы сайта. На данном скрине видно, что в этой сборке(так как она пустая) – только одна страница
Home
А в папке
Home
хранится файл с контентом, формата.md
(MarkDown) – весь контент, в админ панели сайта, можно размещать с помощью обычного редактора(без какого либо синтаксиса) – автоматически переведет в синтаксисMarkDown
. Либо в режиме эксперта, уже прям через админку размещать контент в синтаксисеMarkDown
plugins
В данной папке находятся все установленные вами плагины.
themes
В этой папке хранятся установленные темы.
Обязательно уделяем этой папке внимание – там находятся все шаблоны страниц(типы), которые имеют формат .html.twig
, файлы дизайна темы (CSS, JS, Картинки)
:
На данном скриншоте видно, что существуют шаблоны страницы такие как:
В папке partials
так же имеются шаблоны страниц. Многие шаблоны страниц или плагинов будут хранится именно в этой папке.
Более подробно по установке плагинов в документации https://learn.getgrav.org/admin-panel/plugins
Устанавливаем ниже приведенные плагины через админ панель сайта.
Напоминаю, находится вот в этом пункте админ панели сайта:
Установка плагина происходит путем нажатия на кнопку Add
и в поиске вводим название плагина.
Например, для установки плагина https://github.com/getgrav/grav-plugin-relatedpages вводим его имя и нажимаем кнопку
Install
:
Удаление плагинов происходит следующим путем:
Remove Plugin
https://github.com/getgrav/grav-plugin-admin
Данный плагин уже встроен в сборку Grav + Admin panel
Если вы устанавливали дистрибутив GRAV по https://getgrav.org/download/core/grav-admin/1.3.3
https://github.com/david-szabo97/grav-plugin-admin-addon-revisions
При установки данного плагина появляется возможность “откатывать” изменения страниц. Появляется новый блок в админке Revisions
:
https://github.com/trilbymedia/grav-plugin-tntsearch
Данный плагин необходим для внедрения в сайт поиска. Обязательным пунктом является перейти в плагин, и нажать на кнопку Re-Index Content
, при первой активации кнопка может называться Index Content
.
Данный плагин необходим для внедрения в сайт поиска. Обязательным пунктом является перейти в плагин, и нажать на кнопку Re-Index Content
, при первой активации кнопка может называться Index Content
.
Данное действие необходимо для сканирования всех страниц сайта данным плагином.
https://github.com/naucon/grav-plugin-cookieconsent
При активации данного плагина в футере(нижней части сайта) появляется оповещение посетителей сайта о использования сайта Cookie:
https://github.com/getgrav/grav-plugin-form
Плагин для создания форм заявок, обратных звонков.
https://github.com/sojimaxi/grav-plugin-widget
Данный плагин позвляет создавать виджеты через админку. После установки данного плагина автоматически создается для него папка widgets
в /user/pages/
А так же новый пункт в адин панели сайта на странице
Pages
– в правом верхнем углу появляется кнопка Create Widget
Подробная информация тут – https://github.com/sojimaxi/grav-plugin-widget
https://github.com/iusvar/grav-plugin-thumb-ratings
Данный плагин позволяет внедрить рейтинг для каких либо страниц
https://github.com/clemdesign/grav-plugin-social-seo-metatags
Плагин, необходимый для использования SEO метатегов для конкретных страниц:
В контенте страницы(
.md
) указываем SEO параметры – можно сделать через админку.
https://github.com/aradianoff/recaptchacontact
Данный плагин необходим для установки reCAPTCHA на сайт, в частности например на формы заявок.
В контенте страницы(
.md
) указываемrecaptchacontact: true
. Так же, можно сделать это через админку редактируя конкретную страницу.
https://github.com/getgrav/grav-plugin-sitemap
Плагин для создания sitemap вашего сайта.
После установки и активации плагина карта сайта XML уже достпна по адресу /sitemap
https://github.com/leotiger/grav-plugin-backup-manager
Плагин предназначен для автоматического создания backup-ов сайта. Время, объем, период – выставляются в настройках плагина.
https://github.com/escopecz/grav-ganalytics
Плагин для внедрения в сайт статистки Google Analytics.
В настройках плагина необходимо ввести Tracking ID
вашего счетчика
https://github.com/GittiHab/grav-recent-posts
Плагин необходмый для вывода последних записей вашего блога
https://github.com/Perlkonig/grav-plugin-blogroll
https://github.com/getgrav/grav-plugin-relatedpages
Для нормальной работы плагина вам необходимо скопировать файл user/plugins/relatedpages/relatedpages.yaml
в папку user/config/plugins/relatedpages.yaml
– с заменой старого файла.
Так же обратите внимание на параметр
score_threshold: 20 # minimum score needed to show up in the list
– сколько в баллов должно быть соответствие страниц что бы выводить их в похожие. По умолчанию этот параметр равен 20. В таком случае, я заметил что плагин не выводит похожие страницы. Выход нашелся изменением данного параметра до 1. Причем я правил в самом файле(user/config/plugins/relatedpages.yaml
), а не через админ панель сайта и настройки плагина. Если зайти в настройки плагина, и нажать сохранить – файл перезаписывается в исходный – и похожие страницы уже выводится не будут.Исходный код файла
user/config/plugins/relatedpages.yaml
который будет работать:
enabled: true # set to false to disable this plugin completely
limit: 5 # the number of related pages to display
show_score: true # toggle to determine if scores should be displayed in output
score_threshold: 1 # minimum score needed to show up in the list
filter: # filter a configurable collection of pages to compare
items:
@page: /blog # supports @self, @page, and @taxonomy collections
order:
by: date # order type by default
dir: desc # order direction
page_in_filter: true # true if the current page must be in the filtered collection
explicit_pages:
process: true # true|flase to enable this explicit page matching
score: 100 # score (0 - 100) to give explicit pages
taxonomy_match: # taxonomy type matching
taxonomy: tag # which taxonomy type to use
taxonomy_taxonomy:
process: true # true|false to enable taxonomy to taxonomy matching
score_scale: # scores for number of matches
1: 50
2: 75
3: 100
taxonomy_content:
process: true # true|false to enable taxonomy to content matching
score_scale: # scores for number of matches
1: 20
2: 30
3: 45
4: 60
5: 70
6: 80
7: 90
8: 100
content_match: # Disable this if you have lots of posts, performance implications...
process: false # true|false to enable content to content matching
https://github.com/getgrav/grav-plugin-breadcrumbs
https://github.com/getgrav/grav-plugin-pagination
Плагин дял внедрения пагинации на ваш сайт.
Работает только когда есть более 10 дочерних страниц у родительской.
Настройка URL страниц пагинации идет в этом файле: \user\plugins\pagination\templates\partials\pagination.html.twig
, а именно в этом блоке: `\
{% for paginate in pagination %}
{% if paginate.isCurrent %}
{{ paginate.number }}
{% elseif paginate.isInDelta %}
{% set url = (base_url ~ pagination.params ~ paginate.url)|replace({'//':'/'}) %}
{{ paginate.number }}
{% elseif paginate.isDeltaBorder %}
…
{% endif %}
{% endfor %} `\
https://github.com/helios-ag/grav-metrika
Плагин для внедрения Яндекс.Метрики.
Необходимо просто вставить номер счетка в настройках:
Плагин, который позволяет вам легко очистить Cache
.
По умолчанию плагин выключен
Как и говорилось ранее, файлы темы находятся по адресу user\themes\
Там и можно создать папку со всеми системными файлами темы(js, css
и другие):
Если в шаблоне все подготовлено верно – останется создать несколько системных файлов для GRAV(defult.html.twig, blog.html.twig
и так далее). Предлагаю обратить внимание на неплохой мануал по созданию темы https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav
Для создания своей темы предлагаю для начала ознакомится с мануалом https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav
После создания темы по данному примеру в админке в разделе Themes
: Где мы уже сможем активировать нашу тему
Для начала нужно создать шаблоны страниц(именно те файлы, которые мы например defult.html.twig)
, которые в свою очередь должны хранится по адресу user/themes/test1/templates/
И имеют следующие содержание: `\
{% extends ‘partials/base.html.twig’ %}
{% block content %} {{ page.content }}
{% endblock %} `\
На примере видно, что командой {% extends 'partials/base.html.twig' %}
мы “присвоим этому шаблону контент из файла” partials/base.html.twig
А далее идет блок:{% block content %} {{ page.content }} {% endblock %}
– начало блока контента, контент страницы и конец блока контента. {{ page.content }}
– это как раз тот контент, который вы будете добавлять в страницы, например через админку.
Создаем папки, сохраняю стандартную структуру:
user\themes\название вашей темы\templates\partials\
Создаем там файлы
header.html.twig footer.html.twig
а так же основной шаблон страницыbase.html.twig
Базовый шаблон base.html.twig
:
Уже в файлах
header.html.twig
и подобных – мы можем добавлять простойHTML
код – в данном случае код Хидера:
///
Примерно по такому же принципу подготовлены файлы footer.html.twig
Подключение header.html.twig
либо других twig-ов идет по такому примеру: В файле, например base.html.twig
прописываем команду {% include 'partials/header.html.twig' %}
– где адрес и название файла(partials/header.html.twig
) может быть любым.
Работа с twig-ами достаточно сложная. Есть документация по их работе на GRAV – https://learn.getgrav.org/themes/twig-primer
А так же, полная официальная документация https://twig.symfony.com/doc/2.x/”>https://twig.symfony.com/doc/2.x/
Русская документация(не официальный сайт) – /site/loadOutImg?url=http://x-twig.ru
{# Так записываются комментарии #}
– т.е. комментарии записываются внутри скобок {#
и #}
Так же, есть два вида разделителей: {% ... %}
и {{ ... }}
.
Первый из них используется для выполнения операторов, таких как for-циклы, а второй печатает результат выражения в шаблон. Более подробно синтаксис twig предлагаю посмотреть тут -/site/loadOutImg?url=http://x-twig.ru
Продолжаю строить бизнес согласно плану. Сегодня я зарегистрировал домен и хостинг. Процедуры эти элементарны и разжеваны до атомарного состояния в тысячах статей и роликах на ютубе. Поэтому не стану утомлять тебя пересказами.
Домен который я зарегистрировал под интернет магазин: dobraya-pryazha.ru Спасибо всем кто помог советами в комментариях.Соответственно, магазин будет называться «Добрая пряжа». Я думаю это вполне подходящее название:
Хостинг почти для всех белых проектов я выбираю
Выписал несколько важных, по моему мнению, нюансов при регистрации домена, если интересно — почитай.
Как ты считаешь, нормальное название для магазина я придумал? Еще не поздно переиграть.
Продолжаю строить бизнес согласно плану. Сегодня я зарегистрировал домен и хостинг. Процедуры эти элементарны и разжеваны до атомарного состояния в тысячах статей и роликах на ютубе. Поэтому не стану утомлять тебя пересказами.
Домен который я зарегистрировал под интернет магазин: dobraya-pryazha.ru Спасибо всем кто помог советами в комментариях.Соответственно, магазин будет называться «Добрая пряжа». Я думаю это вполне подходящее название:
Хостинг почти для всех белых проектов я выбираю
Выписал несколько важных, по моему мнению, нюансов при регистрации домена, если интересно — почитай.
Как ты считаешь, нормальное название для магазина я придумал? Еще не поздно переиграть.
Очень хорошая статья, объемная. Добавлю, что тут можно скачать СMS GRAV на русском языке gravcms.ru