joomla有很多的扩展,但是有些不太方便客户在后台控制。打个比方说,我想在网站前台不显示该标题,那么我们要怎样去实现呢?

要考虑两个方面,第一后台的扩展要有参数给客户选择,比如说显示标题和不显示标题;第二方面要考虑的是如何让前台知道后台设置了什么参数?

所以接下来我们要做两件事情:

第一件就是给后台写入参数设置:找到要修改的扩展文件,下面以mod_zmaxshop_cateitems为例子

我们没在修改之前该模块的后台和前台如下样子如下

在网站的根目录下找到模块的xml文件并且打开,该文件是所写入后台参数的文件,你只需要在<fieldset></fieldset>标签内用<field 这里写的是参数的设置 ></field >囊括在里面就可以,如图

 

所添加的代码如下:

<field 
					name="show_item_title"
					label="显示标题"
					description="是否显示标题"
					type="list"
					default="1">
					<option value="1">显示</option>
					<option value="0">不显示</option>
				</field>

 

解释上述代码的意思定义一个name,改名字可以随你意任写,但是为了提高代码的阅读性,我们一般都会写一看明了的,该名字是为了后面所做的判断所设立

label:标签的意思,意思就是在后台所显示的文字,description:描述,它的作用就是描述这里是做什么的,type=“list”:类型:列表的意思,列表的值有显示和不显示,里面1和0是为方便我们判断,1是显示,0是不显示。

写完后我们保存后第一步写入后台的参数设置就好了,会看到的效果如图

 

那么接下来做第二步:在模块默认的文件下判断后台输入的参数,打个比方,如果后台输出标题是“显示”,那么显示标题,后台输出标题是不显示,那么前台不显示

第一步要找到输出标题的地方,如果没有再添加,大致的判断的代码如下

$show_item_title = $params->get("show_item_title");//获得后台设置参数

先定义一个变量$show_item_title ; $params 是参数的意思,就是通过它才得知后台的参数,它是固定不变的;get("show_item_title"):通过get();方法获取刚才我们写的名字show_item_title,这个一定要和上面所写的是一样的。

 

<?php if($show_item_title):?> 
    <!--获取标题--> 
    <a class="vmproductItemTitle" title="<?php echo $item->title;?>" href="/component/zmaxshop/item?id=&lt;?php_echo_$item-=&gt;id;?=&gt;="><?php echo mb_strimwidth($item->title,0,$max_titl e_l       ength,'......');?>
    </a>
    <br>
<?php endif;?>

 上述代码是判断标题的输出:该<?php if($show_item_title):?>是等价与<?php if($show_item_title==1)?>的;<?php endif;?>:意思是结束输出。上述代码没做如果不显示的判断,但是如果后台的标题是不显示,前台的标题也会不显示的,往往一般做这样的判断已经满足客户的需要了。下面我们在后台设置不显示标题,我们看一下前台的效果如何

 

 

评论 (0)

  • 最新在前
  • 最佳在前