Guest User

Untitled

a guest
Jan 10th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.31 KB | None | 0 0
  1. FavoritePresenter.php
  2. ==================================
  3. <?php
  4.  
  5. namespace App\FrontModule\Presenters;
  6.  
  7. use Nette,
  8.     App,
  9.     App\Model,
  10.     App\FrontModule\Components;
  11.  
  12. /**
  13.  * Favorite presenter.
  14.  */
  15. class FavoritePresenter extends BasePresenter
  16. {
  17.    
  18.     public function renderDefault()
  19.     {
  20.         if (!$this->user->isLoggedIn())
  21.             $this->redirect("Page:default");
  22.     }
  23.  
  24.     public function createComponentPaginator()
  25.     {
  26.         return new App\FrontModule\Components\VisualPaginator;
  27.     }
  28.  
  29.     protected function createComponentCards()
  30.     {
  31.    
  32.         $rows = $this->userModel->getCards();
  33.         $rows->select("user_fav_id");
  34.         $rows->where(":fav_cards.user_id = ?", $this->user->identity->id);
  35.  
  36.         $vp                      = $this['paginator'];
  37.         $paginator               = $vp->paginator;
  38.         $paginator->itemsPerPage = 1;
  39.         $paginator->itemCount    = $rows->count("*");
  40.  
  41.         $rows     = $rows->limit($paginator->itemsPerPage, $paginator->offset);
  42.         $selected = $rows;
  43.        
  44.         $control = new Components\Cards($selected, $this->helpers);
  45.         //  $control->addComponent($this->createComponentPaginator, 'paginator');
  46.         return $control;
  47.     }
  48.  
  49. }
  50.  
  51.  
  52. components/Cards.php
  53. =============================
  54. <?
  55.  
  56. namespace App\FrontModule\Components;
  57.  
  58. use Nette\Application\UI,
  59.     Nette,
  60.     App,
  61.     Cardbook;
  62.  
  63. class Cards extends UI\Control
  64. {
  65.  
  66.     /** @var Nette\Database\Table\Selection */
  67.     private $selected;
  68.  
  69.     private $helpers;
  70.  
  71.     public function __construct (Nette\Database\Table\Selection $selected, Cardbook\Helpers\Helpers $helpers)
  72.     {
  73.         $this->selected = $selected;
  74.         $this->helpers = $helpers;
  75.         parent::__construct();
  76.     }
  77.  
  78.  
  79.     public function render()
  80.     {
  81.         $this->template->setFile(__DIR__ . '/../templates/components/Cards/slider.latte');
  82.         $this->template->selected = $this->selected;
  83.         $this->template->render();
  84.     }  
  85.  
  86.     public function renderNiceList()
  87.     {
  88.         $this->template->setFile(__DIR__ . '/../templates/components/Cards/nice-list.latte');
  89.         $this->template->selected = $this->selected;
  90.         $this->template->render();
  91.     }
  92.  
  93.     public function renderNiceListRef()
  94.     {
  95.         $this->template->setFile(__DIR__ . '/../templates/components/Cards/nice-list-ref.latte');
  96.         $this->template->selected = $this->selected;
  97.         $this->template->render();
  98.     }
  99.  
  100.  
  101.     protected function createTemplate($class = NULL)
  102.     {
  103.         $template = parent::createTemplate($class);
  104.         $template->registerHelperLoader(array($this->helpers, 'loader'));
  105.         return $template;
  106.     }
  107.  
  108.  
  109. }
  110.  
  111.  
  112.  
  113.  
  114. templates/Favorite/default.latte
  115. ======================================
  116. {var $htmlClass = "light-gray-bg"}
  117.  
  118. {block content}
  119.     <section class="static-page">
  120.         <h1>Oblíbené vizitky</h1>
  121.  
  122.         <div class="wrapper">
  123.             <div class="hp-cards">
  124.                 {control cards:niceListRef}
  125.             </div>
  126.         </div>
  127.     </section>
  128. {/block}
  129.  
  130.  
  131.  
  132.  
  133. templates/components/Cards/
  134. ================================
  135.  
  136.  
  137.     {if !count($selected)}
  138.         <div class="alert-error">Žádné oblíbené vizitky nemáte uloženy.</div>
  139.     {/if}
  140.  
  141.  
  142.     {foreach $selected as $row}
  143.         {var $ref = $row->ref("user", "user_fav_id")}
  144.  
  145.         <div class="card">
  146.             <a href="{plink Profile:detail $ref->slug}">
  147.             {$ref->card_front_image|image:"360x200":"temp-predni-vizitka-cardbook.png"}
  148.             {$ref->card_back_image|image:"360x200":"temp-zadni-vizitka-cardbook.png"}
  149.             </a>
  150.         </div>
  151.    
  152.     {/foreach}
  153.  
  154.     {control paginator}
Advertisement
Add Comment
Please, Sign In to add comment