Как добавить автора на страницы блога Grav

добавить автора автор блога Grav grav cms grav

Автор: Владимир Подводный

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

  • через определение списка типов таксономии в site.yaml
  • назначить свои страницы соответствующим значениям типов таксономии.

Примеры использования таксономии

Однако лучше всего эту концепцию объяснить на примерах. Типовой задачей является создание простого блога. В этом блоге вы создаёте сообщения, которые скажем вам необходимо назначить определенным тегам, чтобы, например, обеспечить отображение облака тегов. Кроме того, у вас может быть несколько авторов статей, а в каждой статье существует свой набор ключевых слов (тэгов) и вам необходимо присвоить каждому такому сообщению его автора для того, чтобы вывести вместе со статьёй и ключевыми словами.

Выполнение всего этого в Gtav относительно не сложная процедура, это реализуется по умолчанию с помощью записи:

taxonomies: [category,tag]     # Произвольный список типов таксономии

в файле site.yaml, который находится в каталоге system/config. Как мы видим по умолчанию в конфигурации определено всего два типа таксономии category и tag и вам по сути всего необходимо добавить author. Для переопределения значений по умолчанию создайте новый файл site.yaml в каталоге user/config, если его нет, или просто измените следующую строку, если он есть:

taxonomies:
  - category
  - tag
  - author

После чего на создаваемых страницах во вкладке Опциии появится поле с названием Author. Это позволит сохранить ваши изменения при обновлении сайта, так что теперь страницы могут быть привязаны к любой из этих трех таксономий.

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

---
title: 'Classic Modern Architecture'
date: '17:34 06/27/2018'
taxonomy:
    category:
        - blog
    tag:
        - photography
        - architecture
    author:
        - 'Пётр Иванов'
hero_classes: 'text-dark title-h1h2 overlay-light hero-large parallax'
hero_image: unsplash-luca-bravo.jpg
blog_url: /blog
show_sidebar: false
show_breadcrumbs: true
show_pagination: true
subtitle: 'finding beauty in structure'
---

Lorem markdownum timore *in*, dant litora texit late **fecisse**. Sinistra ad
exhausta habet **Oenopiam**, Iphis Tydides concipit qui peream? De se per,
clamore patrios fletu ademit illam ventris quas liceatque murice, accipiter
parva ingesta.

===

## Tecta Trachasque palmae

Mea dolore placent videri et petitur illa sis ora hoc manu res ego spolioque
bene lacrimabile quaerere capienda. Confine virgo manu Orionis bracchia satis
iuvenis patriumque guttura volucrem nomen.

## Mox orbus prius ne desideret fecere est

Истоки **Grav** проистекают из личного желания работать с платформой с открытым исходным кодом, которая ориентирована на скорость и простоту, а не на изобилие встроенных функций, которые проистекают из сложности. Есть много отличных платформ CMS с открытым исходным кодом, в том числе личные фавориты Joomla и WordPress, а также некоторые действительно перспективные платформы, такие как PageKit.

===

Все эти платформы полагаются на базу данных для сохранения данных, являются мощными и обеспечивают хорошую степень гибкости. Один из существенных недостатков этих....

Как вы можете видеть в заголовке страницы item.ru.md данной страницs присвоены значения для типов таксономий, которые мы определили в конфигурации нашего пользовательского файла site.yaml. Эта информация теперь может использоваться Grav при обработке страниц и будет создана внутреннюю карта таксономии, которая может использоваться для поиска страниц на основе выбранной вами таксономии. Однако пока мы имя автора не видим на страницах блога.

Ваши страницы не обязательно должны использовать каждую таксономию, которую вы определяете в site.yaml, но вы должны определить любую используемую вами таксономию.

Пользовательские заголовки страниц

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

В качестве примера рассмотрим сохранение данных, относящихся к странице, которые затем могут использоваться Twig в содержимом самой страницы. Итак, нам необходимо связать некоторую ссылку на автора с самой страницей. Эта информация об авторе, как показано выше, уже добавлена в заголовок страницы и вы можете теперь получить к ним доступ отTwig, для этого занесём следующие строки в файле blog-item.twig.html:

        <div class="card-title">
        {% include 'partials/blog/title.html.twig' with {title_level: 'h5'} %}
        <section id="author-details">
             <h2>{{ page.header.title }}</h2>
             <p>Автор: {{ config.site.author.name }}</p>
             <p>Author:  {{ page.header.author }}</p>
                 <span>Contact: 
                      <a href="https://twitter.com/{{ page.header.author.twitter }}">
                      <i class="fa fa-twitter"></i></a>
                </span>
        </section> 
        </div>

Строка <p>Автор: {{ config.site.author.name }}</p> выведет автора, заданного пользовательской конфигурацией в общих настройках сайта в файле/user/config/site.yaml:

title: Grav
default_lang: ru
author:
  name: 'Майкл Блюз'
  email: mikl@test.com 

Это возвращает заголовки страниц, как определено во front-matter site.yaml страницы. Для вывода может быть использована запись:

 {{ config.site.author.name }}

Однако связанная со строкой <p>Author: {{ page.header.author }}</p> информация на странице блога будет выведена только в том случае, если вы внесёте некоторые изменения в заголовок самой страницы, в которой необходимо вывести имя автора, теперь он будет выглядеть так:

---
title: 'Classic Modern Architecture'
date: '17:34 06/27/2018'
author: 'Пётр Иванов'
taxonomy:
    category:
        - blog
    tag:
        - photography
        - architecture
    author:
        - 'Пётр Иванов'

Это означает, что всякий раз, когда вы создаете новую страницу необходимо вставлять вручную имя автора в режиме Экспертный в заголовке страницы после строки Title или Date, строку author: 'ФИО'. Это же можно сделать и автоматически, если вы установите плагин Auto Author Plugin.

Но это ещё не всё. Чтобы имя автора выводилось не только на странице со списком статей в виде: заголовков, автора, аннотаций, даты и рисунка, но и на полной странице всего материала, необходимо в файле blog.item.html.twig вашей темы /user/themes/yourtheme/templates/partials/blog.item.html.twig вставить строку <p>Автор: {{ page.header.author }}</p>:

<div class="e-content">
    <p>Автор:  {{ page.header.author }}</p>
        {{ page.content|raw }}
    </div>

Комментарии

Blog Comments powered by Disqus.

Предыдущая запись Следующая запись