dedecms织梦网站内容页怎么自动添加关键词链接
可以用代码二次开发,我给你讲一下我的实现方法。
首先要添加一个作者栏目,然后在栏目里面添加作者文档,定义一个模板,模板中用{dede:sql}调用这个作者的所有小说即可。
代码如下:
{dede:sql sql="Select id,title,litpic,writer,description from dede_archives where writer=~title~ order by pubdate DESC"}<li><a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id] "><img src=[field:litpic/] width="114px" height="160px"/><h2>[field:title/] - [field:writer/]</h2><p>[field:description/]</p></a></li>{/dede:sql}然后在小说更新的时候添加个自定义字段,作者链接,模板的作者处调用该字段即可,如果没有作者,则留空。
代码如下:
<a href="{dede:fieldofficialdemo runphp='yes'}if(@me =='http://') @me='#';else @me=@me;{/dede:fieldofficialdemo}">{dede:fieldwriter/}</a>这样的好处是符合逻辑,并且作者页面可以生成静态,坏处是工作量变大,如果你图简单,可以自己做个authorphp页面,接受传参,里面直接按照传参搜索数据库就可以了,然后小说模板中作者处调用如下代码:
authorphpkey=[fieldwriter /]这样也可以啊。
DedeCms是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统。作用是构建域名为com、cx、cn、cc、net等中小型网站。中文名织梦,管理系统名称PHP开源。
DedeCm经超过20万以上站长级用户群经过长达4年之久的广泛应用和复杂化环境的检测,系统在安全性、稳定性、易用性方面具有较高的声誉,倍受广大站长推崇。 DedeCms采用PHP+MySQL技术开发,程序源代码完全开放,在尊重版权的前提下能极大地满足站长对于网站程序进行二次开发。
扩展资料
DedeCms的运行环境
1、Windows 平台
IIS/Apache + PHP4/PHP5 + MySQL3/4/5 如果在windows环境中使用,建议用DedeCMS提供的DedeAMPZ套件以达到最佳使用性能。
2、Linux/Unix 平台
Apache + PHP4/PHP5 + MySQL3/4/5 (PHP必须在非安全模式下运行) 建议使用平台:Linux+ Apache22 + PHP52 + MySQL50。
3、PHP必须环境或启用的系统函数
allow_url_fopen GD扩展库 MySQL扩展库 系统函数 —— phpinfo、dir。
-织梦 (PHP开源网站内容管理系统)
第一步:进入网站后台进行设置
1、首先登录网站管理后台 选择 系统-系统基本参数-核心设置>找到关键词替换(是/否)一栏 选择 是
2、然后在 系统-系统基本参数-其他选项 中 找到 文档内容同一关键词替换次数(0为全部替换): 后面写个 1或者2,这个随便自己写
3 在后台的 采集- 文档关键词维护一栏 对关键词 加上需要的链接!
这时有个小问题需要解决下 经过以上的几个步骤 只能实现 在关键词 一栏中填写的关键词 才会有链接! 而内容出现的并没链接 所以 我们需要通过下一步来实现 内容页出现链接
第二步:打开/include/arcarchivesclassphp进行代码替换,
找到下面代码
foreach($kws as $k) { $k = trim($k); if($k!=”") { if($i > $maxkey) { break; } $myrow = $this->dsql->GetOne(“select from dede_keywords where keyword=’$k’ And rpurl<>” “); if(is_array($myrow)) { $karr[] = $k; $GLOBALS['replaced'][$k] = 0; $kaarr[] = “<a href=’{$myrow['rpurl']}’><u>$k</u></a>”; } $i++; } }
替换为:
global $dsql; $query=”SELECT FROM dede_keywords WHERE rpurl<>” ORDER BY rank DESC”; $dsql->SetQuery($query); $dsql->Execute(); while($row = $dsql->GetArray()) { $key = trim($row['keyword']); $key_url=trim($row['rpurl']); $karr[] = $key; $kaarr[] = “<a href=’$key_url’ target=’_blank’><u>$key</u></a>”; }
这样我们就设置好了,但是我们一般尽量设置核心关键词,不要次数过多,不然可能导致优化过度
根据后台获取的浏览该网页客户端的时区,返回相应的网站页面(中文时区返回中文页面,英文时区返回英文页面)。这种方式需要设置中英文对应时区的关系。
2直接设置返回所有请求返回页面为英文,当传递特殊请求需要中文时候返回中文页面。
您好,朋友。跟版网团队很高兴为您解答:
1、添加字段(修改数据库--dede_arctype表)在smalltypes字段后添加字段engtype,你可以直接运行以下sql语句:
alter table dede_arctype add engtype varchar(150);
2、修改栏目添加文件
打开后台目录,默认是dede文件夹,里面的dede/catalog_addPHP文件。在第65行与227行两处一样的修改,搜索 reid,topid,sortrank,typename,typedir
在逗号后面添加(注意逗号)engtype
下面第二行的
'~reid~','~topid~','~rank~','~typename~','~typedir~'
后面添加 '~engtype~'
3、再打开dede\templets目录下的catalog_addhtm,在第250行搜索
<td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
在下面</tr>后添加如下代码
<tr><td class='bline' height="26" style="padding-left:10px;"><font color='red'>英文栏目:</font></td>
<td class='bline'><input name="engtype" type="text" id="engtype" style="width:300px;" value="<php echo $myrow['engtype']>" class="iptxt" /></td> </tr>
4、修改栏目更改文件
打开后台目录,默认是dede文件夹,里面的dede/catalog_editPHP文件。搜索 `smalltypes`='$smalltypes' 大概在第62行添加下面的代码
`smalltypes`='$smalltypes', `engtype`='$engtype',
然后打开dede/templets/catalog_edithtm 在第213行搜索
<td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
也是在
后面添加
<tr><td class='bline' height="26" style="padding-left:10px;"><font color='red'>英文栏目:</font></td> <td class='bline'><input name="engtype" type="text" id="engtype" style="width:300px;" value="<php echo $myrow['engtype']>" class="iptxt" /></td> </tr>
6、channel调用需修改
调用的时候也要修改相关字段的文件。我调用是用dede:channel标签来调用显示顶级栏目或者子栏目,于是我们要去修改相对应的PHP文件,打开\include\taglib\channellibphp
文件,在第80、86、92、111行左右,添加我们新加的字段
不知道我写的够不够详细,希望我的回答能够给您带来帮助。跟版网-专业织梦模板定制和下载站。 wwwgenbanorg{dede:field name='position' runphp='yes'}
$b = '<a href="/">主页</a>'; //你看看这条链接对不,就程序默认主页的链接
$b2 = "<a href='域名/域名/'>主页</a>"; //换成你要的链接
@me=str_replace($b,$b2,@me);
{/dede:field}
这样就替换成你要的链接了,这样的方法应该对你有用。
0条评论