forked from pi-engine/pi
-
Notifications
You must be signed in to change notification settings - Fork 0
Dev.Front View Helper.zh_cn
adivspan edited this page Aug 6, 2013
·
7 revisions
加载后台管理界面的导航
$module = Pi::service('module')->current(); // 先获取到当前后台管理界面处在哪个模块下
$this->adminNav($module)->modes(); // 加载顶部的管理模式导航
$this->adminNav($module)->side(); // 加载侧边栏的模块导航
$this->adminNav($module)->top(); // 加载模块主内容里面的导航
生成页面元素,在主题模版页中使用 (第二个参数用于指定生成的html标签缩进多少个空格)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="<?php echo $charset; ?>">
<?php echo $this->assemble('headTitle', 4); ?>
<?php echo $this->assemble('headMeta', 4); ?>
<?php echo $this->assemble('headLink', 4); ?>
<?php echo $this->assemble('headStyle', 4); ?>
<?php echo $this->assemble('headScript', 4); ?>
</head>
<body>
<?php echo $this->assemble('footScript', 4); ?>
</body>
</html>
生成静态文件路径
$cssUri = $this->asset('theme/default', 'css/style.css'); // 生成 default 主题下 css/style.css 路径
$jsUri = $this->asset('module/demo', 'js/demo.js'); // 生成 demo 模块下 js/demo.js 路径
生成模块下的静态文件路径
$cssUri = $this->assetModule('css/style.css'); // 缺省为当前模块下
$cssUri = $this->assetModule('css/style.css', 'demo'); // 第二个参数用于指定某个模块下
生成主题下的静态文件路径
$cssUri = $this->assetTheme('css/style.css'); // 缺省为当前主题下
$cssUri = $this->assetTheme('css/style.css', 'default'); // 第二个参数用于指定某个主题下
加载 backbone 相关文件
$this->backbone(); // 缺省只加载 underscore-min.js 和 backbone.min.js
$this->backbone('some.js'); // 外加 some.js
$this->backbone(array( 'some.css', 'some.js', )); // 外加 some.css 和 some.js
$this->backbone('some.js', array('conditional' => '...', 'position' => 'prepend'));
$this->backbone(array(
'some.css' => array('media' => '...', 'conditional' => '...'),
'some.js',
));
获取绝对路径
$this->basePath(); // 缺省为获取网站首页的绝对路径
$this->basepath($file); // 获取 $file(相对网站首页的相对地址)的绝对路径
获取 page zone 页面10个区域( 0 和 99, 1 到 8,0 和 99 有特殊含义)的所有区块,一般在 {theme name}/template/layout-front.phtml
使用。
<?php
$blocks = $this->blocks(); // 获取所有区块数据
$blockTemplate = $this->template('block'); // 获取区块模版页路径
?>
<?php if (!empty($blocks[0])) { ?>
<div class="pi-zone-0">
<?php foreach ($blocks['0'] as $block) {
include $blockTemplate; // 加载区块模版页(通过循环来渲染 $blocks['0'] 的每个区块数据)
} ?>
</div>
<?php } ?>
... // 此处省略 $blocks[1] 到 $blocks[8],$blocks[99]
加载 bootstrap 相关文件
$this->backbone();
$this->backbone('some.js');
$this->bootstrap(array( 'some.css', 'some.js', ));
$this->backbone('some.js', array('conditional' => '...', 'position' => 'prepend'));
$this->backbone(array(
'some.css' => array('media' => '...', 'conditional' => '...'),
'some.js',
));