JA文档中文翻译 - JA模板定制FAQ - 创建区块及模块位
我们的默认布局不需要topsl和botsl区块。
拜年先;昨天的文档中,我们了解了怎样创建新的默认布局文件,今天继续,来看看默认布局中的区块定义以及需要调用的模块位。
通过昨天的默认布局代码,我们可以了解到构成当前布局的区块有如下这些:
- head.php
- header.php
- mainnav.php
- left.php
- main-shop.php
- footer.php
我们的默认布局不需要 topsl和botsl区块。
创建新区块
在模板路径的layouts/blocks文件夹中,创建名为main-shop.php的文件,并将原来main.php文件中的代码复制粘贴到新创建的文件中。
创建新模块位
先来看看Joomla原生的创建模块位方式。在main-shop.php的第60行之后,添加如下代码:
<div class="ja-mass clearfix">
<jdoc:include type="modules" name="featured-products" style="JAxhtml" />
</div>
<div class="ja-mass clearfix">
<jdoc:include type="modules" name="new-products" style="JAxhtml" />
</div>
这段代码会向默认布局添加两个新的模块位,用来放置Virtuemart的Featured Products和Latest Products模块的输出。需要注意的是,只有默认布局需要这两个模块位,所以只有shop.php文件会调用到新的main-shop.php区块文件。另外记得在模板的templateDetailx.xml文件中添加对应的模块位声明:
<position>featured-products</position>
<position>new-products</position>
再来看看T3框架下的创建模块位方式。同样,创建一个新的products.php文件,并将main.php中的代码复制粘帖到新创建的文件中。在60行之后添加如下代码:
<div class="ja-mass clearfix">
<jdoc:include type="modules" name="featured-products" style="JAxhtml" />
</div>
<div class="ja-mass clearfix">
<jdoc:include type="modules" name="new-products" style="JAxhtml" />
</div>
与传统方式不同,这些定义模块位的代码需要被添加到区块文件中,再通过布局文件调用该区块;现在打开shop.php布局文件,在区块位置声明中添加products区块,即:
$positions = array (
'left1' =>'left',
'left2' =>'',
'left-mass-top' =>'',
'left-mass-bottom' =>'',
'right1' =>'',
'right2' =>'',
'right-mass-top' =>'',
'right-mass-bottom' =>'',
'content-mass-top' =>'',
'content-mass-bottom' =>'products';, // set the new block position here
'content-top' =>',
'content-bottom' =>',
'inset1' =>',
'inset2' =>'
);
然后添加用来调用新区块位置的代码;在67行附近添加:
<?php $this->loadBlock('main') ?> // main-shop in our case
<?php $this->loadBlock('products') ?>
同样,最后记得在templateDetails.xml中添加对应的模块位声明。
接下来的文档教程中,我们来看看怎样创建布局变体。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: JA Template Framework/FAQs
| < Prev | Next > |
|---|

评论刷新