vendor/bundles/Pagerfanta/View/OptionableView.php
author cavaliet
Fri, 21 Oct 2011 17:10:54 +0200
changeset 15 99ad73ef7385
permissions -rw-r--r--
first step for tag list and add Pagerfanta for paginator
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     1
<?php
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     2
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     3
/*
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     4
 * This file is part of the Pagerfanta package.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     5
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     6
 * (c) Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     7
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     8
 * For the full copyright and license information, please view the LICENSE
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     9
 * file that was distributed with this source code.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    10
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    11
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    12
namespace Pagerfanta\View;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    13
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    14
use Pagerfanta\PagerfantaInterface;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    15
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    16
/**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    17
 * OptionableView.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    18
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    19
 * This view renders another view with a default options to reuse them in a project.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    20
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    21
 * @author Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    22
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    23
 * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    24
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    25
class OptionableView implements ViewInterface
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    26
{
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    27
    private $view;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    28
    private $defaultOptions;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    29
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    30
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    31
     * Constructor.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    32
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    33
     * @param ViewInterface $view    A view.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    34
     * @param array         $options An array of default options (optional).
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    35
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    36
     * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    37
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    38
    public function __construct(ViewInterface $view, array $defaultOptions = array())
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    39
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    40
        $this->view = $view;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    41
        $this->defaultOptions = $defaultOptions;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    42
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    43
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    44
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    45
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    46
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    47
    public function render(PagerfantaInterface $pagerfanta, $routeGenerator, array $options = array())
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    48
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    49
        return $this->view->render($pagerfanta, $routeGenerator, array_merge($this->defaultOptions, $options));
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    50
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    51
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    52
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    53
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    54
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    55
    public function getName()
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    56
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    57
        return 'optionable';
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    58
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    59
}