文档章节

Joomla模板开发-实战03

j
 joomla你好
发布于 2015/03/23 15:07
字数 813
阅读 68
收藏 0

Joomla模板开发-实战03

在本节中我们将详细介绍模板的index.php文件。

如果你做过web开发,那么你会有这样的几个问题:

怎样给一个模板增加css


1、怎样给一个模板增减js

2、怎样在我的模板中使用JQuery库

3、joomla模板是用什么语言开发的

4、joomla模板和普通的html文件有什么不同

看代码(因为代码太长,故将一个index.php文件分成3部分来讲解)

 

 /**

 * @package                Joomla.Site

 * @subpackage  Templates.beez_20

 * @copyright        Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.

 * @license                GNU General Public License version 2 or later; see LICENSE.txt

 */

 

// No direct access.

defined('_JEXEC') or die;

 

jimport('joomla.filesystem.file');

 

// check modules

$showLeftColumn  = ($this->countModules('position-1') or $this->countModules('position-2') or $this->countModules('position-3'));

$showRightColumn  = ($this->countModules('position-5') or $this->countModules('position-6') or $this->countModules('position-7'));

$showBottomBox =($this->countModules('position-8') or $this->countModules('position-9') or $this->countModules('position-10'));

 

 

 

 

 

JHtml::_('behavior.framework', true);

 

// get params

$color        = $this->params->get('templatecolor');

$logo        = $this->params->get('logo');

$navposition    = $this->params->get('navposition');

$app        = JFactory::getApplication();

$doc        = JFactory::getDocument();

$templateparams    = $app->getTemplate(true)->params;

 

$doc->addStyleSheet($this->baseurl.'/templates/system/css/system.css');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/position.css', $type = 'text/css', $media = 'screen,projection');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/layout.css', $type = 'text/css', $media = 'screen,projection');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/print.css', $type = 'text/css', $media = 'print');

 

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/topbar.css', $type = 'text/css');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/head.css', $type = 'text/css');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/footer.css', $type = 'text/css');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/mid.css', $type = 'text/css');

$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/page.css', $type = 'text/css');

/*$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/position/css/print.css', $type = 'text/css');*/

$doc->addStyleSheet($this->baseurl.'/myjs/lightbox/css/lightbox.css',$type = 'text/css');

代码解释:

  • 第9行代码: defined('_JEXEC') or die  这个是joomla的安全机制。每个文件照写就没有问题。他的意思是说,只允许通过joomla机制来访问这个文件,如果非法访问,就直接终止执行。

  • 第10行代码:jimport('joomla.filesystem.file')  意思很明了,导入文件系统。joomla为了方便操作写很多的类,用来完成各种操作。相关细节,可以查看joomla源代码

  • 第14到16行是在检查一个模板位置上是否发布了模块。我们通过用他来检查模块的发布情况,以此来动态调整页面的css。这个函数的使用非常简单,他只需要一个参数,那就是你要检查的位置,如果这个位置上发布了模块,那么返回true,否则返回false.

  • 第22行代码:JHtml::_('behavior.framework',true)  这段代码本人也不是很清楚他的作用。就放在这里就行了。

  • 第24行到27行,取得模板的设置参数。调用方法很简单$this->params->get('参数的名称')。

  • 第27行到30行得到一些对象。具体怎么用本人还没弄懂,照写就没问题。

  • 第30行到42行加载本模板需要的一些css和js.加载css用addStyleSheet(路径)  加载js用addScript(路径)

在这一节中,知道了如何获取后台参数,如何检测某一个位置是否发布了模块,已经怎样向模板中加载自己的css 和js文件。

 

 


© 著作权归作者所有

共有 人打赏支持
j
粉丝 3
博文 9
码字总数 4736
作品 0
南宁
Joomla模板实战开发第二篇

Joomla模板实战开发第二篇 现在我想在我的首页展示一个紧急通知的部分。要求可以从网站的后台手动输入通知的内容,也可以从文件读取内容显示。 模块开发过程: 在joomla中做开发,扩展的名称...

张敏樱木花道
2015/03/20
545
0
免费joomla商城+网银支付+支付宝支付+pay+微支付

ZMAX轻量级Joomla商城组件: 支持Joomla2.5 国产开发。由南宁市程序人软件科技有限责任公司ZMAX团队负责开发维护。我们承诺为所有的用户提供长期可靠的服务。 支持自定义模板 支持支付宝付款...

张敏樱木花道
2015/09/21
588
0
Joomla 3.8.13 发布,PHP 内容管理系统

Joomla!是一套全球知名的内容管理系统。Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,目前最新版本是3.8。可以在Linux、 Windows、MacOSX等各种不同的平台上执行。 1、Joomla内容管...

六艺网络专注于Joomla
前天
0
0
公司,可能要被强迫使用CMS,比如Joomla,要不要跟上面说抛弃CMS是必然结果

刚刚主管发了个Joomla的代码过来让我找个好看的后台安装。 之前除了以前认识dedecms,phpcms之类简单的cms之外,很少接触Joomla这种庞大的东西,可能我刚接触Joomla,有点害怕。 连个模板都要...

吴冠中
2012/03/15
3.3K
10
如果wordpress和joomla一定选一个的话,还是选joomla

如果wordpress和joomla一定选一个的话,还是选joomla。当然,这2个产品都不怎么适合B2C网站。 Joomla 与 Drupal 一样可以迅速把一个简单的网站变成一个社会性的博客。Joomla 也有非常活跃的用...

Sem怪怪
2013/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

将桌面捕获到虚拟摄像头

当然你可以直接用现成的虚拟摄像头软件实现这个功能。不过当初我开发这个插件的原因是,需要在Flash产品里面共享桌面,如果此时需要引导用户安装一个第三方的虚拟摄像头体验不好,所以公司希...

一个灰
23分钟前
1
0
Linux 配置网络绑定

1. 常见的网卡绑定驱动模式: mod=0 (balance-rr) Round-robin 衡抡循环策略 特点: 传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1.一直循环下去,直到最后一个传输完毕),...

JeremyTown
33分钟前
0
0
VS code 编辑器使用技能

VS code 文档:https://code.visualstudio.com/docs/getstarted/locales 1、安装中文扩展包 打开扩展包按钮(最左上角从上往下数第5个按钮或者快捷键 Ctrl + Shift + X) 搜索语言包categor...

削个椰子皮_给个梨
41分钟前
1
0
Django 2.1.2项目中创建一个应用

Django 2.1.2项目中创建一个应用: 1.新建一个应用(app), 名称叫 learn python manage.py startapp learn # learn 是一个app的名称 2.在learn应用中修改视图文件views.py: # Create your vi...

MichaelShu
42分钟前
1
0
Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。 问题...

程序猿DD
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部