站内锚文本制作
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 定制能够依据客户的需求对站点进行对应功能的加入改动或者删除的更多相关文章

  1. day 72 crm(9) 客户关系系统,整体实现,以及自定制路由内容,客户关系梳理

    前情提要: crm(9)  ,利用stark 组件和,rbac组键的使用,   明确观点: 一:客户关系需求明确 1:客户关系系统,主要是,本业务逻辑主要是 销售就客户关系的业务逻辑, 二: 创建ap ...

  2. 技术的止境(客户价值第一,快速实现第二,边做边学,迅速成为牛人。紧贴客户的需求去做技术,立于不败之地。追求的目标:把一项产品去做好,用产品去养活自己和家人)good

    作为一个依靠技术来谋生的程序员,我最近一直在思考一个问题,有限的生命里,面对无限的技术更新,我要研究到什么程度才能算是完成我的成为技术大牛的目标呢?换而言之,那就是技术的止境在哪儿呢?深入的思考下去, ...

  3. <p>在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性。由于编程实际上是和机器打交道,而和机器打交道,仅仅要你符合机器预定的逻辑,</p>

    在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性. 由于编程实际上是和机器打交道.而和机器打交道,仅仅要你符合机器预定的逻辑, 一步步迈向解决这个问题的道路上一点都不 ...

  4. 博云DevOps 3.0重大升级 | 可用性大幅提升、自研需求管理&自定义工作流上线,满足客户多样化需求

    DevOps能够为企业带来更高的部署频率.更短的交付周期与更快的客户响应速度.标准化.规范化的管理流程,可视化和数字化的研发进度管理和可追溯的版本也为企业带来的了更多的价值.引入DevOps成为企业实 ...

  5. 直播的本质(创业者应该要从商业模式的右边开始思考,你为用户创造了什么价值?找客户并不难,但要想办法让客户不离不弃;PC端功能的丰富很重要,因为手机版通常只是一个迷你版)

    我想稍微给直播这件事浇点冷水. 的确,直播现在越来越火,YouTube凭着良好的基础建设平台前段时间也做起了直播,Facebook Live最近也加入了变脸.预定直播时间和双人录制的功能,更不用说国内 ...

  6. Django项目:CRM(客户关系管理系统)--11--04PerfectCRM实现King_admin注册功能03

    #base_admin.py #Django admin 注册功能的形式 # sites = { # 'crm':{ # 'customers':CustomerAdmin, # 'customerf ...

  7. Django项目:CRM(客户关系管理系统)--14--06PerfectCRM实现King_admin注册功能获取内存优化处理

    <th >{% get_app_name admin_class.model %}{{ admin_class }} </th> #kingadmin_tags.py # —— ...

  8. Django项目:CRM(客户关系管理系统)--12--05PerfectCRM实现King_admin注册功能获取内存01

    #base_admin.py #Django admin 注册功能的形式 # sites = { # 'crm':{ # 'customers':CustomerAdmin, # 'customerf ...

  9. FastDFS:Java客户都实现文件的上传、下载、修改、删除

    客户端版本:fastdfs_client_v1.24.jar 配置文件 connect_timeout = 200 network_timeout = 3000 charset = UTF-8 htt ...

随机推荐

  1. Android 解压zip文件

    过了n多天后,当再次使用原先博客上写的那篇: Android 压缩解压zip文件 去做zip包的解压的时候,出现了原来没有发现的很多问题.首先是中文汉字问题,使用java的zip包不能很好的解决解压问 ...

  2. linux后台开发核心技术

    3. 常用STL的使用 3.1. string (1)string类的实现(使用strlen.strcpy.strcat.strcmp等,注意判NULL). (2)C++字符串和C字符串的转换:dat ...

  3. .NET基于Eleasticsearch搭建日志系统实战演练

    一.需求背景介绍 1.1.需求描述 大家都知道C/S架构模式的客户端应用程序(比如:WinForm桌面应用.WPF.移动App应用程序.控制台应用程序.Windows服务等等)的日志记录都存储在本地客 ...

  4. delphi 取上级目录

    var  S: string;begin  S := 'c:\aa\bb\cc\dd\abc.exe';  ShowMessage(ExtractFileDir(ExtractFileDir(S))) ...

  5. MySQL主从复制的原理及配置方法(比较详细)

    MySQL 的数据库的高可用性的架构大概有以下几种:集群,读写分离,主备.而后面两种都是通过复制来实现的.下面将简单介绍复制的原理及配置,以及一些常见的问题 一.复制的原理 MySQL 复制基于主服务 ...

  6. Setting an Event to Null

    I have a code like this: public class SomeClass { int _processProgress; public int ProcessProgress { ...

  7. myeclipse和eclipse的区别和联系,以及版本间的对应关系

    Eclipse:IBM花了4千万美金来开发这个IDE(Integrated Development Environment).第一版1.0在2001年11月释出,随后逐渐受到欢迎.Eclipse已经成 ...

  8. 内存映射函数remap_pfn_range学习——示例分析(1)

    span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...

  9. 声卡由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。(代码 19),

    https://zhidao.baidu.com/question/531423560.html 开始 菜单运行  regedit  找到 HKEY_LOCAL_MACHINE\SYSTEM\Curr ...

  10. hibernate 注解 联合主键映射

    联合主键用Hibernate注解映射方式主要有三种: 第一.将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将 该类注解 ...