function parse($html = null, $blockName = 'document', $blockParams = null) { $blockParams = (array) $blockParams; $blockParams += array('id' => false, 'skin' => null); if ($blockName === 'NodeIndex') { $skin = empty(SL::getInstance()->view->params['named']['skin']) ? Inflector::camelize($blockParams['skin']) : Inflector::camelize(SL::getInstance()->view->params['named']['skin']); $skin = $skin && Pheme::init("NodeIndex{$skin}") ? "NodeIndex{$skin}" : "NodeIndexDefault"; } else { $skin = $blockName; } $this->vars['ajaxId'] = SL::uniqid(); if ($blockParams['id'] === false) { $nodes = $this->_getVar('nodes'); } else { if ($blockParams['id'] === 0) { $blockParams['id'] = null; } $nodes = SlNode::find('all', array('conditions' => array('CmsNode.parent_id' => $blockParams['id'], 'CmsNode.visible' => true), 'order' => array('CmsNode.lft' => 'asc'), 'auth' => 'index')); } if ($nodes) { foreach ($nodes as &$node) { $node['href'] = h(SlNode::url($node)); } $this->blocks["loop"]->params[0] =& $nodes; if ($skin != $blockName) { PhemeParser::$parseCallStack[] = Pheme::get($skin); } PhemeParser::$parseCallStack[] = Pheme::get('NodeView'); $html = parent::parse($html, $skin); array_pop(PhemeParser::$parseCallStack); if ($skin != $blockName) { array_pop(PhemeParser::$parseCallStack); } return $html; } }
function parse($html = null, $blockName = 'document', $blockParams = null) { if ($blockName == 'NodeTeaser' || $blockName == 'NodeBody') { $skin = $this->_getVar('CmsNode.model'); if ($skin) { $plugin = $this->_getVar('CmsNode.plugin'); } if (!empty($plugin)) { $skin = Pheme::init("{$plugin}.{$blockName}{$skin}") ? "{$blockName}{$skin}" : "{$blockName}Default"; } else { $skin = $skin && Pheme::init("{$blockName}{$skin}") ? "{$blockName}{$skin}" : "{$blockName}Default"; } } else { $skin = $blockName; } if ($skin != $blockName) { PhemeParser::$parseCallStack[] = Pheme::get($skin); $result = parent::parse($html, $skin); array_pop(PhemeParser::$parseCallStack); return $result; } else { return parent::parse($html, $skin); } }
public function parse($html, $blockName = 'document', $blockParams = null) { $blockParams = (array) $blockParams; return Pheme::get('Image')->parse($html, 'Image', am($this->params[0], $blockParams)); }