推荐设备MORE

如何让你的网站容易被浏览者

如何让你的网站容易被浏览者

行业知识

4.2英中双语教学的简易完成

日期:2020-11-12
我要分享
演试:dt-config.php 里边再加
define('Lang_En','en');
与后台管理相关的改动:
3、改动 admini/ 中的涵数
     function menu_power_list_SELECT($name,$select=null)
     {
            $mon_path=ABSPATH.SKINROOT.'/'.STYLENAME.'/common/';
            $temp_arr=rec_listFiles($mon_path);
            echo ' select name= '.$name.'
            echo ' option value= common.php 默认设置款式 /option
            if(defined( Lang_En )){
                 //echo ' option value= '.Lang_En.'_common.php 默认设置英语款式 /option
                 if( is_file(ABSPATH.SKINROOT.'/'.STYLENAME.'/'.Lang_En.'_common.php') ){
                     $selected=($select==Lang_En.'_common.php')?'selected= selected ':'';
                     echo ' option value= '.Lang_En.'_common.php '.$selected.' 默认设置英语款式 /option
                 }
            }
            foreach ($temp_arr as $v)
            {
                 $selected=($select==$v)?'selected= selected ':'';
            ?
            option value= ?php echo $v ? ?php echo $selected ? ?php echo $v ? /option
            ?php
            }
            echo ' /select
     }
呵呵呵,大伙儿不必怪异改了那麼多,除开跟这一双语教学有关的修改,也有便是 硬编号 /skins/ 的更换,健全下这一涵数
那样改动后,后台管理频道栏目和频道的款式挑选便会出現二倍的选择项,干万记牢,假如选了带 en_ 作为前缀的,便是英语版!
好啦,如今必须让前台接待干活
4、改动根下的 index.php
在 require_once(ABSPATH.'/'); 后边加
if(empty($_SESSION[TB_PREFIX.'dtLanguage']))
{
     $_SESSION[TB_PREFIX.'dtLanguage']=
}
这种句子
$loadSkinIndex=$part_path.'index.php';
$loadSkinCommon=$part_path.'common.php';
更换成
if($_SESSION[TB_PREFIX.'dtLanguage'] != ){
     $loadSkinIndex=$part_path.$_SESSION[TB_PREFIX.'dtLanguage'].'_index.php';
     $loadSkinCommon=$part_path.$_SESSION[TB_PREFIX.'dtLanguage'].'_common.php';
}else{
     $loadSkinIndex=$part_path.'index.php';
     $loadSkinCommon=$part_path.'common.php';
}
改动 function sys_layout_part($style='')
function sys_layout_part($style='')
{
     global $request,$params,$tag,$path,$data;
     
     //假如此次升級危害了parts内sql的实行, 请手动式注解destorydb涵数体编码,谨记不必删掉
    //destorydb();
     if(!checkchannel($params['id'])){
            echo ' span >      }else{
     
            if(!empty($style)) $style = '_'.$style;
            //$part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/parts/'.$params['model'].'_'.$params['action'].$style.'.php';
            if($_SESSION[TB_PREFIX.'dtLanguage'] != ){
                 $part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/parts/';
                 $part_path=$part_path.$_SESSION[TB_PREFIX.'dtLanguage']. _ .$params['model'].'_'.$params['action'].$style.'.php';
            }else{
                 $part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/parts/'.$params['model'].'_'.$params['action'].$style.'.php';
            }
            $content_part_path=ABSPATH.'/content/'.$params['model'].'/parts_'.$params['action'].'.php';
            if(is_file($part_path)){
                 require_once($part_path);
            }elseif(is_file($content_part_path)){
                 require_once($content_part_path);
            }else{
                 echo $part_path. br /
                 echo $content_part_path. br /
                 echo ' span >             }
           
            // 假如此次升級危害了parts内sql的实行, 请手动式注解以下编码recoverdb涵数体编码,谨记不必删掉
            //recoverdb();
           
            isComments();
     }
}

     if($id==0) return true;
     if($_SESSION[TB_PREFIX.'dtLanguage']){
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT * FROM .TB_PREFIX;
            $sql .= menu WHERE id=$id and
            $sql .= LCASE(mon,1,CHARACTER_LENGTH(' .$strl. ')))=LCASE(' .$strl;
            $sql .= ')
     }else{
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT * FROM .TB_PREFIX;
            $sql .= menu WHERE id=$id and
            $sql .= mon,'_') = 0
     }     
     if($db- get_row($sql)){
            return true;
     }else{
            return false;
     }
}
这儿的改动关键是分辨语系,载入不一样的模版文档和提醒语系不正确,路由器调节解决
5、改动 content/
提升涵数
function changeLanguage(){
     global $request;
     $_SESSION[TB_PREFIX.'dtLanguage']=$request['SITELANGUAGE'];
     if( $_SESSION[TB_PREFIX.'dtLanguage'] == 'cn' ){
            $_SESSION[TB_PREFIX.'dtLanguage'] = '';
     }
     redirect('./');
}
完成语系转换
6、改动 content/
//$menuRoot=$db- get_results( SELECT * FROM .TB_PREFIX. menu ORDER BY ordering ASC ,ARRAY_A);
if($_SESSION[TB_PREFIX.'dtLanguage']){
     $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
     $sql = SELECT * FROM .TB_PREFIX;
     $sql .= menu WHERE LCASE(mon,1,CHARACTER_LENGTH(' .$strl. ')))=LCASE(' .$strl;
     $sql .= ')   ORDER BY ordering ASC
}else{
     $sql = SELECT * FROM .TB_PREFIX;
     $sql .= menu WHERE mon,'_') = 0 ORDER BY ordering ASC
}
$menuRoot=$db- get_results($sql,ARRAY_A);
完成全局性 $menuRoot 的导航栏过虑
7、改动 content/
function nav_main($str=' li || /li ',$select_str=' li ',$_ )
{
     global $db,$params,$menu_arr;
     //$menu = $db- get_results( SELECT *,'0' hassub FROM .TB_PREFIX. menu WHERE deep = 0 and isHidden=0 order by ordering
     if($_SESSION[TB_PREFIX.'dtLanguage']){
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT *,'0' hassub FROM .TB_PREFIX;
            $sql .= menu WHERE deep = 0 and isHidden=0 and
            $sql .= LCASE(mon,1,CHARACTER_LENGTH(' .$strl. ')))=LCASE(' .$strl;
            $sql .= ') order by ordering
     }else{
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT *,'0' hassub FROM .TB_PREFIX;
            $sql .= menu WHERE deep = 0 and isHidden=0 and
            $sql .= mon,'_') = 0 order by ordering
     }
     $menu = $db- get_results($sql);
     if(!empty($str))
     {
            $strarr= explode('||',$str);
            if(empty($select_str))$select_str=$str;
            $select_strarr = explode('||',$select_str);
            if(!empty($_style))$_stylearr=explode('||',$_style);
     }
     if($menu)
     {
            foreach ($menu as $o)
            {
                 menu_links($strarr,$select_strarr,$_stylearr,$params,$menu_arr,$o);     
            }
     }
     else
     echo 'No channel';
}
完成导航栏标识的过虑

     global $params;
     global $tag;     // 标识数字能量数组
     global $request;
     global $moduleTitle;
     $sql = SELECT isComment FROM .TB_PREFIX. menu WHERE id= .$params['id'];
     $isComment = $db- get_var($sql);
     if(($isComment == '1' $params['action'] == 'ment') || ($isComment == '1' $params['model'] == 'article'))
     {
            $moduleTitle = getModuleTitle();
           
            $sql= SELECT a.*,b.nickname FROM .TB_PREFIX. comment a left join  .TB_PREFIX. user b on a.memberId=b.id WHERE a.channelId= .$params['id']. and a.recordId= .$params['args'];
           
            $username=isset($_SESSION[TB_PREFIX.'user']) ? $_SESSION[TB_PREFIX.'user'] : '';
            $userlevel=isset($_SESSION[TB_PREFIX.'admin_roleId']) ? $_SESSION[TB_PREFIX.'admin_roleId'] : '';
           
            if(COMMENTAUDITING)
            {
                 if(!empty($username) || $userlevel =8 ){ }else{     $sql.= and auditing=1  }
            }
            $sb = new sqlbuilder('comment_mdt',$sql,'id desc',$db,6,true,'./','#commentPosition');
            if(!empty($sb- results)){
                 $tag['data.results']=$sb- results;
                 if($sb- totalPageNo() 1)
                 {
                     $tag['']=$sb- get_pager_show();
                     $tag['pager.en']=$sb- get_en_pager_show();
                 }
                 $tag['data.other']['username']=$username;
                 $tag['data.other']['userlevel']=$userlevel;
            }
            $sb=null;
            //加载评价控制模块模板
                 
            //$part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/ment_'.$params['action'].'.php';
            if($_SESSION[TB_PREFIX.'dtLanguage'] != ){
                 $part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/parts/';
                 $part_path=$part_path.$_SESSION[TB_PREFIX.'dtLanguage'].'_comment_'.$params['action'].'.php';
            }else{
                 $part_path=ABSPATH.'/'.SKINROOT.'/'.STYLENAME.'/ment_'.$params['action'].'.php';
            }
            $content_part_path=ABSPATH.'/ment/parts_'.$params['action'].'.php';
           
            if(is_file($part_path))
            require_once($part_path);
            else
            require_once($content_part_path);
     }else{
            echo 'Comment Forbidden ';
     }
     exit();
}
历经之上改动后,前台接待语系就可以一切正常操纵,转换时的连接书写
a href= ?php echo $tag['path.root'];? /?a=changeLanguage /a
a href= ?php echo $tag['path.root'];? /?a=changeLanguage SITELANGUAGE=en Home /a
此改动方式关键考虑到尽量没动系统软件初始的数据信息库构造,随后尽量改动少
演试版本号考虑到了启用标识时的语系查验,改动量多一些,这一并不是务必,假如写模版时能仔细些,
确保频道栏目、频道的启用恰当,能够不变。
需先在 content/ 中提升语系分辨涵数
function checktag($id){
     global $db;
     if($id==0) return false;
     //$sql = SELECT * FROM .TB_PREFIX. menu WHERE id=$id and dtLanguage = ' .$_SESSION[TB_PREFIX.'dtLanguage']. '
     if($_SESSION[TB_PREFIX.'dtLanguage']){
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT * FROM .TB_PREFIX;
            $sql .= menu WHERE id=$id and
            $sql .= LCASE(mon,1,CHARACTER_LENGTH(' .$strl. ')))=LCASE(' .$strl;
            $sql .= ') order by ordering
     }else{
            $strl = $_SESSION[TB_PREFIX.'dtLanguage']. _
            $sql = SELECT * FROM .TB_PREFIX;
            $sql .= menu WHERE id=$id and
            $sql .= mon,'_') = 0 order by ordering
     }
     if($db- get_row($sql)){
            return true;
     }else{
            return false;
     }
}
随后改动所有的标识涵数,便是 content/index/ 文件目录下为摸组名字取名的php文档。
article.php
calllist.php
download.php
guestbook.php
jobs.php
linkers.php
list.php
mapshow.php
picture.php
poll.php
product.php
rss.php
video.php
webmap.php
以 article.php 中的 function dt_article($channelId,$strcount=0) 为例子
     if( checktag($channelId) ){
            $opts=array(
                 'hastag' = false,
                 'fun'= 'dt_article'
            );
            $o=shl_article( $channelId, $opts );
            Substr($o- content,0,$strcount);
     }else{
            echo dt_article( .$channelId. , .$strcount. ) nbsp; nbsp;语系不正确
     }
实际实际效果,演试网站能看到。
有一切指责和提议,热烈欢迎明确提出或是沟通交流,qq