diff options
| author | horus | 2019-05-11 01:13:29 +0200 |
|---|---|---|
| committer | horus | 2019-05-11 01:13:29 +0200 |
| commit | a50ee00ba2cf690ceaff43c3b9ea816cc3ff477a (patch) | |
| tree | a54c3163bae04e73ebb2fd1fa71485b97c01e4ce /site | |
| parent | 63a9348b11d697860834f3f58b167debbf2f740b (diff) | |
| download | alkobote-a50ee00ba2cf690ceaff43c3b9ea816cc3ff477a.tar.gz | |
Adds landing page. (site)
Diffstat (limited to 'site')
| -rw-r--r-- | site/app/Http/Controllers/FKIndexController.php | 40 | ||||
| -rw-r--r-- | site/resources/views/fk-index.blade.php | 164 | ||||
| -rw-r--r-- | site/routes/web.php | 1 |
3 files changed, 205 insertions, 0 deletions
diff --git a/site/app/Http/Controllers/FKIndexController.php b/site/app/Http/Controllers/FKIndexController.php new file mode 100644 index 0000000..92e6866 --- /dev/null +++ b/site/app/Http/Controllers/FKIndexController.php @@ -0,0 +1,40 @@ +<?php +namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Helpers\CryptoHelper; + +use Illuminate\Support\Facades\DB; +use App\Http\Controllers\Controller; + +class FKIndexController extends Controller { + /** + * Shows the index page. + * + * @return Response + */ + public function showPage(Request $request) { + + + $views = array("whisky", "wodka", "gin", "rum", "misc"); + $query = ""; + + foreach($views as $view) { + if ($query != "") { + $query .= " UNION "; + } + # subquery to get procent, because cheap spirits don't look good + #$query .= "(SELECT name, image_url, spirit_type, spirit_type AS url, spirit_type AS angebotsname, (SELECT MAX(procent) FROM " . $view . "_view) as procent, '' AS linktext FROM ". $view ."_view WHERE original_price > 19.98 AND shop != \"Drankdozijn\" ORDER BY procent DESC LIMIT 1)"; + $query .= "(SELECT name, image_url, spirit_type, spirit_type AS url, spirit_type AS angebotsname, (SELECT MAX(procent) FROM " . $view . "_view) as procent, '' AS linktext FROM ". $view ."_view WHERE original_price > 19.98 ORDER BY procent DESC LIMIT 1)"; + } + $query .= " UNION (SELECT 'Alle Angebote' as name, 'https://angebote.fuselkoenig.de/img/feed-icon-gray.jpg' as image_url, 'RSS-Feeds' as spirit_type, 'feeds' AS url, 'RSS-Feeds' AS angebotsname, (SELECT MAX(procent) FROM all_view) as procent, 'Zu den RSS-Feeds' AS linktext FROM all_view LIMIT 1)"; + + $data = DB::select($query); + + $count = DB::select("SELECT count(*) as count FROM all_view")[0]; + #$data = DB::table('whisky_view')->orderBy('procent', 'DESC')->limit(100)->simplePaginate(20); + + #$views[] = "rss-feeds"; + + return view('fk-index', ['data' => $data, 'views' => $views, 'hits' => $count]); + } +} diff --git a/site/resources/views/fk-index.blade.php b/site/resources/views/fk-index.blade.php new file mode 100644 index 0000000..029f00b --- /dev/null +++ b/site/resources/views/fk-index.blade.php @@ -0,0 +1,164 @@ +@extends('layouts.fk-base') + +@section('header') +Angebote +@endsection + +@section('content') +<div class="container"> +<main class="site-main" id="main"> + <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="archive taxonomy type current-item breadcrumb-item active" aria-current="page"><span property="itemListElement" typeof="ListItem"><span property="name">Angebote</span><meta property="position" content="2"></span></li> + </ol> + </nav> + </div> + +<header class="page-header"> + <div class="card taxonomy-card"> + <div class="card-body"> + <h1 class="card-title page-title">Finde jetzt den besten Deal!</h1> + <p class="lead my-3"> + Du suchst einen neuen Gin, Whisky oder Rum? <em>We've got you covered.</em> <br><br>Suche und finde jetzt dein Lieblingsdrink unter {{$hits->count }} verschiedenen Sonderangeboten. Täglich neue Schnäppchen im Bereich Spirituosen & Co.</p> + </div> + </div> +<!-- +--> +</header><!-- .page-header --> +<!-- + <div class="col-md-12 px-0 mb-2"> + <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-secondary">Suchen</button> + </form> + </div> +--> + + +<?php + +if ( empty($data) ) { + /* Keine Angebote */ +?> +<div class="alert alert-error"> + <h4 class="alert-heading">Keine Angebote</h4> + Momentan liegen keine Angebote vor. Probieren Sie es später noch einmal. +</div> +<?php + /* Ende Keine Angebote */ +} else { + /* Liste Angebote */ + + $count = 0; + + foreach( $data as $offer) { + + + if ($offer->spirit_type == "RSS-Feeds") { + #$offer->angebotsname = "dem " . $offer->angebotsname; + } else if ( !in_array(strtolower($offer->spirit_type), $views) ) { + $offer->url = "misc"; + $offer->angebotsname = "weiteren Angeboten"; + $offer->linktext = "Weitere günstige Angebote entdecken und bis zu " . $offer->procent . "% sparen."; + $offer->spirit_type = "Verschiedenes"; + } else { + $offer->url = lcfirst($offer->url) ; + $offer->angebotsname = "den " . $offer->angebotsname . "-Angeboten"; + $offer->linktext = "Finde den günstigsten ". $offer->spirit_type ." und spare bis zu " . $offer->procent . "%."; + } + + if ( $count % 2 == 0) { +?> + <div class="row mb-2"> +<?php + } + if ( "RSS-Feeds" != $offer->spirit_type ) { + +?> +<div class="col-md-6 col-sm-12" id="{{ $offer->name }}"> + <div class="card"> + <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->name}}</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> + <a href="/angebote/{{ $offer->url }}"> + <img src="{{ $offer->image_url }}" class="card-img img-fluid mx-auto d-block"> + </a> + </div> + <div class="col-md-8 px-10"> + <div class="card-header"> + <p><strong> + <a style="color: inherit;" href="/angebote/search?q={{ ucfirst($offer->spirit_type) }}" title="Alle {{ ucfirst($offer->spirit_type) }} anzeigen">{{ ucfirst($offer->spirit_type) }}</a> + </strong></p> + </div> + <div class="card-block card-body px-3"> + + <a class="text-dark card-link" href="/angebote/{{ $offer->url }}"> + <h3 class="card-title">Hier geht es zu {{ $offer->angebotsname }}</h3> + <p>{{ $offer->linktext }}</p> + </a> + <!--p class="card-text ">Bis zu <span class="bg-danger rounded off-badge off-badge-small">{{ $offer->procent}}%</span> sparen!</p--> + + </div> + </div> + + </div> + </div> +</div> + +<?php + } + if ( $count % 2 == 1) { +?> + </div> +<?php + } + + $count++; + +} + + // schließt den row div wieder bei ungerade anzahl + if ( $count % 2 == 1) { +?> + </div> +<?php + } +} +?> + + </div> +</main> + </div> +@endsection + + +@section('scripts') +<script> +$(".js-link-replacement").hover(function(){ + $(this).css( 'cursor', 'pointer' ); +}, +function(){ + $(this).css( 'cursor', 'inherit'); +}); + +$(".js-link-replacement").click(function(){ + window.location.href = $(this).data("href"); +}); +</script> +@endsection diff --git a/site/routes/web.php b/site/routes/web.php index d61d32b..11d921d 100644 --- a/site/routes/web.php +++ b/site/routes/web.php @@ -20,6 +20,7 @@ Route::get('/rum', 'OfferController@showPage')->name('rum'); Route::get('/misc', 'OfferController@showPage')->name('misc'); Route::get('/all', 'OfferController@showPage')->name('all'); +Route::get('/angebote/', 'FKIndexController@showPage')->name('whisky'); Route::get('/angebote/whisky', 'FKOfferController@showPage')->name('whisky'); Route::get('/angebote/wodka', 'FKOfferController@showPage')->name('wodka'); Route::get('/angebote/gin', 'FKOfferController@showPage')->name('gin'); |
