Card + Products
This commit is contained in:
parent
5ff57a21a7
commit
c129a44383
38 changed files with 4489 additions and 1789 deletions
2
.env
2
.env
|
|
@ -1,7 +1,7 @@
|
||||||
APP_NAME="mivita.care"
|
APP_NAME="mivita.care"
|
||||||
APP_ENV=local
|
APP_ENV=local
|
||||||
APP_DEBUG=true
|
APP_DEBUG=true
|
||||||
APP_KEY=base64:fXRSayOEVbHeLShA01AWFSzaGDrwn201yfdCigNhqTg=
|
APP_KEY=base64:HrWQ9AV3Zt2TU0iq1OeUUpTUaXwNUdh8xHmx7RXTif4=
|
||||||
APP_URL=http://mivita.local/login
|
APP_URL=http://mivita.local/login
|
||||||
|
|
||||||
LOG_CHANNEL=stack
|
LOG_CHANNEL=stack
|
||||||
|
|
|
||||||
1
.idea/mivita.care.iml
generated
1
.idea/mivita.care.iml
generated
|
|
@ -22,6 +22,7 @@
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/fideloper/proxy" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/fideloper/proxy" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/filp/whoops" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/filp/whoops" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/fzaninotto/faker" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/fzaninotto/faker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/gloudemans/shoppingcart" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
|
||||||
|
|
|
||||||
1
.idea/php.xml
generated
1
.idea/php.xml
generated
|
|
@ -99,6 +99,7 @@
|
||||||
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
|
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
|
||||||
<path value="$PROJECT_DIR$/vendor/cocur/slugify" />
|
<path value="$PROJECT_DIR$/vendor/cocur/slugify" />
|
||||||
<path value="$PROJECT_DIR$/vendor/cviebrock/eloquent-sluggable" />
|
<path value="$PROJECT_DIR$/vendor/cviebrock/eloquent-sluggable" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/gloudemans/shoppingcart" />
|
||||||
</include_path>
|
</include_path>
|
||||||
</component>
|
</component>
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="7.1" />
|
<component name="PhpProjectSharedConfiguration" php_language_level="7.1" />
|
||||||
|
|
|
||||||
993
.idea/workspace.xml
generated
993
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load diff
|
|
@ -5,13 +5,14 @@ namespace PHPSTORM_META {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PhpStorm Meta file, to provide autocomplete information for PhpStorm
|
* PhpStorm Meta file, to provide autocomplete information for PhpStorm
|
||||||
* Generated on 2018-11-14 17:57:01.
|
* Generated on 2018-11-22 15:17:36.
|
||||||
*
|
*
|
||||||
* @author Barry vd. Heuvel <barryvdh@gmail.com>
|
* @author Barry vd. Heuvel <barryvdh@gmail.com>
|
||||||
* @see https://github.com/barryvdh/laravel-ide-helper
|
* @see https://github.com/barryvdh/laravel-ide-helper
|
||||||
*/
|
*/
|
||||||
override(new \Illuminate\Contracts\Container\Container, map([
|
override(new \Illuminate\Contracts\Container\Container, map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -40,6 +41,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -164,6 +166,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\Illuminate\Contracts\Container\Container::make(0), map([
|
override(\Illuminate\Contracts\Container\Container::make(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -192,6 +195,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -316,6 +320,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\Illuminate\Contracts\Container\Container::makeWith(0), map([
|
override(\Illuminate\Contracts\Container\Container::makeWith(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -344,6 +349,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -468,6 +474,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\App::make(0), map([
|
override(\App::make(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -496,6 +503,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -620,6 +628,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\App::makeWith(0), map([
|
override(\App::makeWith(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -648,6 +657,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -772,6 +782,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\app(0), map([
|
override(\app(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -800,6 +811,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
@ -924,6 +936,7 @@ namespace PHPSTORM_META {
|
||||||
]));
|
]));
|
||||||
override(\resolve(0), map([
|
override(\resolve(0), map([
|
||||||
'' => '@',
|
'' => '@',
|
||||||
|
'App\Services\Yard' => \App\Services\Yard::class,
|
||||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||||
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class,
|
||||||
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class,
|
||||||
|
|
@ -952,6 +965,7 @@ namespace PHPSTORM_META {
|
||||||
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class,
|
||||||
'cache' => \Illuminate\Cache\CacheManager::class,
|
'cache' => \Illuminate\Cache\CacheManager::class,
|
||||||
'cache.store' => \Illuminate\Cache\Repository::class,
|
'cache.store' => \Illuminate\Cache\Repository::class,
|
||||||
|
'cart' => \Gloudemans\Shoppingcart\Cart::class,
|
||||||
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
'command.app.name' => \Illuminate\Foundation\Console\AppNameCommand::class,
|
||||||
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
'command.auth.make' => \Illuminate\Auth\Console\AuthMakeCommand::class,
|
||||||
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
'command.auth.resets.clear' => \Illuminate\Auth\Console\ClearResetsCommand::class,
|
||||||
|
|
|
||||||
546
_ide_helper.php
546
_ide_helper.php
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A helper file for Laravel 5, to provide autocomplete information to your IDE
|
* A helper file for Laravel 5, to provide autocomplete information to your IDE
|
||||||
* Generated for Laravel 5.6.39 on 2018-11-14 17:57:01.
|
* Generated for Laravel 5.6.39 on 2018-11-22 15:17:35.
|
||||||
*
|
*
|
||||||
* This file should not be included in your code, only analyzed by your IDE!
|
* This file should not be included in your code, only analyzed by your IDE!
|
||||||
*
|
*
|
||||||
|
|
@ -17404,6 +17404,546 @@ namespace Yajra\DataTables\Facades {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace App\Services\Facade {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class Yard {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param $shipping
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function setShipping($shipping)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::setShipping($shipping);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param null $decimals
|
||||||
|
* @param null $decimalPoint
|
||||||
|
* @param null $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function shipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::shipping($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function totalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::totalWithShipping($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total tax of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function taxWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::taxWithShipping($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the subtotal (total - tax) of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function subtotalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::subtotalWithShipping($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function cardCalcSubTotal($price)
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::cardCalcSubTotal($price);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current cart instance.
|
||||||
|
*
|
||||||
|
* @param string|null $instance
|
||||||
|
* @return \Gloudemans\Shoppingcart\Cart
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function instance($instance = null)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::instance($instance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current cart instance.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function currentInstance()
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::currentInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an item to the cart.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $name
|
||||||
|
* @param int|float $qty
|
||||||
|
* @param float $price
|
||||||
|
* @param array $options
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function add($id, $name = null, $qty = null, $price = null, $options = array())
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::add($id, $name, $qty, $price, $options);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the cart item with the given rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param mixed $qty
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function update($rowId, $qty)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::update($rowId, $qty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the cart item with the given rowId from the cart.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function remove($rowId)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::remove($rowId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a cart item from the cart by its rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function get($rowId)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::get($rowId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the current cart instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function destroy()
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the content of the cart.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function content()
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::content();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the number of items in the cart.
|
||||||
|
*
|
||||||
|
* @return int|float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function count()
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::count();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total price of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function total($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::total($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total tax of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function tax($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::tax($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the subtotal (total - tax) of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function subtotal($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::subtotal($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search the cart content for a cart item matching the given search closure.
|
||||||
|
*
|
||||||
|
* @param \Closure $search
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function search($search)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
return \App\Services\Yard::search($search);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Associate the cart item with the given rowId with the given model.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param mixed $model
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function associate($rowId, $model)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::associate($rowId, $model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the tax rate for the cart item with the given rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param int|float $taxRate
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function setTax($rowId, $taxRate)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::setTax($rowId, $taxRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store an the current instance of the cart.
|
||||||
|
*
|
||||||
|
* @param mixed $identifier
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function store($identifier)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::store($identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the cart with the given identifier.
|
||||||
|
*
|
||||||
|
* @param mixed $identifier
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function restore($identifier)
|
||||||
|
{
|
||||||
|
//Method inherited from \Gloudemans\Shoppingcart\Cart
|
||||||
|
\App\Services\Yard::restore($identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Gloudemans\Shoppingcart\Facades {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class Cart {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current cart instance.
|
||||||
|
*
|
||||||
|
* @param string|null $instance
|
||||||
|
* @return \Gloudemans\Shoppingcart\Cart
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function instance($instance = null)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::instance($instance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current cart instance.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function currentInstance()
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::currentInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an item to the cart.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $name
|
||||||
|
* @param int|float $qty
|
||||||
|
* @param float $price
|
||||||
|
* @param array $options
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function add($id, $name = null, $qty = null, $price = null, $options = array())
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::add($id, $name, $qty, $price, $options);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the cart item with the given rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param mixed $qty
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function update($rowId, $qty)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::update($rowId, $qty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the cart item with the given rowId from the cart.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function remove($rowId)
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::remove($rowId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a cart item from the cart by its rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @return \Gloudemans\Shoppingcart\CartItem
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function get($rowId)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::get($rowId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the current cart instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function destroy()
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the content of the cart.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function content()
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::content();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the number of items in the cart.
|
||||||
|
*
|
||||||
|
* @return int|float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function count()
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::count();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total price of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function total($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::total($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total tax of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function tax($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::tax($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the subtotal (total - tax) of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function subtotal($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::subtotal($decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search the cart content for a cart item matching the given search closure.
|
||||||
|
*
|
||||||
|
* @param \Closure $search
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function search($search)
|
||||||
|
{
|
||||||
|
return \Gloudemans\Shoppingcart\Cart::search($search);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Associate the cart item with the given rowId with the given model.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param mixed $model
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function associate($rowId, $model)
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::associate($rowId, $model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the tax rate for the cart item with the given rowId.
|
||||||
|
*
|
||||||
|
* @param string $rowId
|
||||||
|
* @param int|float $taxRate
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function setTax($rowId, $taxRate)
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::setTax($rowId, $taxRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store an the current instance of the cart.
|
||||||
|
*
|
||||||
|
* @param mixed $identifier
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function store($identifier)
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::store($identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the cart with the given identifier.
|
||||||
|
*
|
||||||
|
* @param mixed $identifier
|
||||||
|
* @return void
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
public static function restore($identifier)
|
||||||
|
{
|
||||||
|
\Gloudemans\Shoppingcart\Cart::restore($identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
namespace Laracasts\Flash {
|
namespace Laracasts\Flash {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -19876,6 +20416,10 @@ namespace {
|
||||||
|
|
||||||
class DataTables extends \Yajra\DataTables\Facades\DataTables {}
|
class DataTables extends \Yajra\DataTables\Facades\DataTables {}
|
||||||
|
|
||||||
|
class Yard extends \App\Services\Facade\Yard {}
|
||||||
|
|
||||||
|
class Cart extends \Gloudemans\Shoppingcart\Facades\Cart {}
|
||||||
|
|
||||||
class Flash extends \Laracasts\Flash\Flash {}
|
class Flash extends \Laracasts\Flash\Flash {}
|
||||||
|
|
||||||
class Html extends \Collective\Html\HtmlFacade {}
|
class Html extends \Collective\Html\HtmlFacade {}
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,10 @@ namespace App\Models{
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereTransName($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereTransName($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ProductCategory[] $product_categories
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Category extends \Eloquent {}
|
class Category extends \Eloquent {}
|
||||||
}
|
}
|
||||||
|
|
@ -172,6 +176,9 @@ namespace App\Models{
|
||||||
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withTrashed()
|
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withTrashed()
|
||||||
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withoutTrashed()
|
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withoutTrashed()
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Product extends \Eloquent {}
|
class Product extends \Eloquent {}
|
||||||
}
|
}
|
||||||
|
|
@ -229,6 +236,9 @@ namespace App\Models{
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSize($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSize($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class ProductImage extends \Eloquent {}
|
class ProductImage extends \Eloquent {}
|
||||||
}
|
}
|
||||||
|
|
@ -338,6 +348,8 @@ namespace App\Models{
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereTransName($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereTransName($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Attribute extends \Eloquent {}
|
class Attribute extends \Eloquent {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use App\Http\Controllers\Api\KasController;
|
||||||
use App\Models\Account;
|
use App\Models\Account;
|
||||||
use App\Repositories\UserRepository;
|
use App\Repositories\UserRepository;
|
||||||
use App\User;
|
use App\User;
|
||||||
|
|
@ -30,6 +31,23 @@ class AdminUserController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
$kas = new KasController();
|
||||||
|
$pra = array(
|
||||||
|
'subdomain_name' => 'test',
|
||||||
|
'domain_name' => 'mivita.care',
|
||||||
|
'subdomain_path' => '/mein.mivita.care/public/',
|
||||||
|
//'php_version' => '7.1',
|
||||||
|
//'ssl_proxy' => 'Y',
|
||||||
|
//'redirect_status' => 0
|
||||||
|
|
||||||
|
|
||||||
|
);
|
||||||
|
//add_subdomain
|
||||||
|
$req = $kas->action('get_subdomains');
|
||||||
|
//"is_active"]=> string(1) "Y" ["in_progress"
|
||||||
|
|
||||||
|
var_dump($req);
|
||||||
|
die();
|
||||||
$data = [
|
$data = [
|
||||||
//'values' => User::where('admin', 0)->get(),
|
//'values' => User::where('admin', 0)->get(),
|
||||||
'values' => User::where('confirmation_code_remider', '!=', 2)->get(),
|
'values' => User::where('confirmation_code_remider', '!=', 2)->get(),
|
||||||
|
|
|
||||||
89
app/Http/Controllers/Api/KasController.php
Executable file
89
app/Http/Controllers/Api/KasController.php
Executable file
|
|
@ -0,0 +1,89 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Input;
|
||||||
|
use \SoapClient;
|
||||||
|
|
||||||
|
class KasController extends Controller
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
// Logindaten
|
||||||
|
private $kas_user = 'w017f6e4'; // KAS-Logon
|
||||||
|
private $kas_pass = '7mMJUF4YSVWNpp39'; // KAS-Passwort
|
||||||
|
private $session_lifetime = 600; // Gültigkeit des Tokens in Sek. bis zur neuen Authentifizierung
|
||||||
|
private $session_update_lifetime = 'Y'; // bei N läuft die Session nach <$session_lifetime> Sekunden ab, bei Y verlängert sich die Session mit jeder Benutzung
|
||||||
|
private $CredentialToken = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->login();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function action($func, $para = array()){
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$Params = array(); // Parameter für die API-Funktion
|
||||||
|
$SoapRequest = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl');
|
||||||
|
$req = $SoapRequest->KasApi(json_encode(array(
|
||||||
|
'KasUser' => $this->kas_user, // KAS-User
|
||||||
|
'KasAuthType' => 'session', // Auth per Sessiontoken
|
||||||
|
'KasAuthData' => $this->CredentialToken, // Auth-Token
|
||||||
|
'KasRequestType' => $func, // API-Funktion
|
||||||
|
'KasRequestParams' => $para // Parameter an die API-Funktion
|
||||||
|
)));
|
||||||
|
if(isset($req['Response']['ReturnString']) && $req['Response']['ReturnString'] == "TRUE"){
|
||||||
|
return $req['Response']['ReturnInfo'];
|
||||||
|
}
|
||||||
|
return $req;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fehler abfangen und ausgeben
|
||||||
|
catch (SoapFault $fault)
|
||||||
|
{
|
||||||
|
trigger_error(" Fehlernummer: {$fault->faultcode},
|
||||||
|
Fehlermeldung: {$fault->faultstring},
|
||||||
|
Verursacher: {$fault->faultactor},
|
||||||
|
Details: {$fault->detail}", E_USER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function login(){
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl');
|
||||||
|
$this->CredentialToken = $SoapLogon->KasAuth(json_encode(array(
|
||||||
|
'KasUser' => $this->kas_user,
|
||||||
|
'KasAuthType' => 'sha1',
|
||||||
|
'KasPassword' => sha1($this->kas_pass),
|
||||||
|
'SessionLifeTime' => $this->session_lifetime,
|
||||||
|
'SessionUpdateLifeTime' => $this->session_update_lifetime
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fehler abfangen und ausgeben
|
||||||
|
catch (SoapFault $fault)
|
||||||
|
{
|
||||||
|
trigger_error("Fehlernummer: {$fault->faultcode},
|
||||||
|
Fehlermeldung: {$fault->faultstring},
|
||||||
|
Verursacher: {$fault->faultactor},
|
||||||
|
Details: {$fault->detail}", E_USER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
101
app/Http/Controllers/Web/CardController.php
Executable file
101
app/Http/Controllers/Web/CardController.php
Executable file
|
|
@ -0,0 +1,101 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Web;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Product;
|
||||||
|
use Yard;
|
||||||
|
use Input;
|
||||||
|
|
||||||
|
class CardController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Cart::instance('wishlist')->add('sdjk922', 'Product 2', 1, 19.95, ['size' => 'medium']);
|
||||||
|
public function addToCardGet($id, $quantity = 1, $product_slug = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
$product = Product::find($id);
|
||||||
|
if($product){
|
||||||
|
$image = "";
|
||||||
|
if($product->images->count()){
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
Yard::instance('shopping')->add($product->id, $product->getLang('name'), $quantity, $product->price, ['image' => $image, 'slug' => $product_slug]);
|
||||||
|
}
|
||||||
|
return back();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addToCardPost($id)
|
||||||
|
{
|
||||||
|
|
||||||
|
$product = Product::find($id);
|
||||||
|
|
||||||
|
if($product){
|
||||||
|
$image = "";
|
||||||
|
if($product->images->count()){
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
$quantity = Input::get('quantity') ? Input::get('quantity') : 1;
|
||||||
|
Yard::instance('shopping')->add($product->id, $product->getLang('name'), $quantity, $product->price, ['image' => $image, 'slug' => $product->slug]);
|
||||||
|
}
|
||||||
|
return back();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function showCard(){
|
||||||
|
return view('web.templates.card');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateCard(){
|
||||||
|
|
||||||
|
$data = Input::all();
|
||||||
|
if(isset($data['quantity'])){
|
||||||
|
foreach ($data['quantity'] as $rowId => $qty){
|
||||||
|
Yard::instance('shopping')->update($rowId, $qty);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$this->deleteCard();
|
||||||
|
}
|
||||||
|
return back();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function checkoutCard(){
|
||||||
|
return view('web.templates.checkout');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function checkoutFinalCard(){
|
||||||
|
return view('web.templates.checkout-final');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function removeCard($rowId){
|
||||||
|
|
||||||
|
Yard::instance('shopping')->remove($rowId);
|
||||||
|
return back();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteCard(){
|
||||||
|
|
||||||
|
Yard::instance('shopping')->destroy();
|
||||||
|
return back();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -6,8 +6,6 @@ namespace App\Http\Controllers\Web;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Category;
|
use App\Models\Category;
|
||||||
use App\Models\Product;
|
use App\Models\Product;
|
||||||
use Carbon\Carbon;
|
|
||||||
use Request;
|
|
||||||
use Input;
|
use Input;
|
||||||
|
|
||||||
class SiteController extends Controller
|
class SiteController extends Controller
|
||||||
|
|
@ -31,14 +29,14 @@ class SiteController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
if($product_slug){
|
if($product_slug){
|
||||||
|
|
||||||
$category = Category::where('slug', $subsite)->where('active', true)->first();
|
$category = Category::where('slug', $subsite)->where('active', true)->first();
|
||||||
$product = Product::where('slug', $product_slug)->where('active', true)->first();
|
$product = Product::where('slug', $product_slug)->where('active', true)->first();
|
||||||
if ($category && $product) {
|
if ($category && $product) {
|
||||||
|
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'subsite' => $subsite,
|
'subsite' => $subsite,
|
||||||
'categories' => Category::where('active', true)->orderBy('pos', 'DESC')->get(),
|
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'p_count' => Product::where('active', true)->count(),
|
'p_count' => Product::where('active', true)->count(),
|
||||||
|
|
||||||
|
|
@ -54,7 +52,7 @@ class SiteController extends Controller
|
||||||
if ($category) {
|
if ($category) {
|
||||||
$data = [
|
$data = [
|
||||||
'subsite' => $subsite,
|
'subsite' => $subsite,
|
||||||
'categories' => Category::where('active', true)->orderBy('pos', 'DESC')->get(),
|
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
|
||||||
'products' => Product::whereHas('categories', function ($query) use ($category) {
|
'products' => Product::whereHas('categories', function ($query) use ($category) {
|
||||||
$query->where('category_id', '=', $category->id);
|
$query->where('category_id', '=', $category->id);
|
||||||
|
|
||||||
|
|
@ -68,8 +66,8 @@ class SiteController extends Controller
|
||||||
}
|
}
|
||||||
$data = [
|
$data = [
|
||||||
'subsite' => 'alle-produkte',
|
'subsite' => 'alle-produkte',
|
||||||
'categories' => Category::where('active', true)->orderBy('pos', 'DESC')->get(),
|
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
|
||||||
'products' => Product::where('active', true)->orderBy('pos', 'DESC')->get(),
|
'products' => Product::where('active', true)->orderBy('pos', 'ASC')->get(),
|
||||||
'p_count' => Product::where('active', true)->count(),
|
'p_count' => Product::where('active', true)->count(),
|
||||||
];
|
];
|
||||||
return view('web.templates.'.$site, $data);
|
return view('web.templates.'.$site, $data);
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereTransName($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereTransName($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Attribute whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Attribute extends Model
|
class Attribute extends Model
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,10 @@ use Cviebrock\EloquentSluggable\Sluggable;
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereTransName($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereTransName($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ProductCategory[] $product_categories
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Category whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Category extends Model
|
class Category extends Model
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,9 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withTrashed()
|
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withTrashed()
|
||||||
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withoutTrashed()
|
* @method static \Illuminate\Database\Query\Builder|\App\Models\Product withoutTrashed()
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class Product extends Model
|
class Product extends Model
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,9 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSize($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSize($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereUpdatedAt($value)
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
|
* @property string|null $slug
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage findSimilarSlugs($attribute, $config, $slug)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ProductImage whereSlug($value)
|
||||||
*/
|
*/
|
||||||
class ProductImage extends Model
|
class ProductImage extends Model
|
||||||
{
|
{
|
||||||
|
|
|
||||||
30
app/Providers/YardServiceProvider.php
Executable file
30
app/Providers/YardServiceProvider.php
Executable file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use App\Services\Yard;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class YardServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
$this->app->singleton(Yard::class, function ($app) {
|
||||||
|
return new Yard($app['session'], $app['events']);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
19
app/Services/Facade/Yard.php
Normal file
19
app/Services/Facade/Yard.php
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services\Facade;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Facade;
|
||||||
|
|
||||||
|
class Yard extends Facade {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the registered name of the component.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected static function getFacadeAccessor()
|
||||||
|
{
|
||||||
|
return \App\Services\Yard::class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,10 +3,6 @@ namespace App\Services;
|
||||||
|
|
||||||
use App\Models\Attribute;
|
use App\Models\Attribute;
|
||||||
use App\Models\Category;
|
use App\Models\Category;
|
||||||
use App\Models\Country;
|
|
||||||
use App\Models\IndustrySector;
|
|
||||||
use App\Models\Interest;
|
|
||||||
use Form;
|
|
||||||
|
|
||||||
class HTMLHelper
|
class HTMLHelper
|
||||||
{
|
{
|
||||||
|
|
@ -138,7 +134,6 @@ class HTMLHelper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* public static function getCompanyOptions($company){
|
/* public static function getCompanyOptions($company){
|
||||||
$options = array(1 => __('business'), 0 => __('private'), );
|
$options = array(1 => __('business'), 0 => __('private'), );
|
||||||
$ret = "";
|
$ret = "";
|
||||||
|
|
|
||||||
167
app/Services/Yard.php
Normal file
167
app/Services/Yard.php
Normal file
|
|
@ -0,0 +1,167 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
use \Gloudemans\Shoppingcart\Cart;
|
||||||
|
use Gloudemans\Shoppingcart\CartItem;
|
||||||
|
use Illuminate\Session\SessionManager;
|
||||||
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
|
|
||||||
|
class Yard extends Cart
|
||||||
|
{
|
||||||
|
|
||||||
|
private $shipping = 0;
|
||||||
|
|
||||||
|
public function __construct(SessionManager $session, Dispatcher $events)
|
||||||
|
{
|
||||||
|
parent::__construct($session, $events);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function getTaxRate()
|
||||||
|
{
|
||||||
|
return config('cart.tax');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $shipping
|
||||||
|
*/
|
||||||
|
public function setShipping($shipping)
|
||||||
|
{
|
||||||
|
$this->shipping = floatval($shipping); ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param null $decimals
|
||||||
|
* @param null $decimalPoint
|
||||||
|
* @param null $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function shipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return $this->numberFormat($this->shipping, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
private function shippingTax($taxRate = -19){
|
||||||
|
return ($this->shipping * ($taxRate / 100));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function shippingSub($taxRate){
|
||||||
|
return ($this->shipping + $this->shippingTax($taxRate));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function subtotalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$taxRate =config('cart.tax');
|
||||||
|
$total = floatval($this->total(2, '.', '')) + $this->shipping;
|
||||||
|
$totalTax = $total/ (100 + $taxRate) * $taxRate;
|
||||||
|
return $this->numberFormat(($total - $totalTax), $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function taxWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$taxRate =config('cart.tax');
|
||||||
|
$total = floatval($this->total(2, '.', '')) + $this->shipping;
|
||||||
|
$totalTax = $total/ (100 + $taxRate) * $taxRate;
|
||||||
|
return $this->numberFormat($totalTax, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function totalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$total = floatval($this->total(2, '.', '')) + $this->shipping;
|
||||||
|
return $this->numberFormat($total, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total price of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function total($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$content = $this->getContent();
|
||||||
|
$total = $content->reduce(function ($total, CartItem $cartItem) {
|
||||||
|
return $total + ($cartItem->qty * $cartItem->price);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return $this->numberFormat($total, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total tax of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public function tax($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$content = $this->getContent();
|
||||||
|
|
||||||
|
$tax = $content->reduce(function ($tax, CartItem $cartItem) {
|
||||||
|
$priceTax = $cartItem->price / (100 + $cartItem->taxRate) * $cartItem->taxRate;
|
||||||
|
return $tax + ($cartItem->qty * $priceTax);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return $this->numberFormat($tax, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the subtotal (total - tax) of the items in the cart.
|
||||||
|
*
|
||||||
|
* @param int $decimals
|
||||||
|
* @param string $decimalPoint
|
||||||
|
* @param string $thousandSeperator
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public function subtotal($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
$content = $this->getContent();
|
||||||
|
|
||||||
|
$subTotal = $content->reduce(function ($subTotal, CartItem $cartItem) {
|
||||||
|
$priceTax = $cartItem->price / (100 + $cartItem->taxRate) * $cartItem->taxRate;
|
||||||
|
return $subTotal + ($cartItem->qty * ($cartItem->price - $priceTax));
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return $this->numberFormat($subTotal, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Formated number
|
||||||
|
*
|
||||||
|
* @param $value
|
||||||
|
* @param $decimals
|
||||||
|
* @param $decimalPoint
|
||||||
|
* @param $thousandSeperator
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function numberFormat($value, $decimals, $decimalPoint, $thousandSeperator)
|
||||||
|
{
|
||||||
|
if(is_null($decimals)){
|
||||||
|
$decimals = is_null(config('cart.format.decimals')) ? 2 : config('cart.format.decimals');
|
||||||
|
}
|
||||||
|
if(is_null($decimalPoint)){
|
||||||
|
$decimalPoint = is_null(config('cart.format.decimal_point')) ? '.' : config('cart.format.decimal_point');
|
||||||
|
}
|
||||||
|
if(is_null($thousandSeperator)){
|
||||||
|
$thousandSeperator = is_null(config('cart.format.thousand_seperator')) ? ',' : config('cart.format.thousand_seperator');
|
||||||
|
}
|
||||||
|
|
||||||
|
return number_format($value, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
bootstrap/cache/packages.php
vendored
11
bootstrap/cache/packages.php
vendored
|
|
@ -20,6 +20,17 @@
|
||||||
0 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
0 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
'gloudemans/shoppingcart' =>
|
||||||
|
array (
|
||||||
|
'providers' =>
|
||||||
|
array (
|
||||||
|
0 => 'Gloudemans\\Shoppingcart\\ShoppingcartServiceProvider',
|
||||||
|
),
|
||||||
|
'aliases' =>
|
||||||
|
array (
|
||||||
|
'Cart' => 'Gloudemans\\Shoppingcart\\Facades\\Cart',
|
||||||
|
),
|
||||||
|
),
|
||||||
'intervention/image' =>
|
'intervention/image' =>
|
||||||
array (
|
array (
|
||||||
'providers' =>
|
'providers' =>
|
||||||
|
|
|
||||||
68
bootstrap/cache/services.php
vendored
68
bootstrap/cache/services.php
vendored
|
|
@ -26,26 +26,28 @@
|
||||||
22 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider',
|
22 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider',
|
||||||
23 => 'Cviebrock\\EloquentSluggable\\ServiceProvider',
|
23 => 'Cviebrock\\EloquentSluggable\\ServiceProvider',
|
||||||
24 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
24 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||||
25 => 'Intervention\\Image\\ImageServiceProvider',
|
25 => 'Gloudemans\\Shoppingcart\\ShoppingcartServiceProvider',
|
||||||
26 => 'Jenssegers\\Date\\DateServiceProvider',
|
26 => 'Intervention\\Image\\ImageServiceProvider',
|
||||||
27 => 'Laracasts\\Flash\\FlashServiceProvider',
|
27 => 'Jenssegers\\Date\\DateServiceProvider',
|
||||||
28 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
28 => 'Laracasts\\Flash\\FlashServiceProvider',
|
||||||
29 => 'Collective\\Html\\HtmlServiceProvider',
|
29 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
||||||
30 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
30 => 'Collective\\Html\\HtmlServiceProvider',
|
||||||
31 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
31 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||||
32 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
32 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
||||||
33 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
33 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
34 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
34 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
35 => 'App\\Providers\\AppServiceProvider',
|
35 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
||||||
36 => 'App\\Providers\\AuthServiceProvider',
|
36 => 'App\\Providers\\AppServiceProvider',
|
||||||
37 => 'App\\Providers\\EventServiceProvider',
|
37 => 'App\\Providers\\AuthServiceProvider',
|
||||||
38 => 'App\\Providers\\RouteServiceProvider',
|
38 => 'App\\Providers\\EventServiceProvider',
|
||||||
39 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider',
|
39 => 'App\\Providers\\RouteServiceProvider',
|
||||||
40 => 'Jenssegers\\Date\\DateServiceProvider',
|
40 => 'Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider',
|
||||||
41 => 'Collective\\Html\\HtmlServiceProvider',
|
41 => 'Jenssegers\\Date\\DateServiceProvider',
|
||||||
42 => 'Intervention\\Image\\ImageServiceProvider',
|
42 => 'Collective\\Html\\HtmlServiceProvider',
|
||||||
43 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
43 => 'Intervention\\Image\\ImageServiceProvider',
|
||||||
44 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
44 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||||
|
45 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
|
46 => 'App\\Providers\\YardServiceProvider',
|
||||||
),
|
),
|
||||||
'eager' =>
|
'eager' =>
|
||||||
array (
|
array (
|
||||||
|
|
@ -61,20 +63,22 @@
|
||||||
9 => 'Illuminate\\View\\ViewServiceProvider',
|
9 => 'Illuminate\\View\\ViewServiceProvider',
|
||||||
10 => 'Cviebrock\\EloquentSluggable\\ServiceProvider',
|
10 => 'Cviebrock\\EloquentSluggable\\ServiceProvider',
|
||||||
11 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
11 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||||
12 => 'Intervention\\Image\\ImageServiceProvider',
|
12 => 'Gloudemans\\Shoppingcart\\ShoppingcartServiceProvider',
|
||||||
13 => 'Jenssegers\\Date\\DateServiceProvider',
|
13 => 'Intervention\\Image\\ImageServiceProvider',
|
||||||
14 => 'Laracasts\\Flash\\FlashServiceProvider',
|
14 => 'Jenssegers\\Date\\DateServiceProvider',
|
||||||
15 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
15 => 'Laracasts\\Flash\\FlashServiceProvider',
|
||||||
16 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
16 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||||
17 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
17 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
18 => 'App\\Providers\\AppServiceProvider',
|
18 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
19 => 'App\\Providers\\AuthServiceProvider',
|
19 => 'App\\Providers\\AppServiceProvider',
|
||||||
20 => 'App\\Providers\\EventServiceProvider',
|
20 => 'App\\Providers\\AuthServiceProvider',
|
||||||
21 => 'App\\Providers\\RouteServiceProvider',
|
21 => 'App\\Providers\\EventServiceProvider',
|
||||||
22 => 'Jenssegers\\Date\\DateServiceProvider',
|
22 => 'App\\Providers\\RouteServiceProvider',
|
||||||
23 => 'Intervention\\Image\\ImageServiceProvider',
|
23 => 'Jenssegers\\Date\\DateServiceProvider',
|
||||||
24 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
24 => 'Intervention\\Image\\ImageServiceProvider',
|
||||||
25 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
25 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||||
|
26 => 'Yajra\\DataTables\\DataTablesServiceProvider',
|
||||||
|
27 => 'App\\Providers\\YardServiceProvider',
|
||||||
),
|
),
|
||||||
'deferred' =>
|
'deferred' =>
|
||||||
array (
|
array (
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"cviebrock/eloquent-sluggable": "^4.5",
|
"cviebrock/eloquent-sluggable": "^4.5",
|
||||||
"doctrine/dbal": "^2.8",
|
"doctrine/dbal": "^2.8",
|
||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
|
"gloudemans/shoppingcart": "^2.5",
|
||||||
"guzzlehttp/guzzle": "6.3.3",
|
"guzzlehttp/guzzle": "6.3.3",
|
||||||
"intervention/image": "2.4.2",
|
"intervention/image": "2.4.2",
|
||||||
"jenssegers/date": "^3.4",
|
"jenssegers/date": "^3.4",
|
||||||
|
|
|
||||||
62
composer.lock
generated
62
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "7f8a962781fe580335d945e8225b01a5",
|
"content-hash": "412db16529e0d589f01459505bfbbef2",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "cocur/slugify",
|
"name": "cocur/slugify",
|
||||||
|
|
@ -722,6 +722,66 @@
|
||||||
],
|
],
|
||||||
"time": "2018-02-07T20:20:57+00:00"
|
"time": "2018-02-07T20:20:57+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "gloudemans/shoppingcart",
|
||||||
|
"version": "2.5.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Crinsane/LaravelShoppingcart.git",
|
||||||
|
"reference": "7ff157b7e1ef10d27cd2759d5151aae2cc6b1b9a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Crinsane/LaravelShoppingcart/zipball/7ff157b7e1ef10d27cd2759d5151aae2cc6b1b9a",
|
||||||
|
"reference": "7ff157b7e1ef10d27cd2759d5151aae2cc6b1b9a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"illuminate/events": "5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
|
||||||
|
"illuminate/session": "5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
|
||||||
|
"illuminate/support": "5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "~0.9.0",
|
||||||
|
"orchestra/testbench": "~3.1",
|
||||||
|
"phpunit/phpunit": "~5.0|~6.0|~7.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"gloudemans/notify": "Simple flash notifications for Laravel"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Gloudemans\\Shoppingcart\\ShoppingcartServiceProvider"
|
||||||
|
],
|
||||||
|
"aliases": {
|
||||||
|
"Cart": "Gloudemans\\Shoppingcart\\Facades\\Cart"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Gloudemans\\Shoppingcart\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Rob Gloudemans",
|
||||||
|
"email": "info@robgloudemans.nl"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Laravel Shoppingcart",
|
||||||
|
"keywords": [
|
||||||
|
"laravel",
|
||||||
|
"shoppingcart"
|
||||||
|
],
|
||||||
|
"time": "2018-02-17T09:34:00+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/guzzle",
|
"name": "guzzlehttp/guzzle",
|
||||||
"version": "6.3.3",
|
"version": "6.3.3",
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,8 @@ return [
|
||||||
Intervention\Image\ImageServiceProvider::class,
|
Intervention\Image\ImageServiceProvider::class,
|
||||||
Maatwebsite\Excel\ExcelServiceProvider::class,
|
Maatwebsite\Excel\ExcelServiceProvider::class,
|
||||||
Yajra\DataTables\DataTablesServiceProvider::class,
|
Yajra\DataTables\DataTablesServiceProvider::class,
|
||||||
|
App\Providers\YardServiceProvider::class
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
@ -226,7 +228,7 @@ return [
|
||||||
'Util' => App\Services\Util::class,
|
'Util' => App\Services\Util::class,
|
||||||
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
|
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
|
||||||
'DataTables' => Yajra\DataTables\Facades\DataTables::class,
|
'DataTables' => Yajra\DataTables\Facades\DataTables::class,
|
||||||
|
'Yard' => App\Services\Facade\Yard::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
||||||
67
config/cart.php
Normal file
67
config/cart.php
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default tax rate
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This default tax rate will be used when you make a class implement the
|
||||||
|
| Taxable interface and use the HasTax trait.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'tax' => 19,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Shoppingcart database settings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you can set the connection that the shoppingcart should use when
|
||||||
|
| storing and restoring a cart.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
|
||||||
|
'connection' => 'mysql',
|
||||||
|
|
||||||
|
'table' => 'shoppingcart',
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Destroy the cart on user logout
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When this option is set to 'true' the cart will automatically
|
||||||
|
| destroy all cart instances when the user logs out.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'destroy_on_logout' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default number format
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This defaults will be used for the formated numbers if you don't
|
||||||
|
| set them in the method call.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'format' => [
|
||||||
|
|
||||||
|
'decimals' => 2,
|
||||||
|
|
||||||
|
'decimal_point' => ',',
|
||||||
|
|
||||||
|
'thousand_seperator' => '.'
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
|
|
@ -81,6 +81,7 @@ return array(
|
||||||
'extra' => array(
|
'extra' => array(
|
||||||
'Eloquent' => array('Illuminate\Database\Eloquent\Builder', 'Illuminate\Database\Query\Builder'),
|
'Eloquent' => array('Illuminate\Database\Eloquent\Builder', 'Illuminate\Database\Query\Builder'),
|
||||||
'Session' => array('Illuminate\Session\Store'),
|
'Session' => array('Illuminate\Session\Store'),
|
||||||
|
'Yard' => array('App\Services\Yard'),
|
||||||
),
|
),
|
||||||
|
|
||||||
'magic' => array(
|
'magic' => array(
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateShoppingcartTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create(config('cart.database.table'), function (Blueprint $table) {
|
||||||
|
$table->string('identifier');
|
||||||
|
$table->string('instance');
|
||||||
|
$table->longText('content');
|
||||||
|
$table->nullableTimestamps();
|
||||||
|
|
||||||
|
$table->primary(['identifier', 'instance']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::drop(config('cart.database.table'));
|
||||||
|
}
|
||||||
|
}
|
||||||
311
public/css/custom-forms-v2.css
Executable file
311
public/css/custom-forms-v2.css
Executable file
|
|
@ -0,0 +1,311 @@
|
||||||
|
/** CUSTOM FORM ELEMENTS [OPTIONAL]
|
||||||
|
|
||||||
|
This CSS file must be included after all other CSS's.
|
||||||
|
Nothing special - will only rewrite the form elements (input, textarea, select2, buttons)
|
||||||
|
to look more clean, professional.
|
||||||
|
**************************************************************** **/
|
||||||
|
|
||||||
|
|
||||||
|
/** CUSTOM : FORM ELEMENTS
|
||||||
|
*************************** **/
|
||||||
|
.btn:not(.btn-xs):not(.btn-sm):not(.btn-md):not(.btn-lg):not(.btn-xlg):not(.btn-reveal):not(.btn-3d):not(.btn-social):not(.btn-v1) {
|
||||||
|
height:auto;
|
||||||
|
padding: 14px 20px;
|
||||||
|
}
|
||||||
|
#footer .btn {
|
||||||
|
padding: 6px 12px;
|
||||||
|
}
|
||||||
|
#footer.footer-light input {
|
||||||
|
color: #121212 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
input.form-control,
|
||||||
|
select.form-control,
|
||||||
|
textarea.form-control {
|
||||||
|
height: auto;
|
||||||
|
color: #121212;
|
||||||
|
background-color: #fff;
|
||||||
|
border-color: #dee5ed;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
border-width:1px;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 15px;
|
||||||
|
padding: 14px 20px;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
outline: none;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
|
||||||
|
-webkit-transition: all .300s;
|
||||||
|
-moz-transition: all .300s;
|
||||||
|
-o-transition: all .300s;
|
||||||
|
transition: all .300s;
|
||||||
|
}
|
||||||
|
form .row input.form-control,
|
||||||
|
form .row select.form-control,
|
||||||
|
form .row textarea.form-control {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) { /* mobile fix */
|
||||||
|
input.form-control,
|
||||||
|
select.form-control,
|
||||||
|
textarea.form-control {
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* label spacing fix */
|
||||||
|
form label {
|
||||||
|
margin-top:15px;
|
||||||
|
}
|
||||||
|
#topBar form label,
|
||||||
|
#header form label,
|
||||||
|
#footer form label,
|
||||||
|
form div.form-group label {
|
||||||
|
margin-top:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
input.form-control:hover,
|
||||||
|
select.form-control:hover,
|
||||||
|
textarea.form-control:hover {
|
||||||
|
background-color: #fafafa !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
section.dark input.form-control:hover,
|
||||||
|
section.dark select.form-control:hover,
|
||||||
|
section.dark textarea.form-control:hover {
|
||||||
|
background-color: #1c2125 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
section.dark .select2-container .select2-selection--single .select2-selection__rendered,
|
||||||
|
section.dark input.form-control,
|
||||||
|
section.dark select.form-control,
|
||||||
|
section.dark textarea.form-control {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #272e33 ;
|
||||||
|
border-color: #272e33;
|
||||||
|
}
|
||||||
|
|
||||||
|
section.dark input::placeholder,
|
||||||
|
section.dark select::placeholder,
|
||||||
|
section.dark textarea::placeholder {
|
||||||
|
color: #a3a9b0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* textarea */
|
||||||
|
textarea.form-control {
|
||||||
|
min-height:100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* normal select */
|
||||||
|
select.form-control:not([size]):not([multiple]) {
|
||||||
|
height: 50px;
|
||||||
|
-webkit-appearance:none;
|
||||||
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAMAAADNLv/0AAAANlBMVEUAAAD///+ZmZmfoqiaoKydo6ueo6ucpKqdo6qdoqqeoqqdo6qdoqqdo6qco6mdo6qcoqmdo6rJSltEAAAAEHRSTlMAAQVSU5Wmrbe+1NXf5f7+fUgvXAAAAC5JREFUeNodxkkCABAMBMEhiDX4/2fJ9KULLYHlhW5C3YIwvikgThOK3kcddPU9JQ4BFWtk/ScAAAAASUVORK5CYII=) no-repeat;
|
||||||
|
background-position: center right 20px;
|
||||||
|
background-color: #fff;
|
||||||
|
color:#a3a9b0;
|
||||||
|
}
|
||||||
|
section.dark select.form-control:not([size]):not([multiple]) {
|
||||||
|
background: #272e33 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAMAAADNLv/0AAAANlBMVEUAAAD///+ZmZmfoqiaoKydo6ueo6ucpKqdo6qdoqqeoqqdo6qdoqqdo6qco6mdo6qcoqmdo6rJSltEAAAAEHRSTlMAAQVSU5Wmrbe+1NXf5f7+fUgvXAAAAC5JREFUeNodxkkCABAMBMEhiDX4/2fJ9KULLYHlhW5C3YIwvikgThOK3kcddPU9JQ4BFWtk/ScAAAAASUVORK5CYII=) 15px center no-repeat;
|
||||||
|
background-position: center right 20px;
|
||||||
|
color:# c9c9c9;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* SELECT2 CUSTOM */
|
||||||
|
.select2 {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
border: none;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.select2-container {
|
||||||
|
width: 100% !important;
|
||||||
|
max-width: 100% !important;
|
||||||
|
font-size: 16px;
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
form .row .select2-container {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
@media (min-width: 64em) {
|
||||||
|
.select2-container.select2-container--open {
|
||||||
|
max-width: 393px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.select2-container .select2-selection--single {
|
||||||
|
height: auto;
|
||||||
|
margin: 0;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
font-size: 16px;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 16px 20px;
|
||||||
|
border-radius: 3px;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
border-color: #dee5ed;
|
||||||
|
resize: none;
|
||||||
|
line-height: 1;
|
||||||
|
outline: none;
|
||||||
|
color: #a3a9b0;
|
||||||
|
text-align: left;
|
||||||
|
margin: 0;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered:after {
|
||||||
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAMAAADNLv/0AAAANlBMVEUAAAD///+ZmZmfoqiaoKydo6ueo6ucpKqdo6qdoqqeoqqdo6qdoqqdo6qco6mdo6qcoqmdo6rJSltEAAAAEHRSTlMAAQVSU5Wmrbe+1NXf5f7+fUgvXAAAAC5JREFUeNodxkkCABAMBMEhiDX4/2fJ9KULLYHlhW5C3YIwvikgThOK3kcddPU9JQ4BFWtk/ScAAAAASUVORK5CYII=) 0 center no-repeat;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
.select2-container .select2-results .select2-results__options {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
.select2-container .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #ccc;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
background-color: #272e33;
|
||||||
|
border-color: #272e33;
|
||||||
|
color: #a3a9b0;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-selection--single .select2-selection__rendered,
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
-webkit-transition: all .300s;
|
||||||
|
-moz-transition: all .300s;
|
||||||
|
-o-transition: all .300s;
|
||||||
|
transition: all .300s;
|
||||||
|
}
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered:hover {
|
||||||
|
background-color: #fafafa;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-selection--single .select2-selection__rendered:hover {
|
||||||
|
background-color: #1c2125;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-selection--single .select2-selection__rendered:focus {
|
||||||
|
border-color: #c1d120;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-results .select2-results__options {
|
||||||
|
border-color: #a3a9b0;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-results .select2-results__options .select2-results__option {
|
||||||
|
background-color: #272e33;
|
||||||
|
color: #a3a9b0;
|
||||||
|
}
|
||||||
|
section.dark .select2-container .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #333a3f;
|
||||||
|
}
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAMAAADNLv/0AAAANlBMVEUAAAD///+ZmZmfoqiaoKydo6ueo6ucpKqdo6qdoqqeoqqdo6qdoqqdo6qco6mdo6qcoqmdo6rJSltEAAAAEHRSTlMAAQVSU5Wmrbe+1NXf5f7+fUgvXAAAAC5JREFUeNodxkkCABAMBMEhiDX4/2fJ9KULLYHlhW5C3YIwvikgThOK3kcddPU9JQ4BFWtk/ScAAAAASUVORK5CYII=) 0 center no-repeat;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
right: 12px;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -9px;
|
||||||
|
}
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.select2-results__option {
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
.select2-container.select2-container--open {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
section.dark .select2-dropdown {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.select2-dropdown {
|
||||||
|
border-color: #dee5ed;
|
||||||
|
border-width:1px;
|
||||||
|
}
|
||||||
|
.select2-container--focus {
|
||||||
|
outline: 1px solid transparent;
|
||||||
|
z-index: 102;
|
||||||
|
}
|
||||||
|
/* search field */
|
||||||
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||||
|
padding: 6px !important;
|
||||||
|
border-radius: 0;
|
||||||
|
-webkit-border-radius: 0;
|
||||||
|
}
|
||||||
|
/* optgroup */
|
||||||
|
.select2-container--default .select2-results__group {
|
||||||
|
font-size:14px;
|
||||||
|
border-top: #eaeaea 1px solid;
|
||||||
|
padding-left: 17px;
|
||||||
|
padding-right: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* FANCY FORM */
|
||||||
|
.fancy-file-upload {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.fancy-file-upload>span.button {
|
||||||
|
height: 41px;
|
||||||
|
line-height: 41px;
|
||||||
|
}
|
||||||
|
.fancy-file-upload>i {
|
||||||
|
top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* MISC */
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
form .row {
|
||||||
|
margin-bottom:0 !important;
|
||||||
|
}
|
||||||
|
form .row>div {
|
||||||
|
margin-bottom:15px !important;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
form .row>div>.row>div:last-child {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** RTL
|
||||||
|
Add .rtl class to body
|
||||||
|
*************************** **/
|
||||||
|
/* forms */
|
||||||
|
body.rtl .select2-container .select2-results .select2-results__options,
|
||||||
|
body.rtl .select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
text-align: right !important;
|
||||||
|
}
|
||||||
|
body.rtl .select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
left:15px;
|
||||||
|
}
|
||||||
|
body.rtl .select2-results__option,
|
||||||
|
body.rtl .select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
padding-left:20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
body.rtl input, body.rtl select, body.rtl textarea {
|
||||||
|
text-align:right !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* normal select */
|
||||||
|
body.rtl select.form-control:not([size]):not([multiple]) {
|
||||||
|
background-position: center left 15px;
|
||||||
|
}
|
||||||
|
body.rtl section.dark select.form-control:not([size]):not([multiple]) {
|
||||||
|
background-position: center left 15px;
|
||||||
|
}
|
||||||
|
|
@ -20,13 +20,20 @@
|
||||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ asset('/assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||||
<link href="{{ asset('/assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ asset('/assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||||
<link href="{{ asset('/assets/css/custom-style.css') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ asset('/assets/css/custom-style.css') }}" rel="stylesheet" type="text/css" />
|
||||||
|
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
||||||
.text-primary {
|
.text-primary {
|
||||||
color:#a5d0a5 !important;
|
color:#a5d0a5 !important;
|
||||||
}
|
}
|
||||||
|
div.side-nav ul.list-group-bordered > li.list-group-item.active > a:hover{
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="smoothscroll enable-animation">
|
<body class="smoothscroll enable-animation">
|
||||||
|
|
@ -47,5 +54,26 @@
|
||||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
||||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||||
<script type="text/javascript" src="{{ asset('/assets/js/view/demo.revolution_slider.js') }}"></script>
|
<script type="text/javascript" src="{{ asset('/assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/** CHECKOUT
|
||||||
|
** *********************** **/
|
||||||
|
// New Account show|hide
|
||||||
|
jQuery("#accountswitch").bind("click", function() {
|
||||||
|
jQuery('#newaccount').slideToggle(200);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Shipping Address show|hide
|
||||||
|
jQuery("#shipswitch").bind("click", function() {
|
||||||
|
jQuery('#shipping').slideToggle(200, function() {
|
||||||
|
|
||||||
|
// scroll down to shipping area.
|
||||||
|
if(jQuery('#shipping').is(":visible")) {
|
||||||
|
_scrollTo('#shipping', 150);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1,5 +1,43 @@
|
||||||
<div id="header" class="sticky clearfix">
|
<div id="header" class="sticky clearfix">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#header li.quick-cart .quick-cart-box {
|
||||||
|
-webkit-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||||
|
-moz-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||||
|
box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||||
|
}
|
||||||
|
#header li.quick-cart .quick-cart-footer > span {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.quick-cart-wrapper span.price {
|
||||||
|
color: #666666;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-cart-wrapper h5 {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
#header li.quick-cart .quick-cart-footer {
|
||||||
|
padding: 10px 10px 10px 10px;
|
||||||
|
background-color: #ebebeb;
|
||||||
|
}
|
||||||
|
#header li.quick-cart .quick-cart-box {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
#header ul.nav-second-main {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 992px){
|
||||||
|
|
||||||
|
#header ul.nav-second-main
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#header.fixed ul.nav-second-main {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<!-- TOP NAV -->
|
<!-- TOP NAV -->
|
||||||
<header id="topNav">
|
<header id="topNav">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
@ -9,6 +47,60 @@
|
||||||
<i class="fa fa-bars"></i>
|
<i class="fa fa-bars"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<ul class="pull-right nav nav-pills nav-second-main has-topBar">
|
||||||
|
|
||||||
|
<!-- QUICK SHOP CART -->
|
||||||
|
<li class="quick-cart">
|
||||||
|
|
||||||
|
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||||
|
<span style="position: relative">
|
||||||
|
<span class="badge badge-success btn-xs badge-corner">{{ Yard::instance('shopping')->count() }}</span>
|
||||||
|
<i class="fa fa-shopping-cart"></i>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
@if(Yard::instance('shopping')->count())
|
||||||
|
<span class="">{{ \Yard::instance('shopping')->subtotal() }} € </span>
|
||||||
|
@endif
|
||||||
|
</a>
|
||||||
|
<div class="quick-cart-box" style="display: none;">
|
||||||
|
<h4>Warenkorb</h4>
|
||||||
|
|
||||||
|
<div class="quick-cart-wrapper">
|
||||||
|
|
||||||
|
|
||||||
|
@foreach(Yard::instance('shopping')->content() as $row)
|
||||||
|
|
||||||
|
<a href="{{ url('/produkte/alle-produkte/'.$row->options->slug) }}"><!-- cart item -->
|
||||||
|
@if($row->options->has('image'))
|
||||||
|
<img src="{{ route('product_image', [$row->options->image]) }}" width="50" height="66" alt="">
|
||||||
|
@else
|
||||||
|
<img src="{{ asset('/assets/images/1x1.png') }}" width="50" height="66" alt="">
|
||||||
|
@endif
|
||||||
|
<h5>{{ $row->name }}</h5>
|
||||||
|
<span class="price">{{ $row->qty }}x <strong>{{ $row->price() }} €</strong></span>
|
||||||
|
|
||||||
|
</a><!-- /cart item -->
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- quick cart footer -->
|
||||||
|
<div class="quick-cart-footer clearfix">
|
||||||
|
<div class="text-left">
|
||||||
|
<strong>Zwischensumme:</strong> <strong class="pull-right">{{ Yard::instance('shopping')->subtotal() }} €</strong>
|
||||||
|
<br>
|
||||||
|
<em style="font-size: 0.9em">inkl. MwSt. zzgl. Versandkosten</em>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a href="{{ route('card_show') }}" class="btn btn-primary btn-block mt-3">zum Warenkorb</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
<a class="logo pull-left" href="{{ url('/') }}">
|
<a class="logo pull-left" href="{{ url('/') }}">
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
<div class="side-nav margin-bottom-60">
|
<div class="side-nav margin-bottom-60">
|
||||||
|
|
||||||
<div class="side-nav-head">
|
<div class="side-nav-head">
|
||||||
|
|
@ -5,14 +6,8 @@
|
||||||
<h4>Kategorien</h4>
|
<h4>Kategorien</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="list-group list-group-bordered list-group-noicon">
|
|
||||||
|
|
||||||
<li class="list-group-item {{ Request::is('produkte/alle-produkte') ? ' active' : '' }}">
|
<ul class="list-group list-group-bordered list-group-noicon">
|
||||||
<a href="{{ url('/produkte/alle-produkte') }}">
|
|
||||||
<span class="size-11 text-muted pull-right">({{ $p_count }})</span>
|
|
||||||
Alle Produkte
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
@foreach($categories as $category)
|
@foreach($categories as $category)
|
||||||
<li class="list-group-item {{ Request::is('produkte/'.$category->slug.'*') ? ' active' : '' }}">
|
<li class="list-group-item {{ Request::is('produkte/'.$category->slug.'*') ? ' active' : '' }}">
|
||||||
|
|
|
||||||
235
resources/views/web/templates/card.blade.php
Normal file
235
resources/views/web/templates/card.blade.php
Normal file
|
|
@ -0,0 +1,235 @@
|
||||||
|
@extends('web.layouts.layout')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<section class="page-header page-header-xlg parallax parallax-3"
|
||||||
|
style="background-image:url('/assets/images/vision-min.jpg')">
|
||||||
|
<div class="overlay dark-1"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- /PAGE HEADER -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div.shop-item {
|
||||||
|
margin-bottom:30px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
div.shop-item > .thumbnail, .thumbnail {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.shop-item-summary {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-summary h2 a {
|
||||||
|
color: #9aa983;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons {
|
||||||
|
padding: 0 8px 10px 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons .btn-xs{
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.cartContent a.remove_item {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.cartContent .product_name {
|
||||||
|
font-size: 1.15em;
|
||||||
|
}
|
||||||
|
.cartContent .product_name > small {
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cartContent .head .product_name {
|
||||||
|
min-height: auto;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media only screen and (max-width: 1200px) {
|
||||||
|
.cartContent .yard .product_name {
|
||||||
|
padding-bottom: 0;
|
||||||
|
min-height: 60px;
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
.cartContent .yard .remove_item {
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .yard .total_price {
|
||||||
|
width: auto;
|
||||||
|
padding-top: 30px;
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .yard .item .qty {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.cartContent .yard .item.head {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
|
||||||
|
.cartContent .yard .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 992px) {
|
||||||
|
.cartContent .yard .total_price {
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.cartContent .yard .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<!-- -->
|
||||||
|
{{ Yard::instance('shopping')->setShipping(5.9) }}
|
||||||
|
<section>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<h1>Warenkorb</h1>
|
||||||
|
|
||||||
|
<!-- EMPTY CART -->
|
||||||
|
<!-- <div class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<strong>Shopping cart is empty!</strong><br />
|
||||||
|
You have no items in your shopping cart.<br />
|
||||||
|
Click <a href="index.html">here</a> to continue shopping. <br />
|
||||||
|
<span class="label label-warning">this is just an empty cart example</span>
|
||||||
|
</div>
|
||||||
|
</div>-->
|
||||||
|
<!-- /EMPTY CART -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- CART -->
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<!-- LEFT -->
|
||||||
|
<div class="col-lg-9 col-sm-7">
|
||||||
|
|
||||||
|
<h3>Du hast {{ Yard::instance('shopping')->count() }} Artikel in Deinem Warenkorb</h3>
|
||||||
|
|
||||||
|
@if(Yard::instance('shopping')->content()->count())
|
||||||
|
<!-- CART -->
|
||||||
|
{!! Form::open(['url' => route('card_update'), 'class' => 'cartContent clearfix', 'id'=>'']) !!}
|
||||||
|
|
||||||
|
<!-- cart content -->
|
||||||
|
<div id="cartContent">
|
||||||
|
<div class="box-border-shadow">
|
||||||
|
<!-- cart header -->
|
||||||
|
<div class="item head clearfix">
|
||||||
|
<span class="cart_img"></span>
|
||||||
|
<span class="product_name size-15 bold">Produkt</span>
|
||||||
|
<span class="remove_item size-15 bold"></span>
|
||||||
|
<span class="total_price size-15 bold">Preis</span>
|
||||||
|
<span class="qty size-15 bold">Anzahl</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@foreach(Yard::instance('shopping')->content() as $row)
|
||||||
|
|
||||||
|
<div class="item yard">
|
||||||
|
<div class="cart_img pull-left width-100 padding-10 text-left">
|
||||||
|
@if($row->options->has('image'))
|
||||||
|
<img src="{{ route('product_image', [$row->options->image]) }}" width="80" alt="">
|
||||||
|
@else
|
||||||
|
<img src="{{ asset('/assets/images/1x1.png') }}" width="80" alt="">
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<a href="{{ url('/produkte/alle-produkte/'.$row->options->slug) }}" class="product_name">
|
||||||
|
<span>{{ $row->name }}</span>
|
||||||
|
<small>Lieferzeit: 1-3 Werktage</small>
|
||||||
|
</a>
|
||||||
|
<a href="{{ route('card_remove', [$row->rowId]) }}" class="remove_item"><i class="fa fa-times"></i></a>
|
||||||
|
|
||||||
|
<div class="total_price"><span>{{ $row->subtotal() }} </span> €</div>
|
||||||
|
<div class="qty"><input type="number" value="{{ $row->qty }}" name="quantity[{{$row->rowId}}]" maxlength="3" max="999" min="1" /> × {{ $row->price() }} € </div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
<a href="{{route('card_delete')}}" class="btn btn-default margin-top-20 margin-right-10 pull-left"><i class="glyphicon glyphicon-remove"></i> Warenkorb löschen</a>
|
||||||
|
<button type="submit" class="btn btn-primary margin-top-20 pull-right"><i class="glyphicon glyphicon-refresh"></i> Warenkorb aktualisieren</button>
|
||||||
|
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{!! Form::close() !!}
|
||||||
|
<!-- /CART -->
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- RIGHT -->
|
||||||
|
<div class="col-lg-3 col-sm-5">
|
||||||
|
|
||||||
|
@if(Yard::instance('shopping')->content()->count())
|
||||||
|
<h3>Warenkorb Summe</h3>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle-transparent toggle-bordered-full clearfix">
|
||||||
|
<div class="toggle active">
|
||||||
|
<div class="toggle-content">
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right">{{ Yard::instance('shopping')->total() }} €</span>
|
||||||
|
<strong class="pull-left">Zwischensumme:</strong>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->shipping() }} € </span>
|
||||||
|
<span class="pull-left small">Versandkosten:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="mt-4 mb-4">
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->subtotalWithShipping() }} €</span>
|
||||||
|
<span class="pull-left small">Summe ohne MwSt:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->taxWithShipping() }} €</span>
|
||||||
|
<span class="pull-left small"> zzgl. {{ Yard::getTaxRate() }} % MwSt.:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<span class="clearfix ">
|
||||||
|
<span class="pull-right size-20"><strong>{{ Yard::instance('shopping')->totalWithShipping() }} €</strong></span>
|
||||||
|
<strong class="pull-left">Gesamtsumme:</strong>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="{{ route('card_checkout') }}" class="btn btn-primary btn-lg btn-block size-15 mt-4"><i class="fa fa-mail-forward"></i> zur Kasse</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<br><br>
|
||||||
|
<hr>
|
||||||
|
<p><em class="small" style="color: #828282">Alle Preise inkl. gesetzl. Mehrwertsteuer zzgl. Versandkosten, wenn nicht anders beschrieben</em></p>
|
||||||
|
<!-- /CART -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
@endsection
|
||||||
119
resources/views/web/templates/checkout-final.blade.php
Normal file
119
resources/views/web/templates/checkout-final.blade.php
Normal file
|
|
@ -0,0 +1,119 @@
|
||||||
|
@extends('web.layouts.layout')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<section class="page-header page-header-xlg parallax parallax-3"
|
||||||
|
style="background-image:url('/assets/images/vision-min.jpg')">
|
||||||
|
<div class="overlay dark-1"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- /PAGE HEADER -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div.shop-item {
|
||||||
|
margin-bottom:30px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
div.shop-item > .thumbnail, .thumbnail {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.shop-item-summary {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-summary h2 a {
|
||||||
|
color: #9aa983;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons {
|
||||||
|
padding: 0 8px 10px 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons .btn-xs{
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.cartContent a.remove_item {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.cartContent .product_name {
|
||||||
|
font-size: 1.15em;
|
||||||
|
}
|
||||||
|
.cartContent .product_name > small {
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 1200px) {
|
||||||
|
.cartContent .product_name {
|
||||||
|
padding-bottom: 0;
|
||||||
|
min-height: 60px;
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
.cartContent .remove_item {
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .total_price {
|
||||||
|
width: auto;
|
||||||
|
padding-top: 30px;
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .item .qty {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.cartContent .item.head {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 992px) {
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
<section>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- CHECKOUT FINAL MESSAGE -->
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<h3>Thank you, John Doe.</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Your order has been placed. In a few moments you will receive an order confirmation email from us.<br />
|
||||||
|
If you like, you can explore more <a href="{{ url('produkte') }}"> products</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Thank you very much for choosing us,<br />
|
||||||
|
<strong> Inc.</strong>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /CHECKOUT FINAL MESSAGE -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- / -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
||||||
420
resources/views/web/templates/checkout.blade.php
Normal file
420
resources/views/web/templates/checkout.blade.php
Normal file
|
|
@ -0,0 +1,420 @@
|
||||||
|
@extends('web.layouts.layout')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<section class="page-header page-header-xlg parallax parallax-3"
|
||||||
|
style="background-image:url('/assets/images/vision-min.jpg')">
|
||||||
|
<div class="overlay dark-1"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- /PAGE HEADER -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div.shop-item {
|
||||||
|
margin-bottom:30px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
div.shop-item > .thumbnail, .thumbnail {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.shop-item-summary {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-summary h2 a {
|
||||||
|
color: #9aa983;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons {
|
||||||
|
padding: 0 8px 10px 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons .btn-xs{
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.cartContent a.remove_item {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.cartContent .product_name {
|
||||||
|
font-size: 1.15em;
|
||||||
|
}
|
||||||
|
.cartContent .product_name > small {
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 1200px) {
|
||||||
|
.cartContent .product_name {
|
||||||
|
padding-bottom: 0;
|
||||||
|
min-height: 60px;
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
.cartContent .remove_item {
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .total_price {
|
||||||
|
width: auto;
|
||||||
|
padding-top: 30px;
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.cartContent .item .qty {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.cartContent .item.head {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 992px) {
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.cartContent .total_price {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<!-- -->
|
||||||
|
{{ Yard::instance('shopping')->setShipping(5.9) }}
|
||||||
|
<!-- CART -->
|
||||||
|
<!-- CHECKOUT -->
|
||||||
|
<section>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
{{--
|
||||||
|
<!-- NOT LOGGED IN -->
|
||||||
|
<!-- <div class="mb-30 box-border-shadow p-20">
|
||||||
|
<strong>You are not logged in!</strong>
|
||||||
|
Please, <a href="pack-megashop-sign-in.html">login</a> or <a href="javascript:;" onclick="jQuery('#accountswitch').trigger('click'); _scrollTo('#newaccount', 200);">create an account</a> for later use.
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<!-- /NOT LOGGED IN -->
|
||||||
|
--}}
|
||||||
|
|
||||||
|
|
||||||
|
<!-- CHECKOUT -->
|
||||||
|
<div class="">
|
||||||
|
{!! Form::open(['url' => route('card_checkout_final'), 'class' => 'row clearfix', 'id'=>'']) !!}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-lg-7 col-sm-7">
|
||||||
|
|
||||||
|
<!-- BILLING -->
|
||||||
|
<fieldset class="mb-0 box-border-shadow p-20">
|
||||||
|
|
||||||
|
<h4>Rechnung & Versand</h4>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-12 col-sm-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_company">Firma</label>
|
||||||
|
<input id="billing_company" name="billing[company]" type="text" class="form-control" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_firstname">Vorname*</label>
|
||||||
|
<input id="billing_firstname" name="billing[firstname]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_lastname">Nachname *</label>
|
||||||
|
<input id="billing_lastname" name="billing[lastname]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_address1">Straße Nr. *</label>
|
||||||
|
<input id="billing_address1" name="billing[address][]" type="text" class="form-control required" placeholder="" />
|
||||||
|
|
||||||
|
<!--<input id="billing_address2" name="billing[address][]" type="text" class="form-control margin-top-10" placeholder="Address 2" />-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_zipcode">PLZ *</label>
|
||||||
|
<input id="billing_zipcode" name="billing[zipcode]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_city">Stadt *</label>
|
||||||
|
<input id="billing_city" name="billing[city]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 col-sm-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_state">Land *</label>
|
||||||
|
<select id="billing_state" name="billing[state]" class="form-control pointer selectpicker required">
|
||||||
|
<option value="">Select...</option>
|
||||||
|
<option value="1">...</option>
|
||||||
|
<option value="2">...</option>
|
||||||
|
<option value="">..............</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_phone">Telefon *</label>
|
||||||
|
<input id="billing_phone" name="billing[phone]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_fax">Fax</label>
|
||||||
|
<input id="billing_fax" name="billing[fax]" type="text" class="form-control" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 col-sm-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="billing_email">Email *</label>
|
||||||
|
<input id="billing_email" name="billing[email]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-lg-12 nomargin clearfix">
|
||||||
|
<label class="mt-0 fs-14 fw-400 checkbox pull-left"><!-- see assets/js/view/demo.shop.js - CHECKOUT section -->
|
||||||
|
<input id="shipswitch" name="shipping[same_as_billing]" type="checkbox" value="1" checked="checked" />
|
||||||
|
<i></i> <span class="weight-300">Versand an die gleiche Adresse</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
<!-- /BILLING -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- SHIPPING -->
|
||||||
|
<fieldset id="shipping" class="softhide mt-40">
|
||||||
|
<div class="box-border-shadow p-20">
|
||||||
|
|
||||||
|
<h4>Versand Adresse</h4>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-12 col-sm-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_company">Firma</label>
|
||||||
|
<input id="shipping_company" name="shipping[company]" type="text" class="form-control" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_firstname">Vorname*</label>
|
||||||
|
<input id="shipping_firstname" name="shipping[firstname]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_lastname">Nachname *</label>
|
||||||
|
<input id="shipping_lastname" name="shipping[lastname]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_address1">Straße Nr. *</label>
|
||||||
|
<input id="shipping_address1" name="shipping[address][]" type="text" class="form-control required" placeholder="" />
|
||||||
|
|
||||||
|
<!--<input id="shipping_address2" name="shipping[address][]" type="text" class="form-control margin-top-10" placeholder="Address 2" />-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_zipcode">PLZ *</label>
|
||||||
|
<input id="shipping_zipcode" name="shipping[zipcode]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_city">Stadt *</label>
|
||||||
|
<input id="shipping_city" name="shipping[city]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 col-sm-12">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_state">Land *</label>
|
||||||
|
<select id="shipping_state" name="shipping[state]" class="form-control pointer selectpicker required">
|
||||||
|
<option value="">Select...</option>
|
||||||
|
<option value="1">...</option>
|
||||||
|
<option value="2">...</option>
|
||||||
|
<option value="">..............</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_phone">Telefon *</label>
|
||||||
|
<input id="shipping_phone" name="shipping[phone]" type="text" class="form-control required" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="shipping_fax">Fax</label>
|
||||||
|
<input id="shipping_fax" name="shipping[fax]" type="text" class="form-control" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
<!-- /SHIPPING -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-lg-5 col-sm-5">
|
||||||
|
|
||||||
|
<!-- PAYMENT METHOD -->
|
||||||
|
<fieldset class="box-border-shadow p-20">
|
||||||
|
|
||||||
|
<h4>Zahlungsart</h4>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="toggle-transparent toggle-bordered-full clearfix">
|
||||||
|
<div class="toggle active">
|
||||||
|
<div class="toggle-content">
|
||||||
|
|
||||||
|
<div class="row nomargin-bottom">
|
||||||
|
<div class="col-lg-12 nomargin clearfix">
|
||||||
|
<label class="mt-0 fs-14 fw-400 radio pull-left nomargin-top">
|
||||||
|
<input id="payment_check" name="payment[method]" type="radio" value="1" checked="checked" />
|
||||||
|
<i></i> <span class="weight-300">Paypal</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12 nomargin clearfix">
|
||||||
|
<label class="mt-0 fs-14 fw-400 radio pull-left">
|
||||||
|
<input id="payment_card" name="payment[method]" type="radio" value="2" />
|
||||||
|
<i></i> <span class="weight-300">Kredit Karte</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
<!-- /PAYMENT METHOD -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- TOTAL / PLACE ORDER -->
|
||||||
|
<div class="toggle-transparent toggle-bordered-full clearfix">
|
||||||
|
<div class="toggle active">
|
||||||
|
<div class="toggle-content">
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right">{{ Yard::instance('shopping')->total() }} €</span>
|
||||||
|
<strong class="pull-left">Zwischensumme:</strong>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->shipping() }} € </span>
|
||||||
|
<span class="pull-left small">Versandkosten:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="mt-4 mb-4">
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->subtotalWithShipping() }} €</span>
|
||||||
|
<span class="pull-left small">Summe ohne MwSt:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix mb-2">
|
||||||
|
<span class="pull-right small">{{ Yard::instance('shopping')->taxWithShipping() }} €</span>
|
||||||
|
<span class="pull-left small"> zzgl. {{ Yard::getTaxRate() }} % MwSt.:</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<span class="clearfix ">
|
||||||
|
<span class="pull-right size-20"><strong>{{ Yard::instance('shopping')->totalWithShipping() }} €</strong></span>
|
||||||
|
<strong class="pull-left">Gesamtsumme:</strong>
|
||||||
|
</span>
|
||||||
|
<button class="btn btn-primary btn-lg btn-block size-15 mt-4"><i class="fa fa-mail-forward"></i> Bestellung absenden</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /TOTAL / PLACE ORDER -->
|
||||||
|
|
||||||
|
{{--
|
||||||
|
|
||||||
|
<!-- CREATE ACCOUNT -->
|
||||||
|
<div class="toggle-transparent toggle-bordered-full margin-top-30 clearfix">
|
||||||
|
<div class="toggle active">
|
||||||
|
<div class="toggle-content">
|
||||||
|
|
||||||
|
<div class="clearfix">
|
||||||
|
<label class="mt-0 fs-14 fw-400 checkbox pull-left">
|
||||||
|
<input id="accountswitch" name="create-account[yes]" type="checkbox" value="1" />
|
||||||
|
<i></i> <span class="weight-300">Create an account for later use</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- CREATE ACCOUNT FORM -->
|
||||||
|
<div id="newaccount" class="margin-top-10 margin-bottom-30 softhide">
|
||||||
|
|
||||||
|
<div class="row nomargin-bottom">
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="account:password">Password *</label>
|
||||||
|
<input id="account:password" name="account[password]" type="password" class="form-control" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-sm-6">
|
||||||
|
<label class="mt-0 fs-14 fw-400" for="account:password2">Confirm Password *</label>
|
||||||
|
<input id="account:password2" name="account[password2]" type="password" class="form-control" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<small class="text-warning">NOTE: Email address will be used to login</small>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- /CREATE ACCOUNT FORM -->
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /CREATE ACCOUNT -->
|
||||||
|
--}}
|
||||||
|
|
||||||
|
{!! Form::close() !!}
|
||||||
|
</div>
|
||||||
|
<!-- /CHECKOUT -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- /CHECKOUT -->
|
||||||
|
<!-- /CART -->
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
@ -2,6 +2,27 @@
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div.shop-item-price > span {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
.qty input {
|
||||||
|
padding: 3px;
|
||||||
|
margin: 0;
|
||||||
|
border: #ccc 1px solid;
|
||||||
|
width: 60px;
|
||||||
|
margin-right: 3px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<section class="page-header page-header-xlg parallax parallax-3"
|
<section class="page-header page-header-xlg parallax parallax-3"
|
||||||
style="background-image:url('/assets/images/vision-min.jpg')">
|
style="background-image:url('/assets/images/vision-min.jpg')">
|
||||||
<div class="overlay dark-1"><!-- dark overlay [1 to 9 opacity] --></div>
|
<div class="overlay dark-1"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||||
|
|
@ -81,32 +102,45 @@
|
||||||
|
|
||||||
<!-- ITEM DESC -->
|
<!-- ITEM DESC -->
|
||||||
<div class="col-lg-6 col-sm-6">
|
<div class="col-lg-6 col-sm-6">
|
||||||
<br>
|
<!--<div class="pull-right">
|
||||||
|
<a class="btn btn-default add-wishlist" href="#" data-item-id="1" data-toggle="tooltip" title="" data-original-title="Add To Wishlist"><i class="fa fa-heart nopadding"></i></a>
|
||||||
|
</div>-->
|
||||||
<h1 class="small-h1">{{ $product->getLang('name') }}</h1>
|
<h1 class="small-h1">{{ $product->getLang('name') }}</h1>
|
||||||
|
|
||||||
{!! $product->getLang('copy') !!}
|
{!! $product->getLang('copy') !!}
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
|
<div class="shop-item-price text-right">
|
||||||
|
{{ $product->getFormattedPrice() }} €<br>
|
||||||
|
<span style="font-size: 0.7em; color:#999; font-weight: 400;"><em>inkl. 19% MwSt. zzgl. Versandkosten</em></span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="shop-item-price text-right">
|
||||||
|
{!! Form::open(['url' => route('card_add_post', [$product->id]), 'class' => 'mb-0', 'id'=>'']) !!}
|
||||||
|
<div class="qty float-left">
|
||||||
|
<input type="number" value="1" name="quantity" maxlength="3" max="999" min="1"><br>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-primary">In den Warenkorb</button><br>
|
||||||
|
<span style="font-size: 0.7em; color:#999; font-weight: 400;"><em>Lieferzeit: 1-3 Werktage</em></span>
|
||||||
|
{!! Form::close() !!}
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
<div class="shop-item-price text-right">
|
<div class="shop-item-price text-right">
|
||||||
<span class="pull-left"><strong>Inhalt:</strong></span>
|
<span class="pull-left"><strong>Inhalt:</strong></span>
|
||||||
<span style="font-size: 0.8em">{{ $product->content }}</span>
|
<span style="font-size: 0.8em">{{ $product->contents }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="shop-item-price text-left">
|
||||||
|
<span class=""><strong>Art.-Nr.:</strong> {{ $product->number }}</span>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<hr/>
|
|
||||||
<div class="shop-item-price text-right">
|
<div class="shop-item-price text-right">
|
||||||
<span class="pull-left"><strong>Art.-Nr.:</strong> {{ $product->number }}</span>
|
|
||||||
{{ $product->getFormattedPrice() }} €
|
|
||||||
|
|
||||||
<hr/>
|
|
||||||
<button class="btn btn-primary pull-right ">In den Warenkorb</button>
|
|
||||||
<br>
|
|
||||||
<hr/>
|
|
||||||
<small class="text-muted">
|
<small class="text-muted">
|
||||||
<img src="/assets/images/{{ $product->icons }}" alt=""
|
<img src="/assets/images/{{ $product->icons }}" alt=""
|
||||||
class="img-responsive">
|
class="img-responsive">
|
||||||
</small>
|
</small>
|
||||||
|
|
||||||
<hr/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- /ITEM DESC -->
|
<!-- /ITEM DESC -->
|
||||||
|
|
@ -154,8 +188,6 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- /RIGHT COLUMNS -->
|
<!-- /RIGHT COLUMNS -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,29 @@
|
||||||
</section>
|
</section>
|
||||||
<!-- /PAGE HEADER -->
|
<!-- /PAGE HEADER -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div.shop-item {
|
||||||
|
margin-bottom:30px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
div.shop-item > .thumbnail, .thumbnail {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.shop-item-summary {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-summary h2 a {
|
||||||
|
color: #9aa983;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons {
|
||||||
|
padding: 0 8px 10px 8px;
|
||||||
|
}
|
||||||
|
div.shop-item-buttons .btn-xs{
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<section>
|
<section>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
@ -32,33 +54,64 @@
|
||||||
|
|
||||||
<div class="thumbnail">
|
<div class="thumbnail">
|
||||||
<!-- product image(s) -->
|
<!-- product image(s) -->
|
||||||
<a class="shop-item-image"
|
<a class="shop-item-image" href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">
|
||||||
href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">
|
|
||||||
@php ($set = 'first')
|
@php ($set = 'first')
|
||||||
@foreach($product->images as $image)
|
@foreach($product->images as $image)
|
||||||
@if($set == 'hover')
|
@if($set == 'hover')
|
||||||
<img class="img-responsive" src="{{ route('product_image', [$image->slug]) }}" alt="shop {{ $set }} image"/>
|
<img class="img-responsive" src="{{ route('product_image', [$image->slug]) }}" alt="{{ $product->getLang('name') }}"/>
|
||||||
@php($set = 'done')
|
@php($set = 'done')
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($set == 'first')
|
@if($set == 'first')
|
||||||
<img class="img-responsive" src="{{ route('product_image', [$image->slug]) }}" alt="shop {{ $set }} image"/>
|
<img class="img-responsive" src="{{ route('product_image', [$image->slug]) }}" alt="{{ $product->getLang('name') }}"/>
|
||||||
@php($set = 'hover')
|
@php($set = 'hover')
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
</a>
|
</a>
|
||||||
<!-- /product image(s) -->
|
<!-- /product image(s) -->
|
||||||
|
|
||||||
|
<!-- hover buttons -->
|
||||||
|
<!-- <div class="shop-option-over">
|
||||||
|
<a class="btn btn-default add-wishlist" href="#" data-item-id="4" data-toggle="tooltip" title="" data-original-title="Auf die Wunschliste"><i class="fa fa-heart nopadding"></i></a>
|
||||||
|
</div>
|
||||||
|
<!-- /hover buttons -->
|
||||||
|
|
||||||
|
<!-- product more info -->
|
||||||
|
<!-- <div class="shop-item-info">
|
||||||
|
<span class="label label-success">NEW</span>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<!-- /product more info -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="shop-item-summary text-center">
|
|
||||||
|
|
||||||
|
<div class="shop-item-summary text-center ">
|
||||||
|
<h2 class=""><a href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">{{ $product->getLang('name') }}</a></h2>
|
||||||
|
|
||||||
|
<!-- rating -->
|
||||||
|
<div class="shop-item-rating-line">
|
||||||
|
<div class="rating rating-5 size-13"><!-- rating-0 ... rating-5 --></div>
|
||||||
|
</div>
|
||||||
|
<!-- /rating -->
|
||||||
|
|
||||||
|
<!-- price -->
|
||||||
|
<div class="shop-item-price">
|
||||||
|
{{ $product->getFormattedPrice() }} €
|
||||||
|
</div>
|
||||||
|
<!-- /price -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- buttons -->
|
<!-- buttons -->
|
||||||
<div class="shop-item-buttons text-center">
|
<div class="shop-item-buttons text-left">
|
||||||
<a class="btn btn-default"
|
<a href="{{ route('card_add_get', [$product->id, 1, $product->slug]) }}" data-quantity="1" data-product_id="{{ $product->id }}" aria-label="{{ $product->getLang('name') }} zu deinem Warenkorb hinzufügen" class="btn btn-primary btn-xs" rel="nofollow">
|
||||||
href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">{{ $product->getLang('name') }}</a>
|
<i class="fa fa-cart-plus"></i> In den Warenkorb
|
||||||
|
</a>
|
||||||
|
<a class="float-right btn btn-primary btn-xs" href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">
|
||||||
|
<i class="fa fa-list"></i> Details
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- /buttons -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
@ -80,5 +133,4 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- / -->
|
<!-- / -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
@ -17,10 +17,36 @@ Route::domain('mivita.local')->group(function () {
|
||||||
|
|
||||||
Route::get('/', 'Web\SiteController@index')->name('/');
|
Route::get('/', 'Web\SiteController@index')->name('/');
|
||||||
|
|
||||||
|
Route::get('product/image/{slug}', function($slug = null)
|
||||||
|
{
|
||||||
|
$image = \App\Models\ProductImage::where('slug', $slug)->first();
|
||||||
|
$path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename;
|
||||||
|
if (file_exists($path)) {
|
||||||
|
return Response::file($path);
|
||||||
|
}
|
||||||
|
})->name('product_image');
|
||||||
|
|
||||||
|
Route::get('/card/add/{id}/{quantity?}/{product_slug?}', 'Web\CardController@addToCardGet')->name('card_add_get');
|
||||||
|
|
||||||
|
Route::post('/card/add/{id}', 'Web\CardController@addToCardPost')->name('card_add_post');
|
||||||
|
|
||||||
|
Route::get('/card/show', 'Web\CardController@showCard')->name('card_show');
|
||||||
|
|
||||||
|
Route::get('/card/checkout', 'Web\CardController@checkoutCard')->name('card_checkout');
|
||||||
|
Route::post('/card/checkout_final', 'Web\CardController@checkoutFinalCard')->name('card_checkout_final');
|
||||||
|
|
||||||
|
Route::post('/card/update', 'Web\CardController@updateCard')->name('card_update');
|
||||||
|
|
||||||
|
Route::get('/card/remove/{rowId}', 'Web\CardController@removeCard')->name('card_remove');
|
||||||
|
|
||||||
|
Route::get('/card/delete', 'Web\CardController@deleteCard')->name('card_delete');
|
||||||
|
|
||||||
Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('site');
|
Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('site');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* ROUTING FOR CRM / CMS*/
|
/* ROUTING FOR CRM / CMS*/
|
||||||
|
|
@ -189,14 +215,7 @@ Route::get('/user/update_email_confirm/{token}', 'UpdateEmailController@activate
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Route::get('product/image/{slug}', function($slug = null)
|
|
||||||
{
|
|
||||||
$image = \App\Models\ProductImage::where('slug', $slug)->first();
|
|
||||||
$path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename;
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return Response::file($path);
|
|
||||||
}
|
|
||||||
})->name('product_image');
|
|
||||||
|
|
||||||
/*Route::get('storage/{what}/{path}/{id}/{file_name}', function($what = null, $path = null, $id = null, $file_name = null)
|
/*Route::get('storage/{what}/{path}/{id}/{file_name}', function($what = null, $path = null, $id = null, $file_name = null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue