/** * @group ZF-10793 */ public function testSetValueCreateContainer() { $this->registry->setContainerClass('Zend_View_Helper_Placeholder_RegistryTest_Container'); $data = array('ZF-10793'); $container = $this->registry->createContainer('foo', $data); $this->assertEquals(array('ZF-10793'), $container->data); }
public function testNamespaceRegisteredInPlaceholderRegistryAfterInstantiation() { $registry = Zend_View_Helper_Placeholder_Registry::getRegistry(); if ($registry->containerExists('Zend_View_Helper_HeadMeta')) { $registry->deleteContainer('Zend_View_Helper_HeadMeta'); } $this->assertFalse($registry->containerExists('Zend_View_Helper_HeadMeta')); $helper = new Zend_View_Helper_HeadMeta(); $this->assertTrue($registry->containerExists('Zend_View_Helper_HeadMeta')); }
public function renderAdmin($name, $placeholderName = 'content', $model = null) { $result = $this->view->placeholder($placeholderName)->toString(); if ($this->_access()) { if (sizeof($model)) { foreach ($model as $k => $v) { $this->view->{$k} = $v; } } $this->view->content = $result; $result = $this->view->render($name); } Zend_View_Helper_Placeholder_Registry::getRegistry()->deleteContainer($placeholderName); return $result; }
/** * Обрамляем текуший текст шаблоном * * @param string $text * @return string */ public function wrap($name, $function = false, $placeholderName = 'body', $model = null) { if ('content_item' == $placeholderName || 'content' == $placeholderName) { $this->view->placeholder($placeholderName)->captureStart(); $function(); $this->view->placeholder($placeholderName)->captureEnd(); return $this->view->renderAdmin($name, $placeholderName, $model); } $return = $resultEcho = false; if (is_callable($function)) { $this->view->placeholder($placeholderName)->captureStart(); $return = $function(); $this->view->placeholder($placeholderName)->captureEnd(); $resultEcho = $this->view->placeholder($placeholderName)->toString(); Zend_View_Helper_Placeholder_Registry::getRegistry()->deleteContainer($placeholderName); } $this->view->{$placeholderName} = $return ? $return : $resultEcho; $return = $this->view->render($name); unset($this->view->{$placeholderName}); return $return; }
/** * Checks whether a placeholder contains data or view variable exists * * @param string $name the name of the placeholder or view variable */ public function has($name) { // check view variables if (isset($this->{$name}) && !empty($this->{$name}) && $this->{$name} != '') { return true; } // check placeholders if ($this->_placeholderRegistry->containerExists($name)) { $value = $this->_placeholderRegistry->getContainer($name)->getValue(); if (is_array($value)) { foreach ($value as $v) { if (!empty($v) && $v != '') { return true; } } } else { if (!empty($value) && $value != '') { return true; } } } return false; }
/** * Initialize placeholder container for layout vars * * @return Zend_View_Helper_Placeholder_Container */ protected function _initVarContainer() { if (null === $this->_container) { require_once 'Zend/View/Helper/Placeholder/Registry.php'; $this->_container = Zend_View_Helper_Placeholder_Registry::getRegistry()->getContainer(__CLASS__); } return $this->_container; }
/** * Placeholder helper * * @param string $name * @return Zend_View_Helper_Placeholder_Container_Abstract */ public function placeholder($name) { $name = (string) $name; return $this->_registry->getContainer($name); }
/** * Constructor * * @return void */ public function __construct() { $this->setRegistry(Zend_View_Helper_Placeholder_Registry::getRegistry()); $registry = $this->getRegistry(); $this->setContainer($this->getRegistry()->getContainer($this->_regKey)); }
public function testGetRegistryRegistersWithGlobalRegistry() { $this->assertFalse(Zend_Registry::isRegistered(Zend_View_Helper_Placeholder_Registry::REGISTRY_KEY)); $registry = Zend_View_Helper_Placeholder_Registry::getRegistry(); $this->assertTrue(Zend_Registry::isRegistered(Zend_View_Helper_Placeholder_Registry::REGISTRY_KEY)); $registered = Zend_Registry::get(Zend_View_Helper_Placeholder_Registry::REGISTRY_KEY); $this->assertSame($registry, $registered); }
public function testUsingCustomContainerClassCreatesContainersOfCustomClass() { $this->registry->setContainerClass('ZendTest\\View\\Helper\\Placeholder\\MockContainer'); $container = $this->registry->createContainer('foo'); $this->assertTrue($container instanceof MockContainer); }
/** * Initialize placeholder container for layout vars * * @return Zend_View_Helper_Placeholder_Container */ protected function _initVarContainer() { if (null === $this->_container) { $this->_container = Zend_View_Helper_Placeholder_Registry::getRegistry()->getContainer(__CLASS__); } return $this->_container; }
/** * @group ZF-10343 */ public function testSetMetaCharsetShouldOnlyAvailableForHtml5() { $charset = 'UTF-8'; $options = array('doctype' => 'XHTML1_STRICT', 'charset' => $charset); $resource = new Zend_Application_Resource_View($options); $view = $resource->init(); $headMetaHelper = $view->headMeta(); $actual = null; $container = $headMetaHelper->getContainer(); foreach ($container as $item) { if ('charset' == $item->type) { $actual = $item->charset; break; } } $this->assertFalse($view->doctype()->isHtml5()); $this->assertNull($actual); $registry = Zend_View_Helper_Placeholder_Registry::getRegistry(); $registry->deleteContainer('Zend_View_Helper_HeadMeta'); $registry->deleteContainer('Zend_View_Helper_Doctype'); }