Repository URL to install this package:
|
Version:
2.0.1 ▾
|
<?php
namespace Evsmash\Items\Http;
use Evsmash\Core\Http\Base;
use Evsmash\Core\Dec\Thumb;
use Evsmash\Core\Input\Flash;
use Evsmash\Core\Input\Route;
use Evsmash\Core\Simpy\Element;
use Evsmash\Core\System\Trans;
use Evsmash\Items\Item;
use Evsmash\Items\ItemsCategory;
use Evsmash\Items\ItemsType;
class Items extends Base {
// index
public function index() {
// elements
$elements = Item::params()->published()->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($elements, 'items');
// flash
Flash::set('title', 'Items');
// view
$this->view(compact(['elements']));
}
// type
public function type() {
// type
$type = Element::check(new ItemsType);
// element
$elements = Item::params()->published()->where('type_id', $type->id)->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($type, 'items_types');
Trans::get($elements, 'items');
// flash
Flash::set('title', $type->name);
Flash::set('type', $type->id);
// view
$this->view(compact(['elements']), 'evsmash/items/items/index');
}
// category
public function category() {
// category
$category = Element::check(new ItemsCategory);
// elements
$elements = $category->items()->params()->published()->orderBy('created_at', 'desc')->paginate($this->settings->limit);
// trans
Trans::get($category, 'items_categories');
Trans::get($elements, 'proudcts');
// flash
Flash::set('title', $category->name);
Flash::set('categories', [$category->id => $category->name]);
// view
$this->view(compact(['elements']), 'evsmash/items/items/index');
}
// show
public function show() {
// element
$element = Element::check(new Item);
// allowed
Element::allowed($element, 'published');
// stats
Element::stats($element);
// trans
Trans::get($element, 'items');
// flash
Flash::set('title', $element->name);
Flash::set('description', $element->sneak);
Flash::set('type', $element->type_id);
Flash::set('categories', $element->categories->pluck('name', 'id'));
Flash::set('photo', Thumb::url($element->photo, '1000xauto', ['upsize' => true]));
// view
$this->view(compact(['element']));
}
}