top-image

OLDER ARTICLES

  • zb_install文件夹的作用
    • 用于存放zblog安装引导文件,帮助用户完成初始安装。
  • 是否需要删除
    • 可以删除:安装完成后,安装引导文件已无用处。
    • 推荐删除:早期版本的zblog存在一个问题,即使安装完成,打开安装引导文件仍会重新启动安装过程,可能导致数据丢失。虽然最新版本已修复此问题,但删除该文件夹仍然是一个好习惯。
  • 内容页链接:
     
     
    $infourl = sys_ReturnBqTitleLink($r);
  • 栏目页链接:
     
     
    require('../../data/dbcache/class.php');
    $classurl = sys_ReturnBqClassUrl($class_r[$classid]);
  • 当前栏目链接:
     
     
    $classurl = sys_ReturnBqClassUrl($class_r[$GLOBALS['navclassid']]);

 

  • 问题:如何批量更新现有新闻内容信息的标题首字母字段值?
  • 答案:使用PHP脚本批量更新标题首字母字段。
    <?php
    $sql = $empire->query("select id, title from {$dbtbpre}ecms_news where id > 2000 order by id limit 10000");
    while ($r = $empire->fetch($sql)) {
        if ($r[title]) {
            $zm = GetInfoZm($r[title]);
            $empire->query("update {$dbtbpre}ecms_news set infozm='$zm' where id=$r[id] limit 1");
        }
    }
    ?>

    将上述代码保存为PHP文件并执行,更新 infozm 字段的值。

  1. 添加错误报告链接

    • 在内容页模板的适当位置加入以下代码:
      <a href="[!--news.url--]e/public/report/?classid=[!--classid--]&id=[!--id--]">错误报告</a>
  2. 查看错误报告

    • 提交后可以在后台查看,路径:其他 – 下载模型相关 – 管理错误报告。
  1. 调用当前内容专题代码
    • 使用以下代码:
      [e:loop={'select ztid from [!db.pre!]enewsztinfo where classid='.$navinfor[classid].' and id='.$navinfor[id],10,24,0}]
      <a href="/<?=$class_zr[$bqr[ztid]][ztpath]?>"><?=$class_zr[$bqr[ztid]][ztname]?></a>
      [/e:loop]

       

  • 打开 dede/archives_do.php
  • 大约在39行(dedecms5.7版本)
    if($dopost=='editArchives'){
        $query = "SELECT arc.id,arc.typeid,ch.maintable,ch.editcon FROM `dede_arctiny` arc LEFT JOIN `dede_arctype` tp ON tp.id=arc.typeid LEFT JOIN `dede_channeltype` ch ON ch.id=arc.channel WHERE arc.id='$aid' ";
        $row = $dsql->GetOne($query);
        $gurl = $row['editcon'];
        if($gurl=='') $gurl='article_edit.php';
        header("location:{$gurl}?aid=$aid");
        exit();
    }
  • 替换为以下代码
    // 编辑文档
    function editArchives() { }
    ---------------------------
    if($dopost=='editArchives'){
        $query = "SELECT arc.id,arc.typeid,ch.maintable,ch.editcon FROM `dede_arctiny` arc LEFT JOIN `dede_arctype` tp ON tp.id=arc.typeid LEFT JOIN `dede_channeltype` ch ON ch.id=arc.channel WHERE arc.id='$aid' ";
        $row = $dsql->GetOne($query);
        $gurl = $row['editcon'];
        if($gurl=='') $gurl='article_edit.php';
        echo '<META HTTP-EQUIV="REFRESH" CONTENT="1; URL='.$gurl.'?aid='.$aid.'">';
        exit();
    }

     

  • 问题:栏目伪静态出现Request Error!
  • 解决办法
    • 检查出现问题的栏目文件保存目录,确保目录路径末尾没有多余的 /
    • 将末尾的斜杠去掉,保存后页面访问应恢复正常。
  • 进入后台配置参数-邮箱通知,填写相关信息并发送测试邮件
  • 获取163或QQ邮箱的SMTP授权码:
    • 163邮箱:进入邮箱设置,找到授权码管理,按提示操作获取授权码
    • QQ邮箱:进入账户页面,开启SMTP服务,生成授权码
  1. 新建 PHP 文件
    • 在站点根目录新建一个 PHP 文件,例如 baidu.php,并复制以下代码:
      <?php
      header('Content-Type:text/html;charset=utf-8');
      /** 只需修改这里面的两个链接 **/
      $xml_url = "https://你的站点/sitemap.xml"; // 这里修改你站点的 XML 地图链接
      $baidu_api = 'http://data.zz.baidu.com/urls?site=https://你的站点&token=你的token'; // 这里修改为你在百度站长获取到的推送接口
      /** 只需修改这里面的两个链接 **/
      
      $xmldata = file_get_contents($xml_url);
      $xmlstring = simplexml_load_string($xmldata, 'SimpleXMLElement', LIBXML_NOCDATA);
      $value_array = json_decode(json_encode($xmlstring), true);
      $url = [];
      
      for ($i = 0; $i < count($value_array['url']); $i++) {
        $url[] = $value_array['url'][$i]['loc'];
      }
      
      // 百度推送接口一次只支持推送 2000 条数据,所以超过 2000 条的话需要分组推送
      $url_group = array_chunk($url, 2000);
      $count = count($url_group);
      
      for ($i = 0; $i < $count; $i++) {
        $ch = curl_init();
        $options = array(
          CURLOPT_URL => $baidu_api,
          CURLOPT_POST => true,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POSTFIELDS => implode("\n", $url_group[$i]),
          CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
        );
        curl_setopt_array($ch, $options);
        $result = curl_exec($ch);
        curl_close($ch);
        echo $result;
      }
      ?>
  2. 设置宝塔面板计划任务
    • 登录宝塔面板,按照下图进行操作。

解决方法

  1. 修改后台模板文件:
    • album_add.htm:发表图集模板
    • archives_add.htm:发表通用文档模板
    • article_add.htm:发表普通模板
    • archives_sg_add.htm:发表特殊类文章模板
  2. 在对应的主要模板文件中,将第一个 input 标签的 checked 属性删除,放到第二个 input 标签中。
    <input type="radio" name="ishtml" value="0" checked> 动态浏览
    <input type="radio" name="ishtml" value="1"> 静态浏览

     

Page 492 of 1049:« First« 489 490 491 492 493 494 495 »Last »
bottom-img