示例#1
0
 /**
  * @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);
 }
示例#2
0
 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'));
 }
示例#3
0
 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;
 }
示例#4
0
 /**
  * Обрамляем текуший текст шаблоном
  *
  * @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;
 }
示例#5
0
 /**
  * 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;
 }
示例#7
0
 /**
  * Placeholder helper
  * 
  * @param  string $name 
  * @return Zend_View_Helper_Placeholder_Container_Abstract
  */
 public function placeholder($name)
 {
     $name = (string) $name;
     return $this->_registry->getContainer($name);
 }
示例#8
0
 /**
  * Constructor
  * 
  * @return void
  */
 public function __construct()
 {
     $this->setRegistry(Zend_View_Helper_Placeholder_Registry::getRegistry());
     $registry = $this->getRegistry();
     $this->setContainer($this->getRegistry()->getContainer($this->_regKey));
 }
示例#9
0
 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);
 }
示例#10
0
 public function testUsingCustomContainerClassCreatesContainersOfCustomClass()
 {
     $this->registry->setContainerClass('ZendTest\\View\\Helper\\Placeholder\\MockContainer');
     $container = $this->registry->createContainer('foo');
     $this->assertTrue($container instanceof MockContainer);
 }
示例#11
0
 /**
  * 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;
 }
示例#12
0
 /**
  * @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');
 }