本文整理汇总了PHP中BlockType::getBlockTypeHandle方法的典型用法代码示例。如果您正苦于以下问题:PHP BlockType::getBlockTypeHandle方法的具体用法?PHP BlockType::getBlockTypeHandle怎么用?PHP BlockType::getBlockTypeHandle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockType
的用法示例。
在下文中一共展示了BlockType::getBlockTypeHandle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
/**
* Renders a particular view for a block or a block type
* @param Block | BlockType $obj
* @param string $view
* @param array $args
*/
public function render($obj, $view = 'view', $args = array()) {
if ($this->hasRendered) {
return false;
}
$this->blockObj = $obj;
$customAreaTemplates = array();
if ($obj instanceof BlockType) {
$bt = $obj;
$base = $obj->getBlockTypePath();
} else {
$bFilename = $obj->getBlockFilename();
$b = $obj;
$base = $b->getBlockPath();
$this->block = $b;
$this->c = $b->getBlockCollectionObject();
if ($bFilename == '' && is_object($this->area)) {
$customAreaTemplates = $this->area->getCustomTemplates();
$btHandle = $b->getBlockTypeHandle();
if (isset($customAreaTemplates[$btHandle])) {
$bFilename = $customAreaTemplates[$btHandle];
}
}
}
$btHandle = $obj->getBlockTypeHandle();
if (!isset($this->controller)) {
$this->controller = Loader::controller($obj);
}
if (in_array($view, array('view', 'add', 'edit'))) {
$_action = $view;
} else {
$_action = 'view';
}
$u = new User();
$outputContent = false;
$useCache = false;
$page = Page::getCurrentPage();
if ($view == 'view') {
if ($this->controller->cacheBlockOutput() && ($obj instanceof Block)) {
if ((!$u->isRegistered() || ($this->controller->cacheBlockOutputForRegisteredUsers())) &&
(($_SERVER['REQUEST_METHOD'] != 'POST' || ($this->controller->cacheBlockOutputOnPost() == true)))) {
$useCache = true;
}
if ($useCache) {
$cID = 0;
if (is_object($page)) {
$cID = $page->getCollectionID();
}
$outputContent = Cache::get('block_view_output', $cID . ':' . $obj->getBlockID() . ':' . $obj->getAreaHandle());
}
}
}
if ($outputContent == false) {
$this->controller->setupAndRun($_action);
}
extract($this->controller->getSets());
extract($this->controller->getHelperObjects());
$headerItems = $this->controller->headerItems;
extract($args);
if ($this->controller->getRenderOverride() != '') {
$_filename = $this->controller->getRenderOverride() . '.php';
}
if ($view == 'scrapbook') {
$template = $this->getBlockPath(FILENAME_BLOCK_VIEW_SCRAPBOOK) . '/' . FILENAME_BLOCK_VIEW_SCRAPBOOK;
if (!file_exists($template)) {
$view = 'view';
}
}
if (!in_array($view, array('composer','view', 'add', 'edit', 'scrapbook'))) {
// then we're trying to render a custom view file, which we'll pass to the bottom functions as $_filename
$_filename = $view . '.php';
$view = 'view';
}
switch($view) {
case 'scrapbook':
$header = DIR_FILES_ELEMENTS_CORE . '/block_header_view.php';
$footer = DIR_FILES_ELEMENTS_CORE . '/block_footer_view.php';
break;
case 'composer':
case 'view':
if (!$outputContent) {
if (!isset($_filename)) {
$_filename = FILENAME_BLOCK_VIEW;
}
//.........这里部分代码省略.........
示例2: getBlockTypeToolsURL
/**
* Gets a full URL to a block's tools directory
* @param BlockType $bt
* @return string $url
*/
public function getBlockTypeToolsURL($bt)
{
return REL_DIR_FILES_TOOLS_BLOCKS . '/' . $bt->getBlockTypeHandle();
}