]> _ Git - pmi.git/commitdiff
Done #2956 @3
authorStephen Cameron <stephen@cubedesigners.com>
Wed, 4 Sep 2019 16:34:53 +0000 (18:34 +0200)
committerStephen Cameron <stephen@cubedesigners.com>
Wed, 4 Sep 2019 16:34:53 +0000 (18:34 +0200)
app/Templates/Documentation.php [new file with mode: 0644]
app/Templates/Search.php
app/Templates/Support.php [deleted file]
resources/js/components/SearchField.vue
resources/views/pages/documentation.blade.php [new file with mode: 0644]
resources/views/pages/search.blade.php
resources/views/pages/services.blade.php
resources/views/pages/support.blade.php [deleted file]
resources/views/partials/form.blade.php
resources/views/partials/search-results.blade.php [new file with mode: 0644]

diff --git a/app/Templates/Documentation.php b/app/Templates/Documentation.php
new file mode 100644 (file)
index 0000000..f84de8e
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Templates;
+
+class Documentation extends Search
+{
+    protected $_hasIntro = true;
+
+    public function getName()
+    {
+        return 'Documentation';
+    }
+
+}
index 28b12e3c8689fc7e97e6260f7b6ba917d3e3dc3c..38db2219a95e50b4e37c80590a6a31bf14cb07bf 100644 (file)
@@ -7,6 +7,8 @@ use Cubist\Backpack\app\Magic\Search as SearchEngine;
 
 class Search extends Base
 {
+    protected $_hasIntro = false;
+
     public function getName()
     {
         return 'Moteur de recherche';
@@ -16,12 +18,15 @@ class Search extends Base
     {
         parent::init();
 
-        $this->removeField('intro');
+        if (!$this->_hasIntro) {
+
+            $this->removeField('intro');
 
-        $this->addField(['name'  => 'page_heading',
-                         'type'  => 'Text',
-                         'label' => 'Titre de la page',
-                         'tab'   => 'Contenus']);
+            $this->addField(['name'  => 'page_heading',
+                             'type'  => 'Text',
+                             'label' => 'Titre de la page',
+                             'tab'   => 'Contenus']);
+        }
 
         // Enable form
         $this->addForm();
diff --git a/app/Templates/Support.php b/app/Templates/Support.php
deleted file mode 100644 (file)
index 1191a99..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-
-namespace App\Templates;
-
-
-class Support extends Base
-{
-    public function getName()
-    {
-        return 'Support';
-    }
-}
index 0820879191ce83ee3fbe0a6f9a988ef01a2a4a75..80fa6e350f5673b3818e934ea4cffae644aa40d2 100644 (file)
@@ -1,17 +1,19 @@
 <template>
-    <autocomplete
-        class="flex-grow"
-        name="q"
-        :default-value="value"
-        ref="autocomplete"
-        :search="getSuggestions"
-        :get-result-value="getResultValue"
-        :placeholder="placeholder"
-        :aria-placeholder="placeholder"
-        @submit="handleSubmit"
-        :autofocus="autofocus"
-    >
-    </autocomplete>
+    <div class="flex-grow">
+        <autocomplete
+            name="q"
+            :default-value="value"
+            ref="autocomplete"
+            :search="getSuggestions"
+            :get-result-value="getResultValue"
+            :placeholder="placeholder"
+            :aria-placeholder="placeholder"
+            @submit="handleSubmit"
+            :autofocus="autofocus"
+        >
+        </autocomplete>
+        <input type="hidden" name="type" :value="searchType" v-if="searchType !== ''">
+    </div>
 </template>
 
 <script>
             placeholder: {
                 type: String,
             },
+            searchType: {
+                type: String,
+                default: ''
+            },
             value: {
                 type: String,
             },
                         return resolve([])
                     }
 
-                    axios.post(this.ajaxURL, { q: input, limit: this.suggestionsLimit })
+                    let data = {
+                        q: input,
+                        type: this.searchType,
+                        limit: this.suggestionsLimit
+                    };
+
+                    axios.post(this.ajaxURL, data)
                         .then(function(response) {
-                            if (response.data.length > 0) {
-                                resolve(response.data);
-                            }
+                            resolve(response.data);
                         })
                         .catch(function(error) {
                             console.error('Error fetching search suggestions', error);
diff --git a/resources/views/pages/documentation.blade.php b/resources/views/pages/documentation.blade.php
new file mode 100644 (file)
index 0000000..0f97b93
--- /dev/null
@@ -0,0 +1,15 @@
+@extends('layouts/app')
+
+@section('content')
+
+    @intro(['padding' => 'pb-1v'])
+
+    <content class="pb-3v">
+
+        <div id="results" class="pt-1v">
+            @include('partials.search-results', ['search_type' => 'product', 'result_url_suffix' => '#documents'])
+        </div>
+
+    </content>
+
+@endsection
index 9675bab542c41293f5fcec237549d069e44fb328..fcd52f53823cfcf6d13ecb1361096963cd5465a5 100644 (file)
@@ -7,66 +7,7 @@
               data-ga-options='{"search_term":"{{ request()->get('q') }}"}'>
         <text-block :title="$page->page_heading"/>
 
-        <div class="search-results-layout">
-
-            <div class="search-results-main">
-
-                <div class="bg-grey-100 p-1v">
-                    <form action="{{ $nav->getHrefByName('recherche') }}" method="get"
-                          class="flex justify-between items-center sm:block">
-
-                        <search-field placeholder="{{ __('Saisissez votre recherche') }}"
-                                      value="{{ request()->get('q') }}"
-                                      :autofocus="{{ empty(request()->get('q')) ? 'true' : 'false' }}">
-                        </search-field>
-
-                        <button
-                            class="btn flex items-center py-3 px-8 font-display text-lg rounded ml-4 sm:mt-4 sm:mx-auto">
-                            @svg('search', 'fill-current mr-2')
-                            {{ __('Rechercher') }}
-                        </button>
-                    </form>
-                </div>
-
-                <div class="search-results mt-6">
-                    <div class="text-navy mb-2">{{ count($results) }}
-                        @if(count($results) == 1)
-                            {{ __('résultat') }}
-                        @else
-                            {{ __('résultats') }}
-                        @endif
-                    </div>
-
-                    @foreach ($results as $result)
-                        <div class="search-result py-5 @if(!$loop->last) border-b-2 border-grey-100 @endif">
-
-                            <div class="breadcrumbs sm:text-sm">
-                                @foreach ($result['breadcrumbs'] as $breadcrumb)
-                                    <div @if(!$loop->last) class="breadcrumbs-item" @endif>
-                                        <a class="breadcrumbs-link"
-                                           @if ($breadcrumb->url)href="{{ $breadcrumb->url }}" @endif>
-                                            {{ $breadcrumb->title }}
-                                        </a>
-                                    </div>
-                                @endforeach
-                            </div>
-
-                            <a class="text-2xl sm:text-xl xs:text-lg font-display mt-1 inline-block animated-underline"
-                               href="{{ $result['url'] }}">{{ $result['title'] }}</a>
-                        </div>
-                    @endforeach
-                </div>
-
-            </div>
-
-            <div class="search-results-sidebar">
-                <div class="bg-grey-100 p-1v">
-                    @form
-                </div>
-            </div>
-
-        </div>
-
+        @include('partials.search-results')
 
     </content>
 
index 241ff0aa46cf0ae9d08c81356c70661e9439f424..9e26351434a49bdfcd4bbacfb1b3638be70b0cc5 100644 (file)
@@ -1,8 +1,8 @@
 @extends('layouts.app')
 @section('content')
-    @intro(['padding' => 'pb-4v'])
+    @intro(['padding' => 'pb-2v'])
 
-    <full-width padding="pb-4v">
+    <full-width padding="pb-3v">
         <content>
             <columns>
                 <column class="pr-1v sm:pr-0">
diff --git a/resources/views/pages/support.blade.php b/resources/views/pages/support.blade.php
deleted file mode 100644 (file)
index b26799e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-@extends('layouts/app')
-
-@section('content')
-
-    @intro(['padding' => 'pb-4v'])
-
-@endsection
index 8e680e83a7a7c9f50f8caeac642b9b7b581933e6..83d493ab20b0cdcb52f14c4d43f03dac531c80c0 100644 (file)
@@ -12,7 +12,7 @@
     <div id="contact-form">
         <div class="ajax-form flex flex-col max-w-half">
             @if($page->get('form_intro'))
-                <div class="form-info text-navy">@markdown($page->get('form_intro'))</div>
+                <div class="form-info text-navy mb-6">@markdown($page->get('form_intro'))</div>
             @endif
             <form {!! $gaattrs !!} class="text-navy mailform" action="{{ $action ?? '/ajax/mailform' }}" method="post"
                   data-confirmation="{{$page->get('form_confirmation')??__('Votre message a bien été envoyé')}}"
diff --git a/resources/views/partials/search-results.blade.php b/resources/views/partials/search-results.blade.php
new file mode 100644 (file)
index 0000000..048a7f3
--- /dev/null
@@ -0,0 +1,60 @@
+<div class="search-results-layout">
+
+    <div class="search-results-main">
+
+        <div class="bg-grey-100 p-1v">
+            <form action="{{ $nav->getHrefById($page->id) }}#results" method="get"
+                  class="flex justify-between items-center sm:block">
+
+                <search-field placeholder="{{ __('Saisissez votre recherche') }}"
+                              value="{{ request()->get('q') }}"
+                              search-type="{{ $search_type ?? '' }}"
+                              :autofocus="{{ empty(request()->get('q')) ? 'true' : 'false' }}">
+                </search-field>
+
+                <button
+                    class="btn flex items-center py-3 px-8 font-display text-lg rounded ml-4 sm:mt-4 sm:mx-auto">
+                    @svg('search', 'fill-current mr-2')
+                    {{ __('Rechercher') }}
+                </button>
+            </form>
+        </div>
+
+        <div class="search-results mt-6">
+            <div class="text-navy mb-2">{{ count($results) }}
+                @if(count($results) == 1)
+                    {{ __('résultat') }}
+                @else
+                    {{ __('résultats') }}
+                @endif
+            </div>
+
+            @foreach ($results as $result)
+                <div class="search-result py-5 @if(!$loop->last) border-b-2 border-grey-100 @endif">
+
+                    <div class="breadcrumbs sm:text-sm">
+                        @foreach ($result['breadcrumbs'] as $breadcrumb)
+                            <div @if(!$loop->last) class="breadcrumbs-item" @endif>
+                                <a class="breadcrumbs-link"
+                                   @if ($breadcrumb->url)href="{{ $breadcrumb->url }}" @endif>
+                                    {{ $breadcrumb->title }}
+                                </a>
+                            </div>
+                        @endforeach
+                    </div>
+
+                    <a class="text-2xl sm:text-xl xs:text-lg font-display mt-1 inline-block animated-underline"
+                       href="{{ $result['url'] }}{{ $result_url_suffix ?? '' }}">{{ $result['title'] }}</a>
+                </div>
+            @endforeach
+        </div>
+
+    </div>
+
+    <div class="search-results-sidebar">
+        <div class="bg-grey-100 p-1v">
+            @form
+        </div>
+    </div>
+
+</div>