From 21fa504804b35e689adcb89c483ae2a8deb82d83 Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 5 May 2019 23:45:25 +0200 Subject: Experiment to mimic WP site. --- site/app/Http/Controllers/FKOfferController.php | 94 ++++++++++ site/resources/views/fk-offer.blade.php | 219 ++++++++++++++++++++++ site/resources/views/layouts/fk-base.blade.php | 85 +++++++++ site/resources/views/snippets/fk-footer.blade.php | 47 +++++ site/routes/web.php | 7 + 5 files changed, 452 insertions(+) create mode 100644 site/app/Http/Controllers/FKOfferController.php create mode 100644 site/resources/views/fk-offer.blade.php create mode 100644 site/resources/views/layouts/fk-base.blade.php create mode 100644 site/resources/views/snippets/fk-footer.blade.php diff --git a/site/app/Http/Controllers/FKOfferController.php b/site/app/Http/Controllers/FKOfferController.php new file mode 100644 index 0000000..3c761b3 --- /dev/null +++ b/site/app/Http/Controllers/FKOfferController.php @@ -0,0 +1,94 @@ +input("order"); + if ( "asc" != $order_by ) { + $order_by = "desc"; + } + + /* + * Database query + */ + $view_name = \Request::route()->getName(); + $data = DB::table($view_name . '_view')->whereNotNull('url')->orderBy($sort_by, $order_by)->simplePaginate(20); + $count = DB::table($view_name . '_view')->whereNotNull('url')->count(); + + $rss_feed = "/" . $view_name . "/feed/"; + $query_string = ""; + $query_params = Input::except('page'); + foreach( $query_params as $key => $value) { + $query_string .= "&" . $key . "=" . $value; + } + if ( "" != $query_string ) { + $query_string = ltrim($query_string, "&"); + $rss_feed .= "?" . $query_string; + } + + if ( "misc" == $view_name ) { + $view_name = "Andere Angebote"; + if ( $data->count() ) { + $title = "andere Angebote"; + } else { + $title = "anderen Angebote"; + } + } else if ( "all" == $view_name ) { + $view_name = "Alle Angebote"; + if ( $data->count() ) { + $title = "alle Angebote"; + } else { + $title = "Angebote"; + } + } else { + $title = ucfirst($view_name) . "-Angebote"; + } + + return view('fk-offer', ['data' => $data, 'count' => $count, 'spirit_type' => $view_name, 'rss_feed' => $rss_feed, 'title' => $title ]); + } +} diff --git a/site/resources/views/fk-offer.blade.php b/site/resources/views/fk-offer.blade.php new file mode 100644 index 0000000..10f50a1 --- /dev/null +++ b/site/resources/views/fk-offer.blade.php @@ -0,0 +1,219 @@ +@extends('layouts.base') + +@section('header') +{{ ucfirst($title) }} +@endsection + +@section('feed') + {!! Feed::link(secure_url($rss_feed), 'atom', 'Feed von ' . $spirit_type, 'de') !!} +@endsection + +@section('content') +
+
+
+

{{ ucfirst($spirit_type) }} ({{$count}} Angebote)

+ +

Zurück zur Übersicht...

+
+
+ +count() ) { + /* Keine Angebote */ +?> +
+

Keine Angebote

+ Momentan liegen keine {{ $title }} vor. Probieren Sie es später noch einmal. +
+ + +@include('snippets.sortbuttons') + + +
+ +
+
+ + +
+
+

{{ $offer->procent}}%

+ + + +
+
+ + +

+ {{ $offer->name }} + +

+ +

{{ TF::fF($offer->discounted_price) }}€* {{ TF::fF($offer->original_price) . "€" }} + {{ TF::fF($offer->base_price ) }}€/L +

+
+ {{ TF::fF($offer->volume) . " Liter" }}{{ TF::fF($offer->abv) . "%" }} Alk. +
+ Jetzt bestellen +

+ Versand: {{ TF::fF($offer->shipping_costs) }}€ +free_shipping ) { +?> + Gratis ab {{ $offer->free_shipping }} + + Versand ist nie kostenlos. + +
+ + * Preis vom {{ strftime("%d. %B", $offer->created_at) }} +

+
+
+ {{ $offer->name }} + + + +shop ) { + $style = 'margin-left: auto; margin-right: 25px; width:50%; object-fit: cover; width: 70px;'; + } else { + $style = ''; + } +?> + {{ $offer->name }} +
+ +
+
+

{{ $offer->procent}}% gesenkt

+ {{ $offer->shop }} +
+
+ {{ $offer->spirit_type }} +
+

+ {{ $offer->name }} +

+ +
+ {{ TF::fF($offer->volume) . " Liter" }}{{ TF::fF($offer->abv) . "%" }} Alk. +
+ +

{{ TF::fF($offer->discounted_price) }}€* {{ TF::fF($offer->original_price) . "€" }} + {{ TF::fF($offer->base_price ) }}€/L +

+ Jetzt bestellen +

+ Versand: {{ TF::fF($offer->shipping_costs) }}€ +free_shipping ) { +?> + Gratis ab {{ $offer->free_shipping }} + + Versand ist nie kostenlos. + +
+ * Preis vom {{ strftime("%d. %B", $offer->created_at) }} +

+
+
+
+
+ + + +
+ + +
+ + + {{ $data->appends(Input::except('page'))->links() }} + + + + + + +@endsection + +@section('scripts') + +@endsection diff --git a/site/resources/views/layouts/fk-base.blade.php b/site/resources/views/layouts/fk-base.blade.php new file mode 100644 index 0000000..ac72844 --- /dev/null +++ b/site/resources/views/layouts/fk-base.blade.php @@ -0,0 +1,85 @@ + + + + + + + + + @yield('header') | {{ env("APP_BRANDING") }} + + + + + + + + + + + + + + + + + + + + + + + + @yield('feed') + @yield('css') + + + + + + + + + + + + + @include('snippets.navbar') + + @yield('content') + + @include('snippets.fk-footer') + + + + + + + + @yield('scripts') + + diff --git a/site/resources/views/snippets/fk-footer.blade.php b/site/resources/views/snippets/fk-footer.blade.php new file mode 100644 index 0000000..a870301 --- /dev/null +++ b/site/resources/views/snippets/fk-footer.blade.php @@ -0,0 +1,47 @@ + + + + +arrow_upward + diff --git a/site/routes/web.php b/site/routes/web.php index b63116e..a7adaef 100644 --- a/site/routes/web.php +++ b/site/routes/web.php @@ -20,6 +20,13 @@ Route::get('/rum', 'OfferController@showPage')->name('rum'); Route::get('/misc', 'OfferController@showPage')->name('misc'); Route::get('/all', 'OfferController@showPage')->name('all'); +Route::get('/angebote/whisky', 'FKOfferController@showPage')->name('whisky'); +Route::get('/angebote/wodka', 'FKOfferController@showPage')->name('wodka'); +Route::get('/angebote/gin', 'FKOfferController@showPage')->name('gin'); +Route::get('/angebote/rum', 'FKOfferController@showPage')->name('rum'); +Route::get('/angebote/misc', 'FKOfferController@showPage')->name('misc'); +Route::get('/angebote/all', 'FKOfferController@showPage')->name('all'); + Route::get('/wp/whisky', 'WPOfferController@showPage')->name('whisky'); Route::get('/wp/wodka', 'WPOfferController@showPage')->name('wodka'); Route::get('/wp/gin', 'WPOfferController@showPage')->name('gin'); -- cgit v1.2.3