Пример #1
0
 /**
  * Enter description here...
  *
  * @param Varien_Simplexml_Element $node
  * @param Varien_Simplexml_Element $parent
  * @return Mage_Core_Model_Layout
  */
 protected function _generateAction($node, $parent)
 {
     if (isset($node['unlessconfig']) && ($configPath = (string) $node['unlessconfig'])) {
         if (Mage::getStoreConfigFlag($configPath)) {
             return $this;
         }
     }
     return parent::_generateAction($node, $parent);
 }
Пример #2
0
 /**
  * Records action call
  * (non-PHPdoc)
  * @see Mage_Core_Model_Layout::_generateAction()
  */
 protected function _generateAction($node, $parent)
 {
     $this->_collectedArgs = null;
     parent::_generateAction($node, $parent);
     if ($this->_collectedArgs !== null) {
         $method = (string) $node['method'];
         if (!empty($node['block'])) {
             $parentName = (string) $node['block'];
         } else {
             $parentName = $parent->getBlockName();
         }
         $target = $parentName . '::' . $method;
         $this->record(self::ACTION_BLOCK_ACTION, $target, $this->_collectedArgs);
     }
     return $this;
 }
Пример #3
0
 private function processingGenerateAction($node, $parent, $type = null, $result = null)
 {
     $result = '__empty__' == $result ? false : $result;
     if (!is_null($type)) {
         switch ($type) {
             case 'setTemplate':
                 if (!$result) {
                     return $this;
                 }
                 $node['method'] = 'setTemplate';
                 $node->template = $result;
                 break;
             case 'Bool':
                 if (!$result) {
                     return $this;
                 }
                 break;
             case 'invertBool':
                 if ($result) {
                     return $this;
                 }
                 break;
             case 'addItem':
                 if (!$result) {
                     return $this;
                 }
                 $node['method'] = 'addItem';
                 $node->type = 'skin_js';
                 $node->name = $result;
                 break;
             case 'addJs':
                 if (!$result) {
                     return $this;
                 }
                 $node['method'] = 'addJs';
                 $node->script = $result;
                 break;
             case 'addCss':
                 if (!$result) {
                     return $this;
                 }
                 $node['method'] = 'addCss';
                 $node->stylesheet = $result;
                 break;
             case 'addBodyClass':
                 if (!$result) {
                     return $this;
                 }
                 $node['method'] = 'addBodyClass';
                 $node->classname = $result;
                 break;
             default:
                 return $this;
         }
     }
     return parent::_generateAction($node, $parent);
 }