- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-
- namespace Zend\View\Helper;
-
- use Zend\View\Exception;
- use Zend\View\Model\ModelInterface as Model;
-
- /**
- * View helper for retrieving layout object
- */
- class Layout extends AbstractHelper
- {
- /**
- * @var ViewModel
- */
- protected $viewModelHelper;
-
- /**
- * Set layout template or retrieve "layout" view model
- *
- * If no arguments are given, grabs the "root" or "layout" view model.
- * Otherwise, attempts to set the template for that view model.
- *
- * @param null|string $template
- * @return Layout
- */
- public function __invoke($template = null)
- {
- if (null === $template) {
- return $this->getRoot();
- }
-
- return $this->setTemplate($template);
- }
-
- /**
- * Get layout template
- *
- * @return string
- */
- public function getLayout()
- {
- return $this->getRoot()->getTemplate();
- }
-
- /**
- * Get the root view model
- *
- * @throws Exception\RuntimeException
- * @return null|Model
- */
- protected function getRoot()
- {
- $helper = $this->getViewModelHelper();
-
- if (!$helper->hasRoot()) {
- throw new Exception\RuntimeException(sprintf(
- '%s: no view model currently registered as root in renderer',
- __METHOD__
- ));
- }
-
- return $helper->getRoot();
- }
-
- /**
- * Set layout template
- *
- * @param string $template
- * @return Layout
- */
- public function setTemplate($template)
- {
- $this->getRoot()->setTemplate((string) $template);
- return $this;
- }
-
- /**
- * Retrieve the view model helper
- *
- * @return ViewModel
- */
- protected function getViewModelHelper()
- {
- if (null === $this->viewModelHelper) {
- $this->viewModelHelper = $this->getView()->plugin('view_model');
- }
-
- return $this->viewModelHelper;
- }
- }
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
9 years ago
|
|