From ddd80ec28887c4889c7a85f44e0913c36244e399 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 28 May 2019 17:56:34 +0200 Subject: [PATCH] created materio_sapi module and draft of search form block --- composer.lock | 76 +++++++++---------- .../block.block.materiosapisearchblock.yml | 20 +++++ config/sync/core.extension.yml | 1 + ...ld.commerce_product.default.variations.yml | 1 + .../language/fr/pagerer.style.adaptive.yml | 6 ++ .../sync/language/fr/pagerer.style.basic.yml | 6 ++ .../sync/language/fr/pagerer.style.mini.yml | 4 + .../language/fr/pagerer.style.progressive.yml | 6 ++ .../language/fr/pagerer.style.scrollpane.yml | 6 ++ .../sync/language/fr/pagerer.style.slider.yml | 6 ++ config/sync/language/fr/user.mail.yml | 2 +- .../fr/views.view.commerce_orders.yml | 1 + .../fr/views.view.maillog_overview.yml | 2 + .../sync/language/fr/views.view.redirect.yml | 2 +- .../language/fr/views.view.who_s_online.yml | 2 +- config/sync/user.role.adherent.yml | 1 + config/sync/user.role.admin.yml | 1 + config/sync/user.role.admin_showroom.yml | 3 +- config/sync/user.role.alpha_testeur.yml | 1 + config/sync/user.role.student.yml | 1 + config/sync/user.role.translator.yml | 3 +- .../custom/materio_sapi/materio_sapi.info.yml | 7 ++ .../custom/materio_sapi/materio_sapi.module | 24 ++++++ .../materio_sapi/materio_sapi.permissions.yml | 4 + .../materio_sapi/materio_sapi.routing.yml | 9 +++ .../src/Form/MaterioSapiSearchForm.php | 58 ++++++++++++++ .../Plugin/Block/MaterioSapiSearchBlock.php | 36 +++++++++ .../custom/materiotheme/materiotheme.info.yml | 7 +- .../templates/layout/page.html.twig | 6 ++ 29 files changed, 256 insertions(+), 46 deletions(-) create mode 100644 config/sync/block.block.materiosapisearchblock.yml create mode 100644 config/sync/language/fr/field.field.commerce_product.default.variations.yml create mode 100644 web/modules/custom/materio_sapi/materio_sapi.info.yml create mode 100644 web/modules/custom/materio_sapi/materio_sapi.module create mode 100644 web/modules/custom/materio_sapi/materio_sapi.permissions.yml create mode 100644 web/modules/custom/materio_sapi/materio_sapi.routing.yml create mode 100644 web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php create mode 100644 web/modules/custom/materio_sapi/src/Plugin/Block/MaterioSapiSearchBlock.php diff --git a/composer.lock b/composer.lock index 328a308a..7a2cf8db 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 00000000..93a0bf30 --- /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 9e27f248..0e1a0568 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 00000000..beeb05af --- /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 034e269c..3928ba8a 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 8ab88fa2..6e3cbabc 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 22b43bb6..60b708f8 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 034e269c..3928ba8a 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 e67b209d..19813c11 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 a841c1b7..66dae315 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 33956d19..c3e7fbf6 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 20607fae..39f0ded5 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 12a4f03e..722d405d 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 7552714e..da586a37 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 b33b31d0..379dd7da 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 71b0b9c1..56175059 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 4501eb47..beececd9 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 072e18c4..66ba5565 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 95133c9b..c8886ced 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 6dd628bd..20cb72cd 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 027a0f0b..f263dd9f 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 00000000..897d473b --- /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 00000000..68f24e13 --- /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 00000000..3d1aab69 --- /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 00000000..b9275129 --- /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 00000000..2f657187 --- /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 00000000..4b43e3d4 --- /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 c85d865c..ada7bc04 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 c142397a..c9df1b97 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 #}