dedecms织梦网站内容页怎么自动添加关键词链接
有两种方法:
第一种自动添加内链
在文档关键词中添加相对应的关键词和链接 ,这样文章内容中出现你所添加的关键词会自动添加链接的 ,比较方法(下看图)
第二种手动添加链接
在编辑框中选中你要添加链接的关键词,选择插入/编辑超链接按钮,在新弹出窗口中添加对应链接即可(看下图)
方法/步骤
管理登录
首先第一步,先登录织梦会员用户。
添加文档
进入织梦后台,点击“所有文档列表”然后选择“添加文档”如图所示:
发布文章
在发布文章中把“文章标题”、“文章栏目”、“内容摘要”等相关的信息编辑好。
插入\编辑超链接
文章内容写编辑好后,把需要添加链接的内容文字全选中,然后点击“插入\编辑超链接”的标志。
链接
如果需要给添加链接,方法也是一样。只要把选择,再点击“插入\编辑超链接”的标志就可以了。
插入链接
点击“插入\编辑超链接”后,在对话框中插入超链接,确认无误后,点击下方“确定”按钮。
保存
文章编辑好后,在文档编辑器的下方有“保存”按钮,将我们编辑好的文档保存更新就可以了。
第一步:进入网站后台进行设置
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>”; }
这样我们就设置好了,但是我们一般尽量设置核心关键词,不要次数过多,不然可能导致优化过度
有两种方法,
第一,直接把div标签放到a链接里面,即
<a href="你的链接"><div class="bannerbg_main" style="background-image:url(/big_image/banner3jpg); cursor:pointer;" onclick=""> </div></a>
第二,就是运用js,onclick函数,如下
<div class="bannerbg_main" style="background-image:url(/big_image/banner3jpg); cursor:pointer;" onclick="windowopen('你的链接')"> </div>
DedeCms56文章页关键词自动添加超链接的教程
需要以下设置:
1、后台-采集-文档关键词维护 添加关键词及链接
2、后台-系统-核心设置 关键字替换(是/否)使用本功能会影响HTML生成速度: 是
3、后台-系统-其他选项 文档内容同一关键词替换次数(0为全部替换): 设置一个数值 (这里顺便提一下,比如一篇文章含有互相包含关键词,比如dede和dedecms,系统会把后面的dedecms会被dede替代,我的做法是,关键词替换次数设置为1次,然后文档关键词维护那里把dede和dedecms的频率设置成一样,就搞定了。)
修改文件:/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[] = " $k"; } $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>";
}
可以用代码二次开发,我给你讲一下我的实现方法。
首先要添加一个作者栏目,然后在栏目里面添加作者文档,定义一个模板,模板中用{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 /]这样也可以啊。
0条评论