diff --git a/composer.lock b/composer.lock index 328a308..7a2cf8d 100644 --- a/composer.lock +++ b/composer.lock @@ -12505,7 +12505,7 @@ }, { "name": "symfony/config", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/config.git", @@ -12569,16 +12569,16 @@ }, { "name": "symfony/console", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "15a9104356436cb26e08adab97706654799d31d8" + "reference": "8e1d1e406dd31727fa70cd5a99cda202e9d6a5c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/15a9104356436cb26e08adab97706654799d31d8", - "reference": "15a9104356436cb26e08adab97706654799d31d8", + "url": "https://api.github.com/repos/symfony/console/zipball/8e1d1e406dd31727fa70cd5a99cda202e9d6a5c6", + "reference": "8e1d1e406dd31727fa70cd5a99cda202e9d6a5c6", "shasum": "" }, "require": { @@ -12637,7 +12637,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-04-08T09:29:13+00:00" + "time": "2019-05-09T08:42:51+00:00" }, { "name": "symfony/contracts", @@ -12712,7 +12712,7 @@ }, { "name": "symfony/css-selector", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -12765,16 +12765,16 @@ }, { "name": "symfony/debug", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9" + "reference": "671fc55bd14800668b1d0a3708c3714940e30a8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/681afbb26488903c5ac15e63734f1d8ac430c9b9", - "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9", + "url": "https://api.github.com/repos/symfony/debug/zipball/671fc55bd14800668b1d0a3708c3714940e30a8c", + "reference": "671fc55bd14800668b1d0a3708c3714940e30a8c", "shasum": "" }, "require": { @@ -12817,20 +12817,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-04-11T09:48:14+00:00" + "time": "2019-05-18T13:32:47+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "be0feb3fa202aedfd8d1956f2dafd563fb13acbf" + "reference": "8f2a0452f086a66f6d6cf53a432867b575887768" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/be0feb3fa202aedfd8d1956f2dafd563fb13acbf", - "reference": "be0feb3fa202aedfd8d1956f2dafd563fb13acbf", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8f2a0452f086a66f6d6cf53a432867b575887768", + "reference": "8f2a0452f086a66f6d6cf53a432867b575887768", "shasum": "" }, "require": { @@ -12888,11 +12888,11 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-04-20T15:32:49+00:00" + "time": "2019-05-19T14:11:39+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", @@ -12949,7 +12949,7 @@ }, { "name": "symfony/event-dispatcher", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -13012,7 +13012,7 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -13062,16 +13062,16 @@ }, { "name": "symfony/finder", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "61af5ce0b34b942d414fe8f1b11950d0e9a90e98" + "reference": "fa5d962a71f2169dfe1cbae217fa5a2799859f6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/61af5ce0b34b942d414fe8f1b11950d0e9a90e98", - "reference": "61af5ce0b34b942d414fe8f1b11950d0e9a90e98", + "url": "https://api.github.com/repos/symfony/finder/zipball/fa5d962a71f2169dfe1cbae217fa5a2799859f6c", + "reference": "fa5d962a71f2169dfe1cbae217fa5a2799859f6c", "shasum": "" }, "require": { @@ -13107,20 +13107,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-04-02T19:54:57+00:00" + "time": "2019-05-24T12:25:55+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "fa02215233be8de1c2b44617088192f9e8db3512" + "reference": "677ae5e892b081e71a665bfa7dd90fe61800c00e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/fa02215233be8de1c2b44617088192f9e8db3512", - "reference": "fa02215233be8de1c2b44617088192f9e8db3512", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/677ae5e892b081e71a665bfa7dd90fe61800c00e", + "reference": "677ae5e892b081e71a665bfa7dd90fe61800c00e", "shasum": "" }, "require": { @@ -13161,7 +13161,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-05-01T08:04:33+00:00" + "time": "2019-05-27T05:50:24+00:00" }, { "name": "symfony/http-kernel", @@ -13598,16 +13598,16 @@ }, { "name": "symfony/process", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a" + "reference": "afe411c2a6084f25cff55a01d0d4e1474c97ff13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a9c4dfbf653023b668c282e4e02609d131f4057a", - "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a", + "url": "https://api.github.com/repos/symfony/process/zipball/afe411c2a6084f25cff55a01d0d4e1474c97ff13", + "reference": "afe411c2a6084f25cff55a01d0d4e1474c97ff13", "shasum": "" }, "require": { @@ -13643,7 +13643,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-04-08T16:15:54+00:00" + "time": "2019-05-22T12:54:11+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -13867,7 +13867,7 @@ }, { "name": "symfony/translation", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", @@ -14022,7 +14022,7 @@ }, { "name": "symfony/var-dumper", - "version": "v4.2.8", + "version": "v4.2.9", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", @@ -14158,7 +14158,7 @@ }, { "name": "symfony/yaml", - "version": "v3.4.27", + "version": "v3.4.28", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", diff --git a/config/sync/block.block.materiosapisearchblock.yml b/config/sync/block.block.materiosapisearchblock.yml new file mode 100644 index 0000000..93a0bf3 --- /dev/null +++ b/config/sync/block.block.materiosapisearchblock.yml @@ -0,0 +1,20 @@ +uuid: f45bc656-0e27-4f8a-82d2-b3c9e62c72f3 +langcode: en +status: true +dependencies: + module: + - materio_sapi + theme: + - materiotheme +id: materiosapisearchblock +theme: materiotheme +region: content_top +weight: 0 +provider: null +plugin: materio_sapi_search_block +settings: + id: materio_sapi_search_block + label: 'Materio sapi search block' + provider: materio_sapi + label_display: '0' +visibility: { } diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 9e27f24..0e1a056 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -92,6 +92,7 @@ module: materio_jsonapi: 0 materio_migrate: 0 materio_samples: 0 + materio_sapi: 0 matomo: 0 maxlength: 0 menu_block: 0 diff --git a/config/sync/language/fr/field.field.commerce_product.default.variations.yml b/config/sync/language/fr/field.field.commerce_product.default.variations.yml new file mode 100644 index 0000000..beeb05a --- /dev/null +++ b/config/sync/language/fr/field.field.commerce_product.default.variations.yml @@ -0,0 +1 @@ +label: Variations diff --git a/config/sync/language/fr/pagerer.style.adaptive.yml b/config/sync/language/fr/pagerer.style.adaptive.yml index 034e269..3928ba8 100644 --- a/config/sync/language/fr/pagerer.style.adaptive.yml +++ b/config/sync/language/fr/pagerer.style.adaptive.yml @@ -3,8 +3,10 @@ default_config: page_breaker: … pages: prefix_label: Page + first: « previous: ‹ next: › + last: » page_current_title: 'Page courante' page_title: 'Aller à la page @number' first_title: 'Aller à la première page' @@ -19,12 +21,16 @@ default_config: last_reader: 'Dernière page' items: prefix_label: Élément + first: « previous: ‹ next: › + last: » page_reader: Élément first_reader: 'Premier élément' item_ranges: prefix_label: Éléments + first: « previous: ‹ next: › + last: » page_reader: Éléments diff --git a/config/sync/language/fr/pagerer.style.basic.yml b/config/sync/language/fr/pagerer.style.basic.yml index 8ab88fa..6e3cbab 100644 --- a/config/sync/language/fr/pagerer.style.basic.yml +++ b/config/sync/language/fr/pagerer.style.basic.yml @@ -1,8 +1,10 @@ default_config: tags: pages: + first: « previous: ‹ next: › + last: » first_title: 'Aller à la première page' previous_title: 'Aller à la page précédente' next_title: 'Aller à la page suivante' @@ -12,9 +14,13 @@ default_config: next_reader: 'Page suivante' last_reader: 'Dernière page' items: + first: « previous: ‹ next: › + last: » first_reader: 'Premier élément' item_ranges: + first: « previous: ‹ next: › + last: » diff --git a/config/sync/language/fr/pagerer.style.mini.yml b/config/sync/language/fr/pagerer.style.mini.yml index 22b43bb..60b708f 100644 --- a/config/sync/language/fr/pagerer.style.mini.yml +++ b/config/sync/language/fr/pagerer.style.mini.yml @@ -2,8 +2,10 @@ default_config: tags: pages: prefix_label: Page + first: « previous: ‹ next: › + last: » page_current_title: 'Page courante' first_title: 'Aller à la première page' previous_title: 'Aller à la page précédente' @@ -16,6 +18,8 @@ default_config: last_reader: 'Dernière page' items: prefix_label: Élément + first: « previous: ‹ next: › + last: » first_reader: 'Premier élément' diff --git a/config/sync/language/fr/pagerer.style.progressive.yml b/config/sync/language/fr/pagerer.style.progressive.yml index 034e269..3928ba8 100644 --- a/config/sync/language/fr/pagerer.style.progressive.yml +++ b/config/sync/language/fr/pagerer.style.progressive.yml @@ -3,8 +3,10 @@ default_config: page_breaker: … pages: prefix_label: Page + first: « previous: ‹ next: › + last: » page_current_title: 'Page courante' page_title: 'Aller à la page @number' first_title: 'Aller à la première page' @@ -19,12 +21,16 @@ default_config: last_reader: 'Dernière page' items: prefix_label: Élément + first: « previous: ‹ next: › + last: » page_reader: Élément first_reader: 'Premier élément' item_ranges: prefix_label: Éléments + first: « previous: ‹ next: › + last: » page_reader: Éléments diff --git a/config/sync/language/fr/pagerer.style.scrollpane.yml b/config/sync/language/fr/pagerer.style.scrollpane.yml index e67b209..19813c1 100644 --- a/config/sync/language/fr/pagerer.style.scrollpane.yml +++ b/config/sync/language/fr/pagerer.style.scrollpane.yml @@ -2,8 +2,10 @@ default_config: tags: pages: prefix_label: Page + first: « previous: ‹ next: › + last: » page_current_title: 'Page courante' page_title: 'Aller à la page @number' first_title: 'Aller à la première page' @@ -18,12 +20,16 @@ default_config: last_reader: 'Dernière page' items: prefix_label: Élément + first: « previous: ‹ next: › + last: » page_reader: Élément first_reader: 'Premier élément' item_ranges: prefix_label: Éléments + first: « previous: ‹ next: › + last: » page_reader: Éléments diff --git a/config/sync/language/fr/pagerer.style.slider.yml b/config/sync/language/fr/pagerer.style.slider.yml index a841c1b..66dae31 100644 --- a/config/sync/language/fr/pagerer.style.slider.yml +++ b/config/sync/language/fr/pagerer.style.slider.yml @@ -2,8 +2,10 @@ default_config: tags: pages: prefix_label: Page + first: « previous: ‹ next: › + last: » page_current_title: 'Page courante' first_title: 'Aller à la première page' previous_title: 'Aller à la page précédente' @@ -16,10 +18,14 @@ default_config: last_reader: 'Dernière page' items: prefix_label: Élément + first: « previous: ‹ next: › + last: » first_reader: 'Premier élément' item_ranges: prefix_label: Éléments + first: « previous: ‹ next: › + last: » diff --git a/config/sync/language/fr/user.mail.yml b/config/sync/language/fr/user.mail.yml index 33956d1..c3e7fbf 100644 --- a/config/sync/language/fr/user.mail.yml +++ b/config/sync/language/fr/user.mail.yml @@ -18,7 +18,7 @@ register_pending_approval_admin: subject: 'Détails du compte [user:display-name] sur [site:name] (en attente de validation d''un administrateur)' status_activated: body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été activé.\r\n\r\nVous pouvez maintenant vous connecter en cliquant sur le lien ci-dessous ou en le copiant dans votre navigateur : \r\n\r\n[user:one-time-login-url]\r\n\r\nCe lien ne peut être utilisé qu'une seule fois et vous redirigera vers une page où vous pourrez choisir votre mot de passe.\r\n\r\nAprès avoir choisi votre mot de passe, vous pourrez vous connecter sur [site:login-url] en utilisant :\r\n\r\nnom d'utilisateur : [user:account-name]\r\nmot de passe : Votre mot de passe\r\n\r\n-- L'équipe de [site:name]" - subject: 'Détails du compte [user:display-name] sur [site:name] (validé)' + subject: 'Détails du compte pour [user:display-name] sur [site:name]' status_blocked: body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été bloqué.\r\n\r\n-- L'équipe [site:name]" subject: 'Détails du compte [user:display-name] sur [site:name] (bloqué)' diff --git a/config/sync/language/fr/views.view.commerce_orders.yml b/config/sync/language/fr/views.view.commerce_orders.yml index 20607fa..39f0ded 100644 --- a/config/sync/language/fr/views.view.commerce_orders.yml +++ b/config/sync/language/fr/views.view.commerce_orders.yml @@ -25,6 +25,7 @@ display: commerce_order_bulk_form: action_title: 'Pour cette sélection' order_number: + label: '#' separator: ', ' placed: label: Date diff --git a/config/sync/language/fr/views.view.maillog_overview.yml b/config/sync/language/fr/views.view.maillog_overview.yml index 12a4f03..722d405 100644 --- a/config/sync/language/fr/views.view.maillog_overview.yml +++ b/config/sync/language/fr/views.view.maillog_overview.yml @@ -21,6 +21,8 @@ display: first: "«\_premier" last: "dernier\_»" fields: + idmaillog: + label: '#' sent_date: label: Date subject: diff --git a/config/sync/language/fr/views.view.redirect.yml b/config/sync/language/fr/views.view.redirect.yml index 7552714..da586a3 100644 --- a/config/sync/language/fr/views.view.redirect.yml +++ b/config/sync/language/fr/views.view.redirect.yml @@ -58,7 +58,7 @@ display: title: '307 Redirection Temporaire' language: expose: - label: 'Langue d''origine' + label: 'Langue initiale' title: Rediriger page_1: display_title: Page diff --git a/config/sync/language/fr/views.view.who_s_online.yml b/config/sync/language/fr/views.view.who_s_online.yml index b33b31d..379dd7d 100644 --- a/config/sync/language/fr/views.view.who_s_online.yml +++ b/config/sync/language/fr/views.view.who_s_online.yml @@ -1,5 +1,5 @@ label: 'Bloc "Qui est connecté"' -description: 'Affiche les noms des utilisateurs les plus actifs récemment, et le nombre total d''utilisateurs actifs.' +description: 'Affiche les noms des utilisateurs les plus actifs récemment et le nombre total d''utilisateurs actifs.' display: default: display_title: Maître diff --git a/config/sync/user.role.adherent.yml b/config/sync/user.role.adherent.yml index 71b0b9c..5617505 100644 --- a/config/sync/user.role.adherent.yml +++ b/config/sync/user.role.adherent.yml @@ -7,6 +7,7 @@ label: Adhérent weight: -3 is_admin: null permissions: + - 'access materio search' - 'create member profile' - 'update own member profile' - 'view own member profile' diff --git a/config/sync/user.role.admin.yml b/config/sync/user.role.admin.yml index 4501eb4..beececd 100644 --- a/config/sync/user.role.admin.yml +++ b/config/sync/user.role.admin.yml @@ -15,6 +15,7 @@ permissions: - 'access commerce_license overview' - 'access commerce_order overview' - 'access files overview' + - 'access materio search' - 'access profile overview' - 'access site in maintenance mode' - 'access synonyms entity autocomplete' diff --git a/config/sync/user.role.admin_showroom.yml b/config/sync/user.role.admin_showroom.yml index 072e18c..66ba556 100644 --- a/config/sync/user.role.admin_showroom.yml +++ b/config/sync/user.role.admin_showroom.yml @@ -6,4 +6,5 @@ id: admin_showroom label: 'Admin Showroom' weight: 0 is_admin: null -permissions: { } +permissions: + - 'access materio search' diff --git a/config/sync/user.role.alpha_testeur.yml b/config/sync/user.role.alpha_testeur.yml index 95133c9..c8886ce 100644 --- a/config/sync/user.role.alpha_testeur.yml +++ b/config/sync/user.role.alpha_testeur.yml @@ -7,6 +7,7 @@ label: 'Alpha Testeur' weight: -5 is_admin: null permissions: + - 'access materio search' - 'create member profile' - 'update own member profile' - 'view own member profile' diff --git a/config/sync/user.role.student.yml b/config/sync/user.role.student.yml index 6dd628b..20cb72c 100644 --- a/config/sync/user.role.student.yml +++ b/config/sync/user.role.student.yml @@ -7,6 +7,7 @@ label: Student weight: -4 is_admin: null permissions: + - 'access materio search' - 'create member profile' - 'update own member profile' - 'view own member profile' diff --git a/config/sync/user.role.translator.yml b/config/sync/user.role.translator.yml index 027a0f0..f263dd9 100644 --- a/config/sync/user.role.translator.yml +++ b/config/sync/user.role.translator.yml @@ -6,4 +6,5 @@ id: translator label: Translator weight: -1 is_admin: null -permissions: { } +permissions: + - 'access materio search' diff --git a/web/modules/custom/materio_sapi/materio_sapi.info.yml b/web/modules/custom/materio_sapi/materio_sapi.info.yml new file mode 100644 index 0000000..897d473 --- /dev/null +++ b/web/modules/custom/materio_sapi/materio_sapi.info.yml @@ -0,0 +1,7 @@ +name: Materio Serach API +type: module +description: 'Search Api Materio module' +core: 8.x +package: 'Materio' +dependencies: + - search_api diff --git a/web/modules/custom/materio_sapi/materio_sapi.module b/web/modules/custom/materio_sapi/materio_sapi.module new file mode 100644 index 0000000..68f24e1 --- /dev/null +++ b/web/modules/custom/materio_sapi/materio_sapi.module @@ -0,0 +1,24 @@ +' . t('About') . ''; + $output .= '

' . t('Search Api Materio module') . '

'; + return $output; + + default: + } +} diff --git a/web/modules/custom/materio_sapi/materio_sapi.permissions.yml b/web/modules/custom/materio_sapi/materio_sapi.permissions.yml new file mode 100644 index 0000000..3d1aab6 --- /dev/null +++ b/web/modules/custom/materio_sapi/materio_sapi.permissions.yml @@ -0,0 +1,4 @@ + +access materio search: + title: 'Access materio search' + description: 'Allow access to materio search' diff --git a/web/modules/custom/materio_sapi/materio_sapi.routing.yml b/web/modules/custom/materio_sapi/materio_sapi.routing.yml new file mode 100644 index 0000000..b927512 --- /dev/null +++ b/web/modules/custom/materio_sapi/materio_sapi.routing.yml @@ -0,0 +1,9 @@ +# +# materio_sapi.materio_sapi_search_form: +# path: '/materio_sapi/form/materio_sapi_search' +# defaults: +# _form: '\Drupal\materio_sapi\Form\MaterioSapiSearchForm' +# _title: 'MaterioSapiSearchForm' +# requirements: +# _access: 'TRUE' +# diff --git a/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php b/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php new file mode 100644 index 0000000..2f65718 --- /dev/null +++ b/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php @@ -0,0 +1,58 @@ + 'textfield', + '#title' => $this->t('Search'), + '#maxlength' => 64, + '#size' => 64, + '#weight' => '0', + ]; + $form['submit'] = [ + '#type' => 'submit', + '#value' => $this->t('Submit'), + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + parent::validateForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + // Display result. + foreach ($form_state->getValues() as $key => $value) { + drupal_set_message($key . ': ' . $value); + } + + } + +} diff --git a/web/modules/custom/materio_sapi/src/Plugin/Block/MaterioSapiSearchBlock.php b/web/modules/custom/materio_sapi/src/Plugin/Block/MaterioSapiSearchBlock.php new file mode 100644 index 0000000..4b43e3d --- /dev/null +++ b/web/modules/custom/materio_sapi/src/Plugin/Block/MaterioSapiSearchBlock.php @@ -0,0 +1,36 @@ +getForm('Drupal\materio_sapi\Form\MaterioSapiSearchForm'); + $build['materio_sapi_search_block'] = $form; + return $build; + } + + /** + * {@inheritdoc} + */ + protected function blockAccess(AccountInterface $account) { + return AccessResult::allowedIfHasPermission($account, 'access materio search'); + } +} diff --git a/web/themes/custom/materiotheme/materiotheme.info.yml b/web/themes/custom/materiotheme/materiotheme.info.yml index c85d865..ada7bc0 100644 --- a/web/themes/custom/materiotheme/materiotheme.info.yml +++ b/web/themes/custom/materiotheme/materiotheme.info.yml @@ -10,9 +10,10 @@ libraries: regions: header: Header - header_left: Header left - header_middle: Header middle - header_right: Header right + header_left: 'Header left' + header_middle: 'Header middle' + header_right: 'Header right' + content_top: 'Content Top' content: Content footer_left: 'Footer Left' footer_center: 'Footer Center' diff --git a/web/themes/custom/materiotheme/templates/layout/page.html.twig b/web/themes/custom/materiotheme/templates/layout/page.html.twig index c142397..c9df1b9 100644 --- a/web/themes/custom/materiotheme/templates/layout/page.html.twig +++ b/web/themes/custom/materiotheme/templates/layout/page.html.twig @@ -66,6 +66,12 @@ {% endif %} + {% if page.content_top %} +
+ {{ page.content_top }} +
+ {% endif %} +
{{ page.content|without('messages') }}
{# /.layout-content #}