Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FavoritePresenter.php
- ==================================
- <?php
- namespace App\FrontModule\Presenters;
- use Nette,
- App,
- App\Model,
- App\FrontModule\Components;
- /**
- * Favorite presenter.
- */
- class FavoritePresenter extends BasePresenter
- {
- public function renderDefault()
- {
- if (!$this->user->isLoggedIn())
- $this->redirect("Page:default");
- }
- public function createComponentPaginator()
- {
- return new App\FrontModule\Components\VisualPaginator;
- }
- protected function createComponentCards()
- {
- $rows = $this->userModel->getCards();
- $rows->select("user_fav_id");
- $rows->where(":fav_cards.user_id = ?", $this->user->identity->id);
- $vp = $this['paginator'];
- $paginator = $vp->paginator;
- $paginator->itemsPerPage = 1;
- $paginator->itemCount = $rows->count("*");
- $rows = $rows->limit($paginator->itemsPerPage, $paginator->offset);
- $selected = $rows;
- $control = new Components\Cards($selected, $this->helpers);
- // $control->addComponent($this->createComponentPaginator, 'paginator');
- return $control;
- }
- }
- components/Cards.php
- =============================
- <?
- namespace App\FrontModule\Components;
- use Nette\Application\UI,
- Nette,
- App,
- Cardbook;
- class Cards extends UI\Control
- {
- /** @var Nette\Database\Table\Selection */
- private $selected;
- private $helpers;
- public function __construct (Nette\Database\Table\Selection $selected, Cardbook\Helpers\Helpers $helpers)
- {
- $this->selected = $selected;
- $this->helpers = $helpers;
- parent::__construct();
- }
- public function render()
- {
- $this->template->setFile(__DIR__ . '/../templates/components/Cards/slider.latte');
- $this->template->selected = $this->selected;
- $this->template->render();
- }
- public function renderNiceList()
- {
- $this->template->setFile(__DIR__ . '/../templates/components/Cards/nice-list.latte');
- $this->template->selected = $this->selected;
- $this->template->render();
- }
- public function renderNiceListRef()
- {
- $this->template->setFile(__DIR__ . '/../templates/components/Cards/nice-list-ref.latte');
- $this->template->selected = $this->selected;
- $this->template->render();
- }
- protected function createTemplate($class = NULL)
- {
- $template = parent::createTemplate($class);
- $template->registerHelperLoader(array($this->helpers, 'loader'));
- return $template;
- }
- }
- templates/Favorite/default.latte
- ======================================
- {var $htmlClass = "light-gray-bg"}
- {block content}
- <section class="static-page">
- <h1>Oblíbené vizitky</h1>
- <div class="wrapper">
- <div class="hp-cards">
- {control cards:niceListRef}
- </div>
- </div>
- </section>
- {/block}
- templates/components/Cards/
- ================================
- {if !count($selected)}
- <div class="alert-error">Žádné oblíbené vizitky nemáte uloženy.</div>
- {/if}
- {foreach $selected as $row}
- {var $ref = $row->ref("user", "user_fav_id")}
- <div class="card">
- <a href="{plink Profile:detail $ref->slug}">
- {$ref->card_front_image|image:"360x200":"temp-predni-vizitka-cardbook.png"}
- {$ref->card_back_image|image:"360x200":"temp-zadni-vizitka-cardbook.png"}
- </a>
- </div>
- {/foreach}
- {control paginator}
Advertisement
Add Comment
Please, Sign In to add comment