Hello,
in my database, i have stored 10000 datasets. I want to split them into 100. The problem that i have is, the variable in my view.
index.thumb is undefinied, but when i set the variable with setVar it is working, but 10000 data are loading.
When i put the paginator into a function, the var page is also undefinied.
this is my Model:
<?php
namespace Vokuro\Models;
use Phalcon\Mvc\Model;
class Index extends Model{
public $id;
public $link;
public $title;
public $tags;
public $thumb;
}My Controller:
<?php
namespace Vokuro\Controllers;
use Phalcon\Mvc\Controller;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Tag;
use Phalcon\Mvc\Model\Criteria;
use Phalcon\Paginator\Adapter\Model as Paginator;
use Phalcon\Mvc\Model\Query;
use Vokuro\Models\Index;
class IndexController extends Controller
{
public function indexAction()
{
    $this->assets
        ->collection('header')
        ->addCss('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css', false)
        ->addCss('https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css', false)
        ->addCss('https://fonts.googleapis.com/css?family=Josefin+Sans:400,300', false)
        ->addCss('plugins/venobox/venobox.css')
        ->addCss('css/style.css')
        ->addCss('css/media-queries.css');
    $this->assets
        ->collection('footer')
        ->addJs('https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js', false)
        ->addJs('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js', false)
        ->addJs('plugins/venobox/venobox.js')
        ->addJs('js/index.js');
    $post  = Index::find();
    $this->view->setVar('index',$post);
    $numberPage = 1;
    if ($this->request->isPost()) {
        $query = Criteria::fromInput($this->di, 'Vokuro\Models\Index', $this->request->getPost());
        $this->persistent->searchParams = $query->getParams();
    } else {
        $numberPage = $this->request->get("page", "int");
    }
    $parameters = array();
    if ($this->persistent->searchParams) {
        $parameters = $this->persistent->searchParams;
    }
    $vids = Index::find($parameters);
    if (count($vids) == 0) {
        $this->flash->notice("The search did not find any profiles");
        return $this->dispatcher->forward(array(
            "action" => "index"
        ));
    }
    $paginator = new Paginator(array(
        "data" => $vids,
        "limit" => 10,
        "page" => $numberPage
    ));
    $this->view->page = $paginator->getPaginate();
}
}And my View:
<div class="row itop25">
{% for index in index %}
<div class="col-md-2 col-xs-12 nopadding">
    <div class="embed-responsive embed-responsive-16by9">
        {{ tag_html("a", ["href":index.link, 'class' : 'venobox embed-responsive embed-responsive-16by9', 'data-gall' : 'vids',  'data-type':'iframe']) }}
        {{ image(index.thumb, "class":"img-responsive", "title":index.title) }}
        {{ tag_html_close("a") }}
    </div>
</div>
{% endfor %}
<div class="btn-group">
    {{ link_to("index/", '<i class="icon-fast-backward"></i> First', "class": "btn") }}
    {{ link_to("index?page=" ~ page.before, '<i class="icon-step-backward"></i> Previous', "class": "btn ") }}
    {{ link_to("index?page=" ~ page.next, '<i class="icon-step-forward"></i> Next', "class": "btn") }}
    {{ link_to("index?page=" ~ page.last, '<i class="icon-fast-forward"></i> Last', "class": "btn") }}
    <span class="help-inline">{{ page.current }}/{{ page.total_pages }}</span>
</div></div>
Thx for help