帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[原创]关于如何使用自定义函数判断[!--pagekey--]/[!--pagedes--]为空后的返回 【本版专题贴子】  
主题:[原创]关于如何使用自定义函数判断[!--pagekey--]/[!--pagedes--]为空后的返回 [加入收藏夹]   

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]关于如何使用自定义函数判断[!--pagekey--]/[!--pagedes--]为空后的返回
下面是一个关于标题,关键词,描述 的seo自定义函数判断代码
现在有一个问题是如何判断[!--pagekey--]/[!--pagedes--]为空后返回字段变量
直接判断[!--pagekey--]/[!--pagedes--]不等空返回虽然空值了 但是else后代码不执行的只执行前面的
if([!--pagekey--]!=''){
//空不空的情况都执行
}else{
//死活不执行
}

if([!--pagekey--]==''){
//空不空的情况都不执行
}else{
//判断不管空不空都执行了
}

先变量$pagekey='[!--pagekey--]';也试过了
是不是要先过滤[!--pagekey--]字段? 使用哪个函数来过滤?


在内容页可以使用全局变量 $navinfor    $navinfor[keyboard]和$navinfor[smalltext]判断
内容页全局变量就可以

function skyloghead($skyr){
global $navinfor,$navclass,$class_r,$public_r;
$ftitle=$public_r['add_ftitle']?$skyr['connector'].$public_r['add_ftitle']:'';
  if(get_page_type()=='home'){
   if($skyr['site_kds']=='1'){
            $title='<title>'.$skyr['hometitle'].$ftitle.'</title>'.PHP_EOL.'';
        $keywords='<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';
                $description='<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';
           }else{
        $title='[!--pagetitle--]'.$skyr['connector'].''.$public_r['add_ftitle'].'';
        $keywords='<meta name="keywords" content="[!--pagekey--]">'.PHP_EOL.'';
                $description='<meta name="description" content="[!--pagedes--]">'.PHP_EOL.'';
           }
  }elseif(get_page_type()=='navclass'){
   if($skyr['site_kds']=='1'){
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
        $keywords= ('[!--pagekey--]'!='') ? '<meta name="keywords" content="[!--pagekey--]">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';
                //$keywords= ( $navclass[classpagekey]!='') ? '<meta name="keywords" content="[!--pagekey--]">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';//全局变量$navclass[classpagekey]替换[!--pagekey--]
               
                //$keywords= ( $class_r[$navinfor[classid]][classpagekey]!='') ? '<meta name="keywords" content="[!--pagekey--]">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';//全局变量$class_r[$navinfor[classid]][classpagekey]替换[!--pagekey--]
                $description='<meta name="description" content="[!--pagedes--]">'.PHP_EOL.'';
           }else{
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
           }
  }elseif(get_page_type()=='navinfor'){
           if($skyr['post_kds']=='1' && $skyr['site_kds']=='1' ){
               
                $title= ($skyr['post_tnss']=='1') ? '<title>[!--pagetitle--]</title>'.PHP_EOL.'':'<title>[!--pagetitle--]'.$skyr['connector'].'[!--class.name--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
                $keywords= ($navinfor[keyboard]!='') ? '<meta name="keywords" content="'.$navinfor[keyboard].'">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';//全局变量$navinfor[keyboard]替换[!--pagekey--]
                $description='<meta name="description" content="[!--pagedes--]">'.PHP_EOL.'';
                $description= ($navinfor[smalltext]!='') ? '<meta name="description" content="'.$navinfor[smalltext].'">'.PHP_EOL.'':'<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';//全局变量$navinfor[smalltext]替换[!--smalltext--]
                $description='<meta name="description" content="[!--pagedes--]">'.PHP_EOL.'';
           }else{
        $title=($skyr['post_tnss']=='1') ? '<title>[!--pagetitle--]</title>'.PHP_EOL.'':'<title>[!--pagetitle--]'.$skyr['connector'].$skyr['hometitle'].'</title>'.PHP_EOL.'';
                  
           }
  }

  $seo=$title.$keywords.$description;
  return $seo;
}

[该贴被修改 8 次,最后修改时间 2024-06-18 04:30:13 ]


夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-06-18 02:14:14 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

忘了提一句 是栏目页和自定义页调用,内容页使用全局变量$navinfor可以



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-06-18 02:48:19 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

好吧  最终还是select 数据库查询大法好用
下面附上修改好的代码   有需要的可以自行修改
注$skyr字段 需要自建数据表 字段自行设置
site_kds==1  网站自动添加关键字和描述 1开启0关闭
hometitle    首页标题
keywords     首页关键词
description  首页描述
post_kds==1  文章SEO设置 1开启0关闭
post_tnss==1  文章SEO标题后不跟随站点标题 1开启不跟随0关闭
配合插件使用  插件不提供
不一定需要数据表
自建config.php配置文件也行  不过我觉得还是存数据库好用  哈哈 个人观点
页面类型判断传送门https://www.yeskylog.com/article-2-37.html

1.开启后所有页面将自动使用主题配置的关键字和描述(在首页、栏目、内容页没设置关键词的情况下配置)
2.文章SEO设置(开启后你需要在编辑文章的时候书写标题、关键字和描述,如果不开启,将自动使用主题配置的关键字和描述;开启这个必须开启上面的“网站自动添加关键字和描述”开关,,内容页没设置关键词的情况下配置)
function skyloghead($skyr){
global $navinfor,$navclassid,$class_r,$public_r,$empire,$dbtbpre;
$ftitle=$public_r['add_ftitle']?$skyr['connector'].$public_r['add_ftitle']:'';
$pagekey=hRepPostStr('[!--pagekey--]');
  if(get_page_type()=='home'){//首页
   if($skyr['site_kds']=='1'){
            $title='<title>'.$skyr['hometitle'].$ftitle.'</title>'.PHP_EOL.'';
        $keywords='<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';
                $description='<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';
           }else{
        $title='[!--pagetitle--]'.$skyr['connector'].''.$public_r['add_ftitle'].'';
        $keywords='<meta name="keywords" content="[!--pagekey--]">'.PHP_EOL.'';
                $description='<meta name="description" content="[!--pagedes--]">'.PHP_EOL.'';
           }
  }elseif(get_page_type()=='navclass'){//栏目页
   if($skyr['site_kds']=='1'){
            $usr=$empire->fetch1("select intro,classpagekey from {$dbtbpre}enewsclass where classid='$navclassid'");//查询栏目表
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
                $keywords= ( $usr[classpagekey]!='') ? '<meta name="keywords" content="'.$usr[classpagekey].'">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';
                $description=( $usr[intro]!='') ? '<meta name="description" content="'.$usr[intro].'">'.PHP_EOL.'':'<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';
           }else{
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
           }
  }elseif(get_page_type()=='Userlist'){//自定义列表页
   if($skyr['site_kds']=='1'){
                $ussr=$empire->fetch1("select pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='$navclassid'");//查询自定义列表表
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
                $keywords= ( $ussr[pagekeywords]!='' ) ? '<meta name="keywords" content="'.$ussr[pagekeywords].'">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';
                $description= ( $ussr[pagedescription]!='' ) ? '<meta name="description" content="'.$ussr[pagedescription].'">'.PHP_EOL.'':'<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';
           }else{
            $title='<title>[!--pagetitle--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
           }
  }elseif(get_page_type()=='navinfor'){//内容页
           if($skyr['post_kds']=='1' && $skyr['site_kds']=='1' ){
               
                $title= ($skyr['post_tnss']=='1') ? '<title>[!--pagetitle--]</title>'.PHP_EOL.'':'<title>[!--pagetitle--]'.$skyr['connector'].'[!--class.name--]'.$skyr['connector'].$public_r['sitename'].$ftitle.'</title>'.PHP_EOL.'';
                $keywords= ($navinfor[keyboard]!='') ? '<meta name="keywords" content="'.$navinfor[keyboard].'">'.PHP_EOL.'':'<meta name="keywords" content="'.$skyr['keywords'].'">'.PHP_EOL.'';//全局变量$navinfor[keyboard]替换[!--keyboard--]
                $description= ($navinfor[smalltext]!='') ? '<meta name="description" content="'.$navinfor[smalltext].'">'.PHP_EOL.'':'<meta name="description" content="'.$skyr['description'].'">'.PHP_EOL.'';//全局变量$navinfor[smalltext]替换[!--smalltext--]
           }else{
        $title=($skyr['post_tnss']=='1') ? '<title>[!--pagetitle--]</title>'.PHP_EOL.'':'<title>[!--pagetitle--]'.$skyr['connector'].$skyr['hometitle'].'</title>'.PHP_EOL.'';
           }
  }
  $seo=$title.$keywords.$description;
  return $seo;
}
前台调用<?php $seo=skyloghead($skyr); echo $seo;?>



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-06-18 04:25:35 已设置保密 顶部 回复 引用 报告 编辑 删除

niubing
用户头衔:举人

精华贴   :0
发贴数   :434
经验值   :1267
注册时间:2010-05-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持,虽然看不懂




2024-06-18 06:18:07 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6704
经验值   :20958
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

要用php变量判断




2024-06-19 07:36:44 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

原帖由 点到为止 于 2024-06-19 07:36:44 发表
要用php变量判断

   
找不到[!--pagekey--]/[!--pagedes--]标签的原php公共变量   所以后面只能用数据库查询enewsclass 表和enewsuserlist 表得出classpagekey和pagekeywords字段判断



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-06-19 15:59:28 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

原帖由 niubing 于 2024-06-18 06:18:07 发表
支持,虽然看不懂

  
简单点来说 就是实现一键设置首页seo/栏目/其他页面/文章在有设置标题、关键词、描述等会采用文章的,  没有则采用全站预设的功能



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-06-19 16:04:20 已设置保密 顶部 回复 引用 报告 编辑 删除

就是你
用户头衔:探花

精华贴   :0
发贴数   :2085
经验值   :6131
注册时间:2009-01-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持




2024-06-20 05:59:27 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6704
经验值   :20958
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

用id去查询表内容




2024-06-24 07:21:03 已设置保密 顶部 回复 引用 报告 编辑 删除

hibaidu
用户头衔:探花

精华贴   :0
发贴数   :3930
经验值   :11975
注册时间:2010-05-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持一下




2024-07-04 06:52:14 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1