如何修改模块和组件实现你想要的效果 原

redmaomail 2024-07-25 10:35 阅读数 66 #Joomla

红帽云邮外贸主机

 

模块的修改:

第一步:找到模板的入口文件,一般是在template/模板文件名/indx.php,并且打开它。

第二步:引入一个css文件,在css文件夹中新建一个css文件,该文件是为了管理我们所修改的样式。建好文件后在indx.php文件引入,如下。(custom是我的文件名

<link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/custom.css">

第三步:找到你所要修改的模块的默认文件,一般模块的默认文件路径是这样的“modules\模块名字\tmpl/defaul.php”。打开defaul.php文件,如果你不确定该文件是不是模块的默认文件,可以在文件上敲写一些字(不要在<? php>中写入),然后刷新页面,如果显示你写的文字那么文件就找对了。

第四步:以joomla系统自带的“最新文章模块为例子”

1.在defaul.php文件写入

<? php

echo "<pre>";

print_r($list);

echo "</pre>";

?>

 

这三句代码的意思是换行打印$list,这三句话要有php的符号包括。为什么要写这三句话,主要是为了得到该模块的一些参数,然后在文件中输入。如以下图所显示模块参数

 

如以下如是该模块的default.php文件,该文件你可以随心所欲的布局。下面画红框的都是新修改的。下面我们来解释一下。

就拿最简单输出创建日期来说明。

<?php echo $item->created;?>这一句话的意思是在这里显示创建的日期。created就是该模块上图的其中一个参数。然后你可以给它加一个div或者其他标签都可以,主要是为了方便写样式。

再例如输出文章的图片

<?php 

$image_src_value =json_decode($item->images)->image_intro;

?>

 

这行php的代码的意思是获取$image_src_value,通过json_decode获得image_intro然后再把值给$image_src_value,然后再输出图片,输出图片代码如下:

<image src="/<?php echo $image_src_value;?>"/>

 

 然后你可以刷新页面,改内容已经显示,接下来就是调整样式了,如果你所写的样式没能显示,那么就是你的样式级别不够,你可以在前加个id就可以解决这个问题

 那么接下来我们看看我们所修改的样子现在成什么样了(样式可以根据自己需要调整)

 

组件的修改

组件的修改一般分为两种情况:

第一种:比如点击不是首页的菜单项的时候会跳转,那么这个页面可以是某个组件或者是某些模块组织起来的再或者组件的模块都有。(这里废话了一点,不过没关系)。

那么是如何修改组件的呢?其实方法还是和上面修改模块的大同小异,最主要的要找到组件的输出文件,那么问题来了,是如何找到的呢?它的的方法和找模块的方法有一些区别;下面来看这张图片,你就知道了

如果你的网站前台的链接不是这样多的字符串的话,那么你要去网站的后台的【全局设置】里的友好链接关闭,再刷新就可以了。

我们来分析上图的链接地址:com_content是组件的名称,view是视图,我们就是通过这一链接找到输出文件,于是通过这条链接找到blog.php文件,就是了,你可以试试在文件上面随便输写文字。

注意:上面的这种方法是你使用的模板没有对这个组件进行重写,重写了,在上面修改是无效的。那么又是怎么知道有没有被重写?你可以去网站模板下的【html】文件夹中找到有没有这个组件,有的话就是模板开发商进行重写了。上面模块忘记讲了,模块也是可以重写的。

第二种:当组件被重写,那么是如何找到,上一句我们有提到过模板下的【html】文件夹,然后再通过网站前台的链接找到,然后进行修改

下面讲解一下为什么当第二种情况存在的时候,第一种方法不能解决。原因很简单,因为你所选的模板是控制所有页面显示的,模板开发商所重写的组件优先级比joomla自带的组件高,所以第一种无效。那么组件以及模块没被重写的时候就会调用第一种情况了!

注意了:如果你看到有“loadTemplate(xxx)”,如以下代码

<div class="tb_item_info_r"><?php echo $this->loadTemplate('detail');?></div>


 

这句话的意思是输出“detail”文件里的内容

这篇文章暂时更新此,接下来会接着往下写如何封装修改好的模块以及组件,这个就是为了以后我们工作遇到使用类似的组件和模块可以拿出来使用。


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机