本文整理汇总了PHP中SimpleXMLElement::getBlockName方法的典型用法代码示例。如果您正苦于以下问题:PHP SimpleXMLElement::getBlockName方法的具体用法?PHP SimpleXMLElement::getBlockName怎么用?PHP SimpleXMLElement::getBlockName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleXMLElement
的用法示例。
在下文中一共展示了SimpleXMLElement::getBlockName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _generateBlock
/**
* Gernerate block for the passed node
*
* @param SimpleXMLElement $node
* @param SimpleXMLElement $parent
* @return Core_Model_Layout
*/
protected function _generateBlock($node, $parent)
{
if (!empty($node['class'])) {
$className = (string) $node['class'];
} else {
$className = App_Main::getBlockClassName((string) $node['type']);
}
$blockName = (string) $node['name'];
$block = $this->addBlock($className, $blockName);
if (!$block) {
return $this;
}
if (!empty($node['parent'])) {
$parentBlock = $this->getBlock((string) $node['parent']);
} else {
$parentName = $parent->getBlockName();
if (!empty($parentName)) {
$parentBlock = $this->getBlock($parentName);
}
}
if (!empty($parentBlock)) {
$alias = isset($node['as']) ? (string) $node['as'] : '';
if (isset($node['before'])) {
$sibling = (string) $node['before'];
if ('-' === $sibling) {
$sibling = '';
}
$parentBlock->insert($block, $sibling, false, $alias);
} elseif (isset($node['after'])) {
$sibling = (string) $node['after'];
if ('-' === $sibling) {
$sibling = '';
}
$parentBlock->insert($block, $sibling, true, $alias);
} else {
$parentBlock->append($block, $alias);
}
}
if (!empty($node['template'])) {
$block->setTemplate((string) $node['template']);
}
if (!empty($node['output'])) {
$method = (string) $node['output'];
$this->addOutputBlock($blockName, $method);
}
return $this;
}