diff options
| author | horus | 2019-05-10 23:18:48 +0200 |
|---|---|---|
| committer | horus | 2019-05-10 23:18:48 +0200 |
| commit | f61c387f100ddeca11531b902a5584a0cad664cf (patch) | |
| tree | 2f3968ee994e1fd686b89825150ac5ad696d2729 /site | |
| parent | 57a1d34f05eb42f107d76d6d48b8da82a11a5c42 (diff) | |
| download | alkobote-f61c387f100ddeca11531b902a5584a0cad664cf.tar.gz | |
Improving the WP site. (site)
Diffstat (limited to 'site')
| -rw-r--r-- | site/app/Http/Controllers/FKFeedController.php | 132 | ||||
| -rw-r--r-- | site/app/Http/Controllers/FKOfferController.php | 4 | ||||
| -rw-r--r-- | site/app/Http/Controllers/FKSearchController.php | 80 | ||||
| -rw-r--r-- | site/resources/views/fk-offer.blade.php | 21 | ||||
| -rw-r--r-- | site/resources/views/fk-search.blade.php | 313 | ||||
| -rw-r--r-- | site/resources/views/layouts/fk-base.blade.php | 1 | ||||
| -rw-r--r-- | site/resources/views/snippets/fk-navbar.blade.php | 10 | ||||
| -rw-r--r-- | site/resources/views/snippets/fk-sortbuttons.blade.php | 141 | ||||
| -rw-r--r-- | site/routes/web.php | 9 |
9 files changed, 698 insertions, 13 deletions
diff --git a/site/app/Http/Controllers/FKFeedController.php b/site/app/Http/Controllers/FKFeedController.php new file mode 100644 index 0000000..8e50cea --- /dev/null +++ b/site/app/Http/Controllers/FKFeedController.php @@ -0,0 +1,132 @@ +<?php +namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Helpers\CryptoHelper; + +use Illuminate\Support\Facades\DB; +use App\Http\Controllers\Controller; + +use Carbon; +use Illuminate\Support\Facades\Input; +use App\Libraries\Utility; + +class FKFeedController extends Controller { + /** + * Shows the index page. + * + * @return Response + */ + public function showPage(Request $request) { + + /* + * Sorting + */ + $sort_by = Input::get("sort"); + switch ($sort_by) { + case("price"): + $sort_by = "discounted_price"; + break; + case("discounted_price"): + $sort_by = "discounted_price"; + break; + case("name"): + $sort_by = "name"; + break; + case("shop"): + $sort_by = "shop"; + break; + case("procent"): + $sort_by = "procent"; + break; + case("time"): + $sort_by = "created_at"; + break; + case("created_at"): + $sort_by = "created_at"; + break; + default: + $sort_by = "created_at"; + break; + } + + $order_by = $request->input("order"); + if ( "asc" != $order_by ) { + $order_by = "desc"; + } + + /* + * Database query + */ + $view_name = str_replace("_feed", "", \Request::route()->getName()); + $view_name = str_replace("/angebote/", "", $view_name); + + if ( "search" == $view_name ) { + $query = Input::get("q"); + $q = "%" . Utility::escapeLike($query) . "%"; + $data = DB::table('all_view')->whereNotNull('url')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orderBy($sort_by, $order_by)->limit(20)->get(); + } else { + $data = DB::table($view_name . '_view')->orderBy($sort_by, $order_by)->limit(20)->get(); + } + + /* + * For strftime(). + */ + setlocale(LC_TIME, 'de_DE.utf8'); + + /* + if ( "" != env('PIWIK_RSS_ID') ) { + $piwik = new \PiwikTracker( env('PIWIK_RSS_ID'), env('PIWIK_RSS_URL') ); + $piwik->setTokenAuth( env('PIWIK_RSS_AUTH_TOKEN') ); + $piwik->setVisitorId( $piwik->getVisitorId() ); + $piwik->setIp( $request->header('X_REAL_IP') ); + $piwik->setUrl( $request->fullUrl() ); + + $piwik->setUrlReferrer( $request->server('HTTP_REFERER') ); + $piwik->setBrowserLanguage( $request->server('HTTP_ACCEPT_LANGUAGE') ); + $piwik->setUserAgent( $request->server('HTTP_USER_AGENT') ); + + $piwik->doTrackPageView( ucfirst($view_name) . "-Feed" ); + + if ( "" != Input::get('sort') ) { + $piwik->doTrackEvent("sort", Input::get('sort') ); + } + if ( "" != Input::get('order') ) { + $piwik->doTrackEvent("order", Input::get('order') ); + } + if ( "" != Input::get('q') ) { + $piwik->doTrackEvent("search_phrase", Input::get('q') ); + } + } + */ + + + + $feed = \App::make("feed"); + + $feed->title = "Sonderangebote"; + $feed->description = 'Finde immer die günstigsten Angebote im Bereich Spirituosen. Regelmäßig neue Schnäppchen.'; + $feed->logo = url('https://angebote.fuselkoenig.de/img/paw-400-400.png'); + $feed->link = url( $request->fullUrl() ); + $feed->setDateFormat('timestamp'); // 'datetime', 'timestamp' or 'carbon' + $feed->pubdate = $data[0]->created_at; + $feed->lang = 'de'; + $feed->setShortening(true); // true or false + $feed->setTextLimit(5000); // maximum length of description text + + foreach ( $data as $offer ) { + + # Adds campagin + $offer->url = $offer->url . "?pk_campaign=feed&pk_kwd=" . urlencode($offer->name) . "&pk_source=" . $view_name . "_feed"; + + if ( "" != env('PIWIK_RSS_ID') ) { + // $piwik->doTrackContentImpression($offer->spirit_type, $offer->name, $offer->long_url); + } + + $desc = '<p><img src="'.$offer->image_url.'"></p><p><strong>'.$offer->spirit_type.'</strong><br>'. $offer->name . ' gesenkt auf <strong>' . \TF::fF($offer->discounted_price) . '€</strong> statt ' . \TF::fF($offer->original_price) . '€ ('.$offer->procent.'% Rabatt auf '. $offer->shop .').'; + $feed->add($offer->name, $offer->shop, $offer->url, $offer->created_at, $desc, $desc); + } + + return $feed->render('atom'); + + } +} diff --git a/site/app/Http/Controllers/FKOfferController.php b/site/app/Http/Controllers/FKOfferController.php index 3c761b3..8487426 100644 --- a/site/app/Http/Controllers/FKOfferController.php +++ b/site/app/Http/Controllers/FKOfferController.php @@ -60,13 +60,13 @@ class FKOfferController extends Controller { $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/"; + $rss_feed = "/angebote/" . $view_name . "/feed/"; $query_string = ""; $query_params = Input::except('page'); foreach( $query_params as $key => $value) { $query_string .= "&" . $key . "=" . $value; } - if ( "" != $query_string ) { + if ( "search" == $view_name && "" != $query_string ) { $query_string = ltrim($query_string, "&"); $rss_feed .= "?" . $query_string; } diff --git a/site/app/Http/Controllers/FKSearchController.php b/site/app/Http/Controllers/FKSearchController.php new file mode 100644 index 0000000..a148bba --- /dev/null +++ b/site/app/Http/Controllers/FKSearchController.php @@ -0,0 +1,80 @@ +<?php +namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Helpers\CryptoHelper; + +use Illuminate\Support\Facades\DB; +use App\Http\Controllers\Controller; + +use Illuminate\Support\Facades\Input; + +use App\Libraries\Utility; + +class FKSearchController extends Controller { + /** + * Shows the index page. + * + * @return Response + */ + public function showPage(Request $request) { + + /* + * Sorting + */ + $sort_by = Input::get("sort"); + switch ($sort_by) { + case("price"): + $sort_by = "discounted_price"; + break; + case("discounted_price"): + $sort_by = "discounted_price"; + break; + case("name"): + $sort_by = "name"; + break; + case("shop"): + $sort_by = "shop"; + break; + case("procent"): + $sort_by = "procent"; + break; + case("time"): + $sort_by = "created_at"; + break; + case("created_at"): + $sort_by = "created_at"; + break; + default: + $sort_by = "created_at"; + break; + } + + $order_by = $request->input("order"); + if ( "desc" != $order_by ) { + if ( "created_at" == $sort_by &&"asc" != $order_by ) { + $order_by = "desc"; + } else { + $order_by = "asc"; + } + } + + $query = Input::get("q"); + $q = "%" . Utility::escapeLike($query) . "%"; + $data = DB::table('all_view')->whereNotNull('url')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orWhere('shop', 'like', $q)->orderBy($sort_by, $order_by)->simplePaginate(20); + $count = DB::table('all_view')->whereNotNull('url')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orWhere('shop', 'like', $q); + + $query_string = ""; + $query_params = Input::except('page'); + foreach( $query_params as $key => $value) { + $query_string .= "&" . $key . "=" . $value; + } + $query_string = ltrim($query_string, "&"); + + /* + * For strftime() in view. + */ + #setlocale(LC_TIME, 'de_DE.utf8'); + + return view('fk-search', ['data' => $data, 'count' => $count, 'search_phrase' => $query, 'rss_feed' => '/angebote/search/feed/?' . $query_string ]); + } +} diff --git a/site/resources/views/fk-offer.blade.php b/site/resources/views/fk-offer.blade.php index ad9b88c..54a559a 100644 --- a/site/resources/views/fk-offer.blade.php +++ b/site/resources/views/fk-offer.blade.php @@ -5,18 +5,21 @@ @endsection @section('feed') - {!! Feed::link(secure_url($rss_feed), 'atom', 'Feed von ' . $spirit_type, 'de') !!} + {!! Feed::link(secure_url($rss_feed) . "/", 'atom', 'Feed von ' . ucfirst($spirit_type) . '-Angeboten', 'de') !!} @endsection @section('content') +<main class="site-main" id="main"> <?php - $header; + $header = ""; + $header_text = "Du bist auf der Suche nach einer neuen Lieblingsspirituose? Hier sind alle aktuell reduzierten Angebote aufgelistet. Viel Spaß beim stöbern!"; if ( "Alle Angebote" == $spirit_type ) { $header = "Alle aktuellen Sonderangebote"; } else if ( "Andere Angebote" == $spirit_type ){ $header = "Aktuelle Spirituosen-Sonderangebote"; } else { $header = "Aktuelle " . ucfirst($spirit_type) . "-Angebote"; + $header_text = "Du bist auf der Suche nach einem neuen Lieblings" . $spirit_type . "? Hier sind alle aktuell reduzierten " . ucfirst($spirit_type) . "s aufgelistet. Happy Dramming!"; } ?> <div class="container"> @@ -36,10 +39,16 @@ <div class="card taxonomy-card"> <div class="card-body"> <h1 class="card-title page-title">{{ $header }}</h1> + <p> + {{ $header_text }} + </p> + @include('snippets.fk-sortbuttons') </div> </div> </header><!-- .page-header --> + {{ $data->appends(Input::except('page'))->links() }} + <?php /* <div class="jumbotron p-3 p-md-5 text-white rounded bg-dark bbg-white ttext-dark box-shadow"> @@ -92,7 +101,7 @@ foreach( $data as $offer) { <div class="col-md-8 px-10"> <div class="card-header"> <p><strong> - {{ ucfirst($offer->spirit_type) }} <span class="float-right">{{ $offer->shop }}</span> + <a style="color: inherit;" href="/angebote/search?q={{ ucfirst($offer->spirit_type) }}" title="Alle {{ ucfirst($offer->spirit_type) }} anzeigen">{{ ucfirst($offer->spirit_type) }}</a> <span class="float-right">{{ $offer->shop }}</span> </strong></p> </div> <div class="card-block card-body px-3"> @@ -101,10 +110,10 @@ foreach( $data as $offer) { <div class="row"> <p class="card-text col-md-6"> - <span style="color:red;">Alter Preis: {{ TF::fF($offer->original_price) }} €</span> - <br> <strong>Neuer Preis: {{ TF::fF($offer->discounted_price) }} €</strong> <br> + <span style="color:red;">Alter Preis: {{ TF::fF($offer->original_price) }} €</span> + <br> {{ TF::fF($offer->base_price ) }} € / Liter </p> <p class="card-text col-md-6"> @@ -275,7 +284,7 @@ foreach( $data as $offer) { <!-- ./container --> </div> - +</main> @endsection @section('scripts') diff --git a/site/resources/views/fk-search.blade.php b/site/resources/views/fk-search.blade.php new file mode 100644 index 0000000..6c0957c --- /dev/null +++ b/site/resources/views/fk-search.blade.php @@ -0,0 +1,313 @@ +@extends('layouts.fk-base') + +@section('header') +Finde den besten Deal +@endsection + +@section('feed') + {!! Feed::link(secure_url($rss_feed), 'atom', 'Feed von ' . $search_phrase , 'de') !!} +@endsection + +@section('content') +<div class="container"> + <nav class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/" aria-label="breadcrumb"> + <ol class="breadcrumb"> + <!-- Breadcrumb NavXT 6.2.1 --> +<li class="home breadcrumb-item"><span property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" title="Gehe zur Startseite: Fuselkönig.de" href="https://www.fuselkoenig.de" class="home"><span property="name">Startseite</span></a><meta property="position" content="1"></span></li> +<li class="post post-angebote-archive breadcrumb-item"><span property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" title="Schau dir Angebote an." href="/angebote/" class="post post-angebote-archive"><span property="name">Angebote</span></a><meta property="position" content="2"></span></li> +<li class="archive taxonomy type current-item breadcrumb-item active" aria-current="page"><span property="itemListElement" typeof="ListItem"><span property="name">Suche nach <strong>"{{ ucfirst($search_phrase) }}"</strong></span><meta property="position" content="3"></span></li> + </ol> + </nav> + </div> + + <div class="container"> + +<header class="page-header"> +<?php +if ( $data->count() ) { +?> + <div class="card taxonomy-card"> + <div class="card-body"> + <h1 class="card-title page-title">Suche</h1> + <p> + Sie haben nach <strong>{{ ucfirst($search_phrase) }}</strong> gesucht ({{$count->count()}} Treffer) + </p> + @include('snippets.fk-sortbuttons') +<?php +} else { +?> +<div class="alert alert-error" data-track-content data-content-name="Suche" data-content-piece="Keine Angebote" data-content-target=""> + <h1 class="alert-heading">Keinen Treffer</h1> + <p style="font-size: 17px;"> + Leider hat Ihre Suche nach <strong>{{ $search_phrase }}</strong> keine Ergebnisse ergeben. Bitte versuchen sie es erneut mit einem anderen Begriff. + </p> + + <form action="/angebote/search"> + <div class="form-group"> + <label for=""></label> + <input type="text" class="form-control" name="q" id="front_search_form" aria-describedby="suchform-help" placeholder="Hier nach der gewünschten Spirituose suchen..."> + <p id="front_search_help" class="form-text">Suche zum Beispiel nach Glenfiddich oder Champagner.</p> + </div> + <button type="submit" class="btn btn-secondary">Suchen</button> + </form> +</div> +<?php +} +?> + + </div> +</header><!-- .page-header --> + + {{ $data->appends(Input::except('page'))->links() }} + +<?php +/* + <div class="jumbotron p-3 p-md-5 text-white rounded bg-dark bbg-white ttext-dark box-shadow"> + <div class="col-md-6 px-0"> + <h1 class="display-4 font-italic">{{ ucfirst($spirit_type) }} <span class="text-mute ml-10">({{$count}} Angebote)</span><!-- --></h1> + <!--p class="lead my-3">Finde immer die günstigsten Angebote im Bereich Spirituosen. Täglich neue Schnäppchen.</p--> + <p class="lead mb-0"><a href="/" class="text-white font-weight-bold">Zurück zur Übersicht...</a></p> + </div> + </div> + */ ?> + +<?php +if ( !$data->count() ) { + /* Keine Angebote */ +?> +<?php + /* Ende Keine Angebote */ +} else { + /* Liste Angebote */ + +//@include('snippets.sortbuttons') +$css_border_left = ""; + +foreach( $data as $offer) { +?> + + + + + + <div class="card <?php echo $css_border_left; ?>"> + <div class="row "> + <div class="col-md-4"> + <div class="card-header-dp-none"> + <p><strong> + <span style="visibility: hidden;"> + {{ ucfirst($offer->spirit_type) }} <span class="float-right">{{ $offer->shop }}</span> + </span> + </strong></p> + </div> + <div class="card-img-overlay card-img-overlay-badge" > + <p class="card-text float-right rounded off-badge" >{{ $offer->procent}} %</p> + </div> + <img src="{{ $offer->image_url }}" class="card-img img-fluid mx-auto d-block" > + </div> + <div class="col-md-8 px-10"> + <div class="card-header"> + <p><strong> + {{ ucfirst($offer->spirit_type) }} <span class="float-right">{{ $offer->shop }}</span> + </strong></p> + </div> + <div class="card-block card-body px-3"> + + <h3 class="card-title">{{ $offer->name }}</h3> + + <div class="row"> + <p class="card-text col-md-6"> + <strong>Neuer Preis: {{ TF::fF($offer->discounted_price) }} €</strong> + <br> + <span style="color:red;">Alter Preis: {{ TF::fF($offer->original_price) }} €</span> + <br> + {{ TF::fF($offer->base_price ) }} € / Liter + </p> + <p class="card-text col-md-6"> + Alkohol: {{ TF::fF($offer->abv) }} % + <br> + Volumen: {{ TF::fF($offer->volume) }} Liter + <br> + Versand: {{ TF::fF($offer->shipping_costs) }} € + <br> + <br> + </p> + </div> + </div> + <div class="card-footer row"> + <div class="col-md-6 col-sm-6"> + <a href="{{ $offer->url }}" class="btn btn-primary">Zum Shop</a> + </div> + <div class="col-md-6 col-sm-6"> + <p> + Preis vom {{ strftime("%d. %B", $offer->created_at) }} + </p> + </div> +<?php + /*if ( $offer['include_post_link'] ) { +?> + <a href="<?php echo get_post_permalink( $post ); ?>#title" class="btn btn-light" title="Kommentieren und mehr">Detailansicht</a> +<?php + } + */ +?> + <!--p class="float-right">Preis vom {{ strftime("%d. %B", $offer->created_at) }}</p--> + </div> + </div> + + </div> + </div> + +<?php + } +/* +<div class="col-md-6 col-sm-12" id="{{ $offer->name }}" data-track-content data-content-name="{{ ucfirst($spirit_type) }}" data-content-piece="{{ $offer->name }}" data-content-target="{{ $offer->url }}"> + <div class="card flex-md-row mb-4 box-shadow h-md-250 h-sm-500"> + + <!-- >= md --> + <div class="card-body d-none d-md-flex flex-row align-items-start"> + <div class="card-img-overlay" title="{{$offer->name}} :: {{ $offer->shop }}"> + <p class="card-text bg-danger float-right rounded off-badge">{{ $offer->procent}}%</p> +<!-- + <p class="card-text h-100 float-right"> + <span class="bg-danger ffloat-right rounded off-badge">{{ $offer->procent}}%</span> + <span class="created_at d-flex ffloat-right rounded">{{ date("d.m.y", $offer->created_at) }}</span> + </p> +--> + + <!--p class="card-text created_at h-100 float-right d-flex fflex-column justify-content-end">{{ $offer->created_at}}</p--> + </div> + <div class="card-img-overlay w-55"> + <div class="d-inline align-items-start text-left w-100 mb-2"> + <a class="s-link" title="Alles anzeigen von: {{ $offer->spirit_type }}" href="/search?q={{ $offer->spirit_type }}"><strong class="text-primary">{{ $offer->spirit_type }}</strong></a> + <a class="text-dark float-right" href="{{ $offer->shop_url }}">{{ $offer->shop }}</a> + </div> + + <h4 class="mb-0 hide-overflow h-45"> + <a class="text-dark ttext-truncate hide-overflow" href="{{ $offer->url }}" title="{{$offer->name}}" >{{ $offer->name }}</a> + <span class="text-fade-out"></span> + </h4> + + <p class="card-text mb-auto text-success w-100"><strong class="ffloat-right text-large" style="margin-left: 3px;">{{ TF::fF($offer->discounted_price) }}€</strong>* <del class="text-danger">{{ TF::fF($offer->original_price) . "€" }}</del> + <span class="float-right text-muted">{{ TF::fF($offer->base_price ) }}€/L</span> + </p> + <div class="mb-1 text-muted w-100"> + <span class="float-right">{{ TF::fF($offer->volume) . " Liter" }}</span><span>{{ TF::fF($offer->abv) . "%" }} Alk.</span> + </div> + <a class="u ttext-large" href="{{ $offer->url }}" title="Link zum Angebot bei {{$offer->shop}}">Jetzt bestellen</a> + <p class="text-muted text-small w-100 nnmt-10"> + Versand: <strong>{{ TF::fF($offer->shipping_costs) }}€</strong> +<?php + if ( "" != $offer->free_shipping ) { +?> + <span class=" float-right">Gratis ab <strong>{{ $offer->free_shipping }}</strong></span> +<?php + } else { +?> + <span class=" float-right">Versand ist nie kostenlos.</span> +<?php + } +?> + <br> +<!-- + <span class=" float-right">{{ date("d.m.Y", $offer->created_at) }}</span> +--> + <span class=" float-right">* Preis vom <strong>{{ strftime("%d. %B", $offer->created_at) }}</strong></span> + </p> + </div> + </div> + <img class="card-img-right flex-auto d-none d-md-block border-white img-thumbnail" src="{{ $offer->image_url }}" alt="{{ $offer->name }}" title="{{$offer->name}} :: {{ $offer->shop }}"> + + <!-- <= sm --> + <!-- Maybe make the image a link + <a href="{{ $offer->url }}"> + </a> + --> +<?php + // sets style explicitly for Drankdozijn + if ( "Drankdozijn" == $offer->shop ) { + $style = 'margin-left: auto; margin-right: 25px; width:50%; object-fit: cover; width: 70px;'; + } else { + $style = ''; + } +?> + <img style="{{ $style }}" class="card-img-top flex-auto d-sm-block img-thumbnail d-md-none" src="{{ $offer->image_url }}" alt="{{ $offer->name }}" title="{{$offer->name}} :: {{ $offer->shop }}"> + <div class="card-body .d-md-none d-lg-none d-xl-none d-xs-flex flex-column align-items-start"> +<!-- + <div class="h-100 card-img-overlay"> + <p class="card-text bg-danger float-right rounded" style="color: white; font-size: 150%; padding-right: 10px; padding-left:10px; opacity: 0.9;">{{ $offer->procent}}%</p> + </div> +--> + <div class="flex-column bg-dark-opacity" > + <div class="d-inline align-items-start text-left w-100 mb-2"> + <p class="card-text bg-danger rounded off-badge text-center" title="{{$offer->name}} :: {{ $offer->shop }}"><strong>{{ $offer->procent}}%</strong> gesenkt</p> + <a class="text-dark float-right text-dotted" href="{{ $offer->shop_url }}">{{ $offer->shop }}</a> + </div> + <div class="d-block align-items-start text-left w-100 mb-2"> + <strong class="text-primary">{{ $offer->spirit_type }}</strong> + </div> + <h3 class="mb-0 d-inline-block hide-overflow h-100"> + <a class="text-dark ttext-truncate" href="{{ $offer->url }}" title="{{$offer->name}}" >{{ $offer->name }}</a> + </h3> + + <div class="mb-1 text-muted w-100"> + <span class="float-right">{{ TF::fF($offer->volume) . " Liter" }}</span><span>{{ TF::fF($offer->abv) . "%" }} Alk.</span> + </div> + + <p class="card-text mb-auto text-success w-100"><strong class="ffloat-right text-large" style="margin-left: 3px;">{{ TF::fF($offer->discounted_price) }}€</strong>* <del class="text-danger">{{ TF::fF($offer->original_price) . "€" }}</del> + <span class="float-right text-muted">{{ TF::fF($offer->base_price ) }}€/L</span> + </p> + <strong><a href="{{ $offer->url }}" class="text-large">Jetzt bestellen</a></strong> + <p class="text-muted text-small w-100 nmt-10"> + Versand: <strong>{{ TF::fF($offer->shipping_costs) }}€</strong> +<?php + if ( "" != $offer->free_shipping ) { +?> + <span class=" float-right">Gratis ab <strong>{{ $offer->free_shipping }}</strong></span> +<?php + } else { +?> + <span class=" float-right">Versand ist nie kostenlos.</span> +<?php + } +?> + <br> + <span class=" float-right">* Preis vom <strong>{{ strftime("%d. %B", $offer->created_at) }}</strong></span> + </p> + </div> + </div> + </div> + </div> +<?php +*/ +?> + + {{ $data->appends(Input::except('page'))->links() }} + +<?php + /* Ende Liste Angebote */ +} +?> + +<!-- ./container --> + </div> + +@endsection + +@section('scripts') +<script> +$(window).on("load", function(){ + $("img.card-img-top").each( function(k, v){ + + // sets style like with Drankdozijn + if ( (this.naturalWidth / this.naturalHeight) < 0.3 ) { + console.log("debug: changing css for " + this.title); + $(this).css("width", this.naturalWidth); + $(this).css("onject-fit", "cover"); + $(this).css("margin-left", "auto"); + $(this).css("margin-right", "25px"); + } + }); +}); +</script> +@endsection diff --git a/site/resources/views/layouts/fk-base.blade.php b/site/resources/views/layouts/fk-base.blade.php index 14352a1..a2429d6 100644 --- a/site/resources/views/layouts/fk-base.blade.php +++ b/site/resources/views/layouts/fk-base.blade.php @@ -22,6 +22,7 @@ <link rel='stylesheet' id='theme-styles-css' href='https://www.fuselkoenig.de/wp-content/themes/fuselkoenig_de_v2/css/theme.css?ver=0.1.1551979696' type='text/css' media='all' /> <link rel='stylesheet' id='elasticpress-facets-css' href='https://www.fuselkoenig.de/wp-content/plugins/elasticpress/features/facets/assets/css/facets.min.css?ver=2.8.2' type='text/css' media='all' /> <link rel='stylesheet' id='recent-posts-widget-with-thumbnails-public-style-css' href='https://www.fuselkoenig.de/wp-content/plugins/recent-posts-widget-with-thumbnails/public.css?ver=6.4.0' type='text/css' media='all' /> + <link rel='stylesheet' href="https://www.fuselkoenig.de/wp-content/themes/fuselkoenig_de_v2/css/open-iconic-bootstrap.css"> <!--link href="https://angebote.fuselkoenig.de/font/css/open-iconic-bootstrap.css" rel="stylesheet"> <link href="https://angebote.fuselkoenig.de/css/custom.css" rel="stylesheet"> diff --git a/site/resources/views/snippets/fk-navbar.blade.php b/site/resources/views/snippets/fk-navbar.blade.php index 2b91217..2dcc255 100644 --- a/site/resources/views/snippets/fk-navbar.blade.php +++ b/site/resources/views/snippets/fk-navbar.blade.php @@ -41,17 +41,17 @@ <div class="row"> <div class="col-sm col-xl-8 align-self-center"> <h1 class="d-none d-lg-inline"><a class="brand-url" rel="home" href="https://www.fuselkoenig.de/" title="Fuselkönig" itemprop="url">Fuselkönig</a></h1> - <p class="slogan">Supermarkt-Spirituosen im Test</p> + <p class="slogan">Finde den besten Deal in Sachen Spirituosen</p> </div> <div class="col-sm col-xl-4 align-self-center"> -<form class="form-inline my-2 my-lg-0 float-none float-sm-right" method="get" id="searchform" action="https://www.fuselkoenig.de/" role="search"> +<form class="form-inline my-2 my-lg-0 float-none float-sm-right" method="get" id="searchform" action="https://www.fuselkoenig.de/angebote/search" role="search"> <label class="sr-only" for="s">Search</label> <div class="input-group"> - <input class="field form-control" id="s" name="s" type="text" - placeholder="Den Blog durchsuchen…" value=""> + <input class="field form-control" id="q" name="q" type="text" + placeholder="Alle Angebote durchsuchen…" value=""> <span class="input-group-append"> - <button class="btn btn-dark my-2 my-sm-0" id="searchsubmit" name="submit" type="submit"><i class="material-icons">search</i></button> + <button class="btn btn-dark my-2 my-sm-0" id="searchsubmit" name="" type="submit"><i class="material-icons">search</i></button> </span> </div> </form> diff --git a/site/resources/views/snippets/fk-sortbuttons.blade.php b/site/resources/views/snippets/fk-sortbuttons.blade.php new file mode 100644 index 0000000..f49d29a --- /dev/null +++ b/site/resources/views/snippets/fk-sortbuttons.blade.php @@ -0,0 +1,141 @@ +<?php +$filter = Request::Input('sort'); +$order = Request::Input('order'); +$show_filter = false; + +switch( $filter ) { + case "price": + $filter = "Preis"; + break; + case "name": + $filter = "Name"; + break; + case "shop": + $filter = "Shop"; + break; + case "procent": + $filter = "Preisnachlass"; + break; + case "time": + $filter = "Aktualität"; + break; + default: $filter = ""; + break; +} + +if ( "" != $filter ) { + $show_filter = true; +} + +if ( "desc" == $order ) { + $order = "Absteigend"; +} else { + $order = "Aufsteigend"; +} +?> +<p> + <button class="btn btn-white" type="button" data-toggle="collapse" data-target="#collapsefilter" aria-expanded="false" aria-controls="collapsefilter"> + Filter Anzeigen + </button> +<!-- + <button class="btn btn-white" type="button" data-toggle="collapse" data-target="#collapsesearch" aria-expanded="false" aria-controls="collapsesearch"> + Suchen… + </button> +--> + <a class="btn btn-rss btn-primary text-white pull-right" href={{ secure_url($rss_feed) }} title="Link zum RSS-Feed" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'RSS-Feed']);"> + <span class="oi oi-rss-alt" title="Link zum RSS-Feed" aria-hidden="true"></span> + </a> +</p> + +<div class="collapse" id="collapsefilter"> +<p>Sortieren nach: <?php if ( $show_filter ) { ?><strong>{{ $filter . " (" . $order . ")" }} </strong><?php }?></p> +<div class="btn-toolbar mb-2 align-top w-100" role="toolbar" aria-label="Sortieren"> + <div class="btn-group mr-2 mt-2" role="group" aria-label="Sortieren"> + <div class="dropdown mr-2"> + <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Preis + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="?sort=price&order=asc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Preis', 'Niedrigster Preis']);">Niedrigster Preis</a> + <a class="dropdown-item" href="?sort=price&order=desc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Preis', 'Höchster Preis']);">Höchster Preis</a> + </div> + </div> + <div class="dropdown mr-2"> + <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Name + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="?sort=name&order=asc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Name', 'Alphabetisch']);">Alphabetisch</a> + <a class="dropdown-item" href="?sort=name&order=desc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Name', 'Umgekehrt']);">Umgekehrt</a> + </div> + </div> + </div> + <div class="btn-group mr-2 mt-2" role="group" aria-label="Sortieren"> + <div class="dropdown mr-2"> + <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Shop + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="?sort=shop&order=asc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Shop', 'Alphabetisch']);">Alphabetisch</a> + <a class="dropdown-item" href="?sort=shop&order=desc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Shop', 'Umgekehrt']);">Umgekehrt</a> + </div> + </div> + </div> + <div class="btn-group mr-2 mt-2" role="group" aria-label="Sortieren"> + <div class="dropdown mr-2"> + <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Preisnachlass + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="?sort=procent&order=asc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Preisnachlass', 'Niedrigster Preisnachlass']);">Niedrigster Preisnachlass</a> + <a class="dropdown-item" href="?sort=procent&order=desc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Preisnachlass', 'Höchster Preisnachlass']);">Höchster Preisnachlass</a> + </div> + </div> + </div> + <div class="btn-group mr-2 mt-2" role="group" aria-label="Sortieren"> + <div class="dropdown"> + <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Aktualität + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="?sort=time&order=desc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Aktualität', 'Neueste zuerst']);">Neueste zuerst (Standard)</a> + <a class="dropdown-item" href="?sort=time&order=asc{!! Request::is('angebote/search') ? '&q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : '' }}" onclick="javascript:_paq.push(['trackEvent', 'Sort-Button', 'Aktualität', 'Älteste zuerst']);">Älteste zuerst</a> + </div> + </div> + </div> + <div class="btn-group mr-2 mt-2" role="group" aria-label="Sortieren"> + <a class="btn btn-white" href="{{ secure_url(Request::url()) }}{!! Request::is('angebote/search') ? '?q=' : '' !!}{{ Request::is('angebote/search') ? $search_phrase : ''}}"> + <span class="fa fa-times-circle"></span> Filter Entfernen + </a> + </div> + + </div> <!-- .btn-toolbar --> + +<!-- +<form style="max-width: 100%;" class="fform-inline my-2 my-lg-0" method="get" id="angebote_searchform" action="/angebote/search" role="search"> + <label class="sr-only" for="s">Search</label> + <div class="input-group"> + <input class="field form-control" id="" name="q" type="text" + placeholder="Hier nach der gewünschten Spirituose suchen…" value=""> + <span class="input-group-append"> + <button class="btn btn-dark my-2 my-sm-0" id="ssearchsubmit" name="submit" type="submit"><i class="material-icons">search</i></button> + </span> + </div> +</form> +--> + +</div> <!-- .collapse --> + + +<div class="collapse" id="collapsesearch"> +<!-- + <form action="/angebote/search"> + <div class="form-group"> + <label for=""></label> + <input type="text" class="form-control" name="q" id="front_search_form" aria-describedby="suchform-help" placeholder="Hier nach der gewünschten Spirituose suchen..."> + <small id="front_search_help" class="form-text">Suche zum Beispiel nach Glenfiddich oder Champagner.</small> + </div> + <button type="submit" class="btn btn-info">Suchen</button> + </form> +--> +</div> diff --git a/site/routes/web.php b/site/routes/web.php index a7adaef..d61d32b 100644 --- a/site/routes/web.php +++ b/site/routes/web.php @@ -26,6 +26,15 @@ 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('/angebote/search', 'FKSearchController@showPage')->name('searchp'); + +Route::get('/angebote/whisky/feed', 'FKFeedController@showPage')->name('whisky_feed'); +Route::get('/angebote/wodka/feed', 'FKFeedController@showPage')->name('wodka_feed'); +Route::get('/angebote/gin/feed', 'FKFeedController@showPage')->name('gin_feed'); +Route::get('/angebote/rum/feed', 'FKFeedController@showPage')->name('rum_feed'); +Route::get('/angebote/misc/feed', 'FKFeedController@showPage')->name('misc_feed'); +Route::get('/angebote/all/feed', 'FKFeedController@showPage')->name('all_feed'); +Route::get('/angebote/search/feed', 'FKFeedController@showPage')->name('search_feed'); Route::get('/wp/whisky', 'WPOfferController@showPage')->name('whisky'); Route::get('/wp/wodka', 'WPOfferController@showPage')->name('wodka'); |
