修改JOOMLA组建或模块的样式

 布局的优先性只在当前模板有效,而且想要优先输出的布局文件必须位于该模板的 /html 目录中。例如,对于 rhuk_milkyway 模板来说,就位于 /templates/rhuk_milkyway/html/ 目录中;对于 JA Purity 模板来说,就位于 /templates/ja_purity/html/ 目录中;对于 Beez 模板来说,就位于 /templates/beez/html/ 目录中。

 

      (译者注:本文所谓的“优先输出”是指,对于某个符合 MVC 设计结构的组件来说,它已经自带若干布局;如果我们在当前模板中重新设计了该组件的某些布局,则 Joomla! 1.5 会优先使用模板文件夹中定义的布局,忽略组件自带的布局。这就是“优先输出”。)

 

      再次强调:当你为某个模板创建了“优先输出”,该优先性只在这个模板上有效,对其它模板就无效。例如,rhuk_milkyway 模板没有任何组件的优先输出,当你使用此模板时,所看到的前台是各个组件的原样输出(组件作者所设定的);当你使用 Beez 模板时,前台几乎每一个组件的外观都已被该模板中定义的优先输出所控制(模板设计者个性化了);JA Purity 模板介于上述两者之间,只有部分组件被创建了优先输出,而且也只是这些组件的部分视图。

 

      布局优先性的实现要求布局文件必须按照特定的方式来上传。以 Beez 模板为例,我们可以在它目录中看到下面的文件结构:

 

 

/templates
     /beez
          /html
            /com_content         (此目录与组件目录名称相同)
                 /articles                (此目录与视图目录名称相同)
                      default.php          (此文件与布局文件名称相同)
                      form.php

 

 

从这里可以看出组件“优先输出”的文件结构很简单:/模板名称//html/com_组件_名称/视图_名称/布局_文件_名称.php 。我们来看一个例子:

 

      rhuk_milkyway 模板没有任何组件的优先输出,如果我们想要对文章的默认布局进行优先输出设计,就这样做:

      首先将 /components/com_content/views/article/tmpl/default.php 这个文件复制到这个模板的目录中(需要创建 html 目录因为原来没有),最后实现 /templates/rhuk_milkyway/html/com_content/article/default.php 这个结构。

 

      如果我们还想要对类别视图的博客布局进行优先输出设计,就需要将 /components/com_content/views/category/tmpl/blog.php 这个文件复制到 /templates/rhuk_milkyway/html/com_content/category/blog.php 这个位置。

 

      在完成了文件复制之后,你就可以按照需求来修改这些文件,以实现你的个性化设计方案。

子布局的优先输出

      在某些视图目录中,可以看到某些布局拥有一些文件名前半部分相同的文件。以 category 视图为例,其 blog 布局实际上由三部分组成:一个主布局 blog.php ,两个子布局 blog_item.php 和 blog_links.php。研究一下 blog.php 文件的代码,就能发现它是如何通过 loadTemplate 方法来调用这两种子布局的:

 

echo $this->loadTemplate('item');

 // or

echo $this->loadTemplate('links'); 

 

 

      在加载子布局时,视图已经知道你所处的上层布局是什么,因此无需写全前缀(在本例中,你只需在代码中写 item,而不用写 blog_item)。

 

      我们在这里专门讨论子布局是想说明:当你只想对某个子布局实现优先输出时,无需完全复制那一系列文件。例如,你对 Joomla! 本身的 blog 布局很满意,但是想自定义 item 这个子布局的输出样式,那么就只需复制 /components/com_content/views/category/tmpl/blog_item.php 这个文件到 /templates/rhuk_milkyway/html/com_content/category/blog_item.php 这里即可。当 Joomla! 1.5 处理该视图时,会自动从组件本身的目录(com_content)中读取 blog 布局定义,同时从当前模板的目录中读取 blog_item.php  定义的子布局。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值