ShopEx customSchema 定制能够依据客户的需求对站点进行对应功能的加入改动或者删除
站内锚文本制作
1.改动config.php,在文件末尾添加下面内容
define('CUSTOM_CORE_DIR',BASE_DIR . '/custom');
2.添加custom目录(与core同目录)。再新建目录 include ,并新建文件 customSchema.php 添加内容例如以下
<?php
$cusmenu['tools'] = array(
'items'=>array(
array(
'type'=>'group',
'label'=>'站内锚文本',
'position'=>'after|begin|end|before',
'reference'=>'工具箱',
'items'=>array(
array(
'type'=>'menu',
'label'=>'锚文本管理',
'link'=>'index.php?ctl=custom/anchor&act=anchorList'
)
)
)
)
);
? >
3.新建控制器文件 ctl.anchor.php
4.新建模型文件 mdl.anchor.php
5.改动文章控制器 ctl.article.php 改动下面代码
$this->pagedata['article']['content'] = implode('',$tmpContent);
为下面代码
/*
**锚文本自己主动替换功能
**注意:假设确实包括字符但又没成功替换,请注意页面编码问题
**假设有必要的话,您能够自己定义样式来突出显示锚点内容,如 .anchor{color:red;}
*/
$tmpContent = implode("",$tmpContent);
$anchorObj = &$this->system->loadModel('custom/anchor');
$anchor = $anchorObj->getAnchorList();
$j = 0;
for($i = 0;$i<count($anchor);$i++){
if($j >= 5){break;}
$anchorName = trim($anchor[$i]['name']);
$anchorUrl = trim($anchor[$i]['url']);
if(strpos($tmpContent,$anchorName) !== false){
$str = "<a href='". $anchorUrl ."' target='_blank' class='anchor'>". $anchorName ."</a>";
$tmpContent = preg_replace('/'. $anchorName .'/',$str,$tmpContent,1);
$j++;
}
}
$this->pagedata['article']['content'] = $tmpContent;
完整实例,可点击这里下载:站内锚文
ShopEx customSchema 定制能够依据客户的需求对站点进行对应功能的加入改动或者删除的更多相关文章
- day 72 crm(9) 客户关系系统,整体实现,以及自定制路由内容,客户关系梳理
前情提要: crm(9) ,利用stark 组件和,rbac组键的使用, 明确观点: 一:客户关系需求明确 1:客户关系系统,主要是,本业务逻辑主要是 销售就客户关系的业务逻辑, 二: 创建ap ...
- 技术的止境(客户价值第一,快速实现第二,边做边学,迅速成为牛人。紧贴客户的需求去做技术,立于不败之地。追求的目标:把一项产品去做好,用产品去养活自己和家人)good
作为一个依靠技术来谋生的程序员,我最近一直在思考一个问题,有限的生命里,面对无限的技术更新,我要研究到什么程度才能算是完成我的成为技术大牛的目标呢?换而言之,那就是技术的止境在哪儿呢?深入的思考下去, ...
- <p>在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性。由于编程实际上是和机器打交道,而和机器打交道,仅仅要你符合机器预定的逻辑,</p>
在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性. 由于编程实际上是和机器打交道.而和机器打交道,仅仅要你符合机器预定的逻辑, 一步步迈向解决这个问题的道路上一点都不 ...
- 博云DevOps 3.0重大升级 | 可用性大幅提升、自研需求管理&自定义工作流上线,满足客户多样化需求
DevOps能够为企业带来更高的部署频率.更短的交付周期与更快的客户响应速度.标准化.规范化的管理流程,可视化和数字化的研发进度管理和可追溯的版本也为企业带来的了更多的价值.引入DevOps成为企业实 ...
- 直播的本质(创业者应该要从商业模式的右边开始思考,你为用户创造了什么价值?找客户并不难,但要想办法让客户不离不弃;PC端功能的丰富很重要,因为手机版通常只是一个迷你版)
我想稍微给直播这件事浇点冷水. 的确,直播现在越来越火,YouTube凭着良好的基础建设平台前段时间也做起了直播,Facebook Live最近也加入了变脸.预定直播时间和双人录制的功能,更不用说国内 ...
- Django项目:CRM(客户关系管理系统)--11--04PerfectCRM实现King_admin注册功能03
#base_admin.py #Django admin 注册功能的形式 # sites = { # 'crm':{ # 'customers':CustomerAdmin, # 'customerf ...
- Django项目:CRM(客户关系管理系统)--14--06PerfectCRM实现King_admin注册功能获取内存优化处理
<th >{% get_app_name admin_class.model %}{{ admin_class }} </th> #kingadmin_tags.py # —— ...
- Django项目:CRM(客户关系管理系统)--12--05PerfectCRM实现King_admin注册功能获取内存01
#base_admin.py #Django admin 注册功能的形式 # sites = { # 'crm':{ # 'customers':CustomerAdmin, # 'customerf ...
- FastDFS:Java客户都实现文件的上传、下载、修改、删除
客户端版本:fastdfs_client_v1.24.jar 配置文件 connect_timeout = 200 network_timeout = 3000 charset = UTF-8 htt ...
随机推荐
- [置顶] Linux下发布QT程序
Linux下发布QT程序 概述 无论在windows下还是在linux下,可执行程序的运行都依赖于相关的运行库,我们需要将依赖的库找到放到特定的位置,让可执行文件能够找到.在不知道可执行文件依赖哪些库 ...
- Revit API创建一个拷贝房间内对象布局命令
本课程演示创建一个拷贝房间内对象布局命令,完整演示步骤和代码.这个命令把选中房间内的对象复制到其它选中的一个或多个房间中,而且保持与源房间一致的相对位置.通过本讲座使听众知道创建一个二次开发程序很简单 ...
- AngularJS使用OData请求ASP.NET Web API资源的思路
本篇整理AngularJS使用OData请求ASP.NET Web API资源的思路. 首先给ASP.NET Web API插上OData的翅膀,通过NuGet安装OData. 然后,给control ...
- Delphi把一张PNG横向分割成N张透明通道的图片
Delphi新版本虽然集成了PngImage但是分割复制什么的却非常难用.稍微封装了一下.可以把一张PNG横向分割成N张.透明通道什么的都可以保持不变.typeTPngArray = array of ...
- lastlog
[root@li739-39 ~]# lastlogUsername Port From Latestroot pts/1 183.15.253.245 Thu Oct 29 05:57:29 +00 ...
- ECShop 调用自定义广告
原文地址:http://www.ecshoptemplate.com/article-1348.html ECShop中关于广告的调用方法,网上有很多,现在要介绍的不同于其他,根据实际情况选择使用,以 ...
- libxml2.dylb 罗致<libxml/tree.h> 老是找不到头文件
libxml2.dylb 导致<libxml/tree.h> 老是找不到头文件 添加了libxml2.dylb的framework ,结果还是引用不了<libxml/tree.h&g ...
- C#编程(四十七)----------集合接口和类型
原文链接: http://blog.csdn.net/shanyongxu/article/details/47005979 集合接口和类型 前面介绍了数组和Array类实现的接口.数组的大小是固定的 ...
- WordPress主题开发:开启侧边栏小工具功能
步骤一:在主题的functions.php中,添加一段代码,开启侧边栏功能,代码如下: <?php //参数 $args = array( 'name' => __( '主侧边栏'), ' ...
- ASP.NET MVC:模块化/插件式架构实现(转载)
I’ve recently spent quite a lot of time researching and prototyping different ways to create a plugi ...