Theming Flashcards

1
Q

Что такое “тема”? Как используется?

a. Чем она отличается от модуля?
b. Какая базовая структура темы?
i. Компонентный подход
c. Как можно отнаследовать тему?

A

оформление
….
base_theme в инфо файле

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое регион? Как они используются?

a. Как создать свой?

A

Регион - область страницы, внутри которой располагаются блоки
в инфо файле
region:
header: Header

+ вывод в шаблоне

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что делает hook_theme?

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Каким образом можно затемить данные (3 способа)?
a. ViewBuilder для сущностей
b. Theme-функции
c. Theme-шаблоны
i. Как его можно переопределить? Какие есть стандарты
именования шаблонов?

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое RendereableArray (RenderArray)? Как он используется? Зачем он
нужен?

A

Rendarrable Array - структурированное представление данных для темизации (рендера)

Нужен чтобы была возможность отредактировать представление перед рендером.
Передается в качестве параметра в функцию рендера

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое Markup? Как он используется? Зачем он нужен?

A

определяет объект, который передает безопасные строки через систему рендеринга.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое twig? Каковы его возможности?

a. Как передать в него переменную?
b. Как можно подключить другой шаблон внутри текущего?
c. Twig namespaces, что это такое и как их использовать?

A

Шаблонный движок
Поддерживает:
работу с массивными и переменными, циклы, условия, фильтры, наследование шаблонов

передать переменную: через hook_theme или в препроцессе

подключить дургой шаблон:
{% include ‘sub_template.html.twig’ %}

твиг неймспейс:
{% include ‘@my_module/parts/my_template.html.twig’ %}
или, например,
{% extends “@bartik/node.html.twig” %}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Каким образом можно отобразить путь? А ссылку?

A

класс Link?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Какие хуки можно использовать для изменения данных перед преобразованием
их в html?
a. Препроцессы
b. Hook_page_build

A

Hook_page_build в Д7, если хочешь добавить элементы на уровне страницы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как подключить JS или CSS? Что такое assets library?
a. Как подключить их глобально, на конкретной странице, для конкретного
элемента?
b. Как подключить библиотеку в шаблоне?
c. Как переопределить существующую assets library?

A

через либрари ямл

Ассет либрари - библиотека js и css файлов, встраиваемая в страницу

Глобально: в файле *.libraries.yml
global-styling:
  version: 1.x
  css:
    theme:
      css/layout.css: {}
      css/style.css: {}
      css/colors.css: {}
global-scripts:
  version: 1.x
  js:
    js/navmenu.js: {} 

на странице: в препроцессе через аттач

В случае если речь о форме:
$form[‘#attached’][‘library’][]

в шаблоне
{{ attach_library(‘fluffiness/cuddly-slider’) }}

переопределить
libraries-override:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly