From 7ab0c778689aec0b77d46a07ee41dc006a01c568 Mon Sep 17 00:00:00 2001 From: ppound Date: Fri, 1 Oct 2021 10:59:50 -0300 Subject: [PATCH] added themeing so search form can pass query to landing page of main module --- roblib_search.module | 11 ++++++++++ roblib_search.routing.yml | 11 +++++++++- src/Controller/RoblibSearchController.php | 25 +++++++++++++++++++++++ src/Form/RoblibSearchForm.php | 11 +++------- templates/roblib-search-results.html.twig | 3 +++ 5 files changed, 52 insertions(+), 9 deletions(-) create mode 100644 src/Controller/RoblibSearchController.php create mode 100644 templates/roblib-search-results.html.twig diff --git a/roblib_search.module b/roblib_search.module index 9cc89c3..f058dfc 100644 --- a/roblib_search.module +++ b/roblib_search.module @@ -62,6 +62,17 @@ function roblib_search_block_info() { ); }*/ +/** + * Implements hook_theme(). + */ +function roblib_search_theme($existing, $type, $theme, $path) { + return [ + 'roblib_search_results' => [ + 'variables' => ['query' => NULL], + ], + ]; +} + /** diff --git a/roblib_search.routing.yml b/roblib_search.routing.yml index ea851c4..b7fa87d 100644 --- a/roblib_search.routing.yml +++ b/roblib_search.routing.yml @@ -4,4 +4,13 @@ roblib_search.settings: _form: '\Drupal\roblib_search\Form\RoblibSearchSettingsForm' _title: 'Roblib Search Settings Form' requirements: - _permission: 'administer site configuration' \ No newline at end of file + _permission: 'administer site configuration' + +roblib_search.landing_page: + path: '/roblib_search/{query}' + defaults: + _controller: '\Drupal\roblib_search\Controller\RoblibSearchController::searchResults' + _title: 'Roblib Search Landing Page' + query: '[a-zA-Z\s]+' + requirements: + _permission: 'access content' \ No newline at end of file diff --git a/src/Controller/RoblibSearchController.php b/src/Controller/RoblibSearchController.php new file mode 100644 index 0000000..d64f182 --- /dev/null +++ b/src/Controller/RoblibSearchController.php @@ -0,0 +1,25 @@ + 'roblib_search_results', + '#query' => $query, + ]; + } + +} diff --git a/src/Form/RoblibSearchForm.php b/src/Form/RoblibSearchForm.php index 181595c..09a3cf1 100644 --- a/src/Form/RoblibSearchForm.php +++ b/src/Form/RoblibSearchForm.php @@ -5,6 +5,7 @@ namespace Drupal\roblib_search\Form; use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Component\Utility\Html; +use Drupal\Core\Url; /** * Config form for module @@ -63,17 +64,11 @@ class RoblibSearchForm extends FormBase{ * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { - global $base_url; - //$form_state->rebuild(TRUE); $search_string = $form_state->getValue('roblib_search_simple_search_query'); $search_string = Html::escape($search_string); //roblib_search_log_query($search_string); - $config = \Drupal::config('roblib_search.settings'); - $redirect_url = $config->get('search_panel_page'); - $redirect_url = $base_url . '/' . $redirect_url; - //TODO redirect to the search page - $form_state->setRedirect(''); - + $url = Url::fromUserInput('/roblib_search/' . $search_string); + $form_state->setRedirectUrl($url); } } diff --git a/templates/roblib-search-results.html.twig b/templates/roblib-search-results.html.twig new file mode 100644 index 0000000..f74764c --- /dev/null +++ b/templates/roblib-search-results.html.twig @@ -0,0 +1,3 @@ +
+ {{ query }} +
\ No newline at end of file