GVKun编程网logo

dedecms中英文网站之中英文搜索结果(中英文对照网站)

13

在本文中,您将会了解到关于dedecms中英文网站之中英文搜索结果的新资讯,同时我们还将为您解释中英文对照网站的相关在本文中,我们将带你探索dedecms中英文网站之中英文搜索结果的奥秘,分析中英文对

在本文中,您将会了解到关于dedecms中英文网站之中英文搜索结果的新资讯,同时我们还将为您解释中英文对照网站的相关在本文中,我们将带你探索dedecms中英文网站之中英文搜索结果的奥秘,分析中英文对照网站的特点,并给出一些关于dedecms中英文搜索结果怎么实现、DedeCMS在栏目加一个字段实现中英文导航功能、DedeCMS搜索页面调用搜索结果条数、DedeCms教程:优化DedeCMS搜索结果的实用技巧。

本文目录一览:

dedecms中英文网站之中英文搜索结果(中英文对照网站)

dedecms中英文网站之中英文搜索结果(中英文对照网站)

 

*近做的中英文版搜索时发现搜索不尽人意总是出现双语混搭模式:这样可以解决dedecms双语网站搜索:
DEDECMS在制作中英文站时,需要在中文站上只搜索出中文站的内容,而在英文站只会搜索出英文站中的内容,此时就需要给英文站搜索栏目单独做个源码出来,可以按以下办法来实现。

复制plus目录下的serach.php文件 把复制后的更名为 searche.php做为新的搜索文件。

编辑searche.php,找到此行代码require_once(DEDEINC."/arc.searchview.class.php");  替换为 require_once(DEDEINC."/arc.searchviewen.class.php");

复制include目录下的 arc.searchview.class.php文件并 更名为 arc.searchviewen.class.php

编辑arc.searchviewen.class.php,找到这行代码 $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search.htm";

改为$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search_en.htm";

复制源码中的search.htm,并更名为search_en.php

此时英文站的源码都已做好,

找到英文站的相关搜索代码,如下以示例

<form action="/plus/searche.php" method="post">
               <input type="hidden" name="typeid" value="26" />
<input name="q" id="SSM" type="text" value="关键字 and Enter" cols="15" onclick="$(this).val('')"/>
</span><span>
<input type="submit"value="" />
<input type="hidden" name="mid" value="1"/></span>
</form>
用searche.php 去搜索,name="typeid" value="26" 这个是指定栏目ID。 本文章网址:http://www.ppssdd.com/code/14639.html。转载请保留出处,谢谢合作!

dedecms中英文搜索结果怎么实现

dedecms中英文搜索结果怎么实现

dedecms中英文搜索结果怎么实现

Dedecms中英文搜索结果怎么实现?

本文实例讲述了Dedecms中英文网站之中英文搜索结果实现方法。分享给大家供大家参考。具体实现方法如下:

一般来说,我们使用Dedecms制作中英文站时,需要在中文站上只搜索出中文站的内容,而在英文站只会搜索出英文站中的内容,此时就需要给英文站搜索栏目单独做个模板出来,可以按以下方法来实现.

推荐学习:织梦cms

复制plus目录下的serach.PHP文件 把复制后的更名为 searche.PHP做为新的搜索文件.

编辑searche.PHP,找到此行代码

代码如下:

require_once(DEDEINC."/arc.searchview.class.PHP");

替换为:

代码如下:

require_once(DEDEINC."/arc.searchviewen.class.PHP");

复制include目录下的 arc.searchview.class.PHP文件并更名为 arc.searchviewen.class.PHP

编辑arc.searchviewen.class.PHP,找到这行代码

代码如下:

$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search.htm";

改为

代码如下:

$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/search_en.htm";

复制模板中的search.htm,并更名为search_en.htm,此时英文站的模板都已做好,找到英文站的相关搜索代码,如下以示例:

代码如下:

<form action="/plus/searche.PHP" method="post"></p> <p><input type="hidden" name="typeid" value="26" />

其中的/plus/searche.PHP,用searche.PHP去搜索,name="typeid" value="26" 这个是指定栏目ID.

希望本文所述对大家的Dedecms二次开发有所帮助。

以上就是Dedecms中英文搜索结果怎么实现的详细内容,更多请关注小编其它相关文章!

DedeCMS在栏目加一个字段实现中英文导航功能

DedeCMS在栏目加一个字段实现中英文导航功能

今天在群里看到有位朋友需要实现中英文栏目名字的功能(如下图),下面我们就来看看强大的织梦CMS怎么实现吧!
 

\

首先给数据库中的dede_arctype表中增加一个字段,前面的表前缀是你的站点的名,并不一定是dede_

添加后的效果如上图,具体的添加办法再次就不详述了。其中typenameng就是我增加的字段,名称有点长,当然你也可以改为自己乐意的名称,这个不伤大雅。
再找到dede\templets目录下的catalog_edit.htm
找到
 
	
 
            名称:
            PHP echo $myrow['typename']?>"/>
   
下面添加
              英文名称:
             PHP echo $myrow['typenameng']?>"/>
最后我们在打开 dede\catalog_edit.PHP
找到
	
$upquery = "UPDATE `#分隔符@__arctype` SET
     issend='$issend',
     sortrank='$sortrank',
     typename='$typename',
    typenameng='$typenameng',
     typedir='$typedir',
     isdefault='$isdefault',
     defaultname='$defaultname',
增加红色的部分,分隔符3个字自行去掉,至此就添加完成了。
调用方式 :{dede:field name='typenameng'/}
想要在channel 中使用,例如
	
{dede:channel type='son' row='10' typeid='1'}
                   
 {/dede:channel}
则还要修改一个文件,找到include\taglib\channel.lib.PHP
第一处:
	
if($type=='top')
    {
        $sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `#分隔符@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0,$line ";
    }
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,sitepath
          From `#分隔符@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$line ";
    }
    else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "SELECT id,sitepath
            FROM `#分隔符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$line ";
    }
第二处:
//如果用子栏目模式,当没有子栏目时显示同级栏目
    if($type=='son' && $reid!=0 && $totalRow==0)
    {
        $sql = "SELECT id,$line ";
        $dsql->SetQuery($sql);
      $dsql->Execute();
    }
增加查询字段就可以在channel中使用了,还有type,channelartlist等标签页是在相应的lib类中添加查询的字段,在此限于篇幅就不错详细的叙述了。
//处理同级栏目中,当前栏目的样式。currentstyle中的调用,include\taglib\channel.lib.PHP140行 $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);下面添加
$linkOkstr = str_replace("~typenameeng~",$row['typenameeng'],$linkOkstr);即可。

总结

以上是小编为你收集整理的DedeCMS在栏目加一个字段实现中英文导航功能全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Dedecms相关文章

织梦系统 dedecms pagelist标签使用修改方法介绍
在Dedecms织梦列表页中是肯定要使用pagelist标签的,但是有的时候也会因为一些css格式的问题会出现排列顺序的问题,所以也要知道怎么样修改pagelist标签?
织梦网站怎么搬家?dede系统网站迁移数据到另外个服务器
今天分享织梦网站怎么搬家,个人感觉织梦的搬家比其他的程序的都简单。1、网站备份登录织梦后台,【系统】-【数据库备份/还原】-【提交】,织梦程序开始自动备份数据库,等待即可。
织梦网站安全设置方法 dede系统网站如何配置才安全?
织梦(dede)程序不安全是公认的,同样是建站,使用织梦程序被黑的风险更大,所以,一些安全设置是非常有必要的。织梦网站安全设置的4个主要操作
织梦自动生成网站地图sitemap代码 dede生成sitemap站点地图的代码实例
使用xemu、爱站工具包、尖叫青蛙等制作网站地图,每次生成sitemap还需要再上传到服务器,还是比较麻烦的,不过有些网站程序可以通过插件完成网站地图的自动更新,比如wordpress。但是织梦一直都不行,今天就用插件+代
dede织梦纯代码制作网站地图 dede网站地图生成代码
分享织梦自动生成网站sitemap,但是需要安装插件,今天分享,织梦如何不使用插件,制作网站xml地图。
织梦dede自定义表单添加全选功能 dede自定义表单实操代码
织梦自定义表单没有全选/取消全选功能,有时候想要全选全,需要一个一个选择比较麻烦,如果网站有大量的恶意留言,想要删除更麻烦。虽然可以使用sql命令删除恶意留言,但不是很灵活,今天就给织梦自定义表单添加全选
dede cms如何定时主动推送文章 dede实现定时推送文章给百度的方法
前几天百度公开课说了,api推送的优先级比较高,所以在没有快速收录的情况下,api提交必须要有,那么织梦要如何实现api主动推送呢?
织梦dede发布文章实时api主动推送
dede定时主动推送,虽然也很方便,但只能固定时间推送,实时性不高,今天小编分享如何发布文章后实时api推送至百度?
  • • 织梦系统 dedecms pagelist标签使用修改
  • • 织梦网站怎么搬家?dede系统网站迁移数
  • • 织梦网站安全设置方法 dede系统网站如何
  • • 织梦自动生成网站地图sitemap代码 dede
  • • dede织梦纯代码制作网站地图 dede网站地
  • • 织梦dede自定义表单添加全选功能 dede自
  • • dede cms如何定时主动推送文章 dede实现
  • • 织梦dede发布文章实时api主动推送
  • • 织梦dedecms当前位置标签代码的5种写法
  • • 织梦DEDECMS文章、栏目页获取当前页面顶
JavaScriptPHPsqlMysqLwindows使用wordpressAJAXList方法系统文件安装Nginx教程数据库设置Woocommerc服务器pdf错误获取创建显示函数用户更新添加IIS删除自定义代码进行.htaccess调用软件选择功能属性下载

DedeCMS搜索页面调用搜索结果条数

DedeCMS搜索页面调用搜索结果条数

下面是小编 jb51.cc 通过网络收集整理的代码片段。小编小编现在分享给大家,也给大家做个参考。

织梦在搜索结果页面并没有构造单独的函数来实现调用结果数量,结果数都集成在列表分页标签里了,如果我们需要这个数量的单独调用,就要进行二次开发了。其实很简单,织梦学习网来教大家如何实现:第一步,打开/include/arc.searchview.class.PHP 文件,查找代码(大概在第 525 行):

else if($tagname=="Pagelist")

{

$list_len = trim($ctag->GetAtt("listsize"));

if($list_len=="")

{

$list_len = 3;

}

$this->dtp->Assign($tagid,$this->GetPagelistDM($list_len));

}

在下面添加代码:

else if($tagname=="itemcount")

{

$list_len = trim($ctag->GetAtt("listsize"));

if($list_len=="")

{

$list_len = 3;

}

$this->dtp->Assign($tagid,$this->GetItemsCountDM($list_len));

}

第二步,查找代码(大概在第 925 行): /** * 获得当前的页面文件的 url * * @access public * @return string */ 在其上面添加下面的这段代码: 查看源码打印代码帮助

//————

//搜索输出总量

//————

function GetItemsCountDM($list_len)

{

global $oldkeyword;

$pageNow = ($this->PageNo-1) * 10 + 1;

$pageNows = $this->PageNo*10; //当结果超过限制时,重设结果页数

if($this->TotalResult > $this->SearchMaxRc)

{

$totalpage = ceil($this->SearchMaxRc/$this->PageSize);

}

$plist .= $this->TotalResult;

return $plist;

}

第三步,在搜索结果页模板里要显示结果条数的地方通过如下标签调用:

{dede:itemcount listsize='4'/}

这样就可以实现搜索结果页的搜索结果数量的单独调用了。

以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。

DedeCms教程:优化DedeCMS搜索结果

DedeCms教程:优化DedeCMS搜索结果

 

由于DedeCMS搜索采用了分词,提升了搜索智能化,但是我们发现,搜索结果并没有变的更准确,本篇对DedeCMS的搜索进行一个优化,使它的搜索结果变的更智能、准确。

首先需要调整搜索页面的一个栏目Keywords替换,找到/plus/search.php将其中58行代码:

<pre> foreach($typeArr as $id=>$typename) { $keywordn = str_replace($typename, ' ', $keyword); if($keyword != $keywordn) {

修改为:

foreach($typeArr as $id=>$typename) { //$keywordn = str_replace($typename, ' ', $keyword); $keywordn = $keyword; if($keyword != $keywordn) {

然后,我们再调整下分词检索的类,找到/include/arc.searchview.class.php,找到function Get关键字($keyword)这个类的办法,替换为:

function Get关键字($keyword) { global $cfg_soft_lang; $keyword = cn_substr($keyword, 50); $row = $this->dsql->GetOne("SELECT spwords FROM `dede_search_keywords` WHERE keyword='".addslashes($keyword)."'; "); if(!is_array($row)) { if(strlen($keyword)>7) { $sp = new SplitWord($cfg_soft_lang, $cfg_soft_lang); $sp->SetSource($keyword, $cfg_soft_lang, $cfg_soft_lang); $sp->SetResultType(2); $sp->StartAnalysis(TRUE); $keywords = $sp->GetFinallyResult(); $idx_keywords = $sp->GetFinallyIndex(); ksort($idx_keywords); $keywords = $keyword.' '; foreach ($idx_keywords as $key => $value) { if (strlen($key) <= 3) { continue; } $keywords .= ' '.$key; } $keywords = preg_replace("/[ ]{1,}/", " ", $keywords); //var_dump($idx_keywords);exit(); unset($sp); } else { $keywords = $keyword; } $inquery = "INSERT INTO `dede_search_keywords`(`keyword`,`spwords`,`count`,`result`,`lasttime`) VALUES ('".addslashes($keyword)."', '".addslashes($keywords)."', '1', '0', '".time()."'); "; $this->dsql->ExecuteNoneQuery($inquery); } else { $this->dsql->ExecuteNoneQuery("UPDATE `dede_search_keywords` SET count=count+1,lasttime='".time()."' WHERE keyword='".addslashes($keyword)."'; "); $keywords = $row['spwords']; } return $keywords; }

*后,我们清空下数据表dede_search_keywords,重新构建检索分词结果,我们可以通过下面页面查看下分词的结果:?q=cit%D0%C5%CF%A2%CD%F8&searchtype=title

我们还会继续对DedeCMS搜索结果进行优化。

本文章网址:http://www.ppssdd.com/code/14724.html。转载请保留出处,谢谢合作!

今天关于dedecms中英文网站之中英文搜索结果中英文对照网站的分享就到这里,希望大家有所收获,若想了解更多关于dedecms中英文搜索结果怎么实现、DedeCMS在栏目加一个字段实现中英文导航功能、DedeCMS搜索页面调用搜索结果条数、DedeCms教程:优化DedeCMS搜索结果等相关知识,可以在本站进行查询。

本文标签: