top-image

OLDER ARTICLES

<?php if(empty($GLOBALS['navclassid'])){ echo ' class="active"'; } ?>
  • 说明:如果当前栏目ID为空,则认为是首页,添加class="active"进行高亮。
  • 特殊情况处理:如果不想在TAG页面和自定义页面也高亮,可以在这些页面顶部定义$GLOBALS['navclassid']为任意非空值,例如:
    <?php $GLOBALS['navclassid'] = 1; ?>

     

  1. 目录权限问题

    • 将 e/data/adminlogin 目录设置为可写权限(Linux 设置为 755)。
    • 检查安全软件设置,确保目录可写。
  2. Cookie 作用域名问题

    • 在安全参数中设置或修改 Cookie 作用域。
    • 修改 e/config/config.php 中的 $ecms_config['cks']['ckdomain'] 为当前域名或空字符串。

问题描述

在织梦后台管理内容时,发现添加内容和编辑内容都出现空白,已经排除了编码问题。

解决方法

出现这种情况很可能是 catalog_do.php 以及 archives_do.php 文件中的 header() 函数的问题。当执行 header() 前,如果前面输出了空格、空行、任何字符,都会导致 header() 跳转失效。由于 catalog_do.php 调用的 PHP 文件太多,需要逐个排查这些文件的头尾两行是否有空格或空行,并删除这些空格和空行。

具体步骤

  1. 编辑 catalog_do.php 文件

    • 打开 dede/catalog_do.php 文件。
    • 找到以下代码:
       
      header("location:article_add.php");
    • 替换为:
       
      echo "<script>location.href='article_add.php';</script>";
  2. 编辑 archives_do.php 文件

    • 打开 dede/archives_do.php 文件。
    • 找到以下代码:
       
       
      header("location:{$gurl}?aid=$aid");
    • 替换为:
       
       
      echo "<script>location.href='{$gurl}?aid=$aid';</script>";
  3. 保存并更新缓存

    • 保存修改后的文件。
    • 进入织梦后台,更新网站缓存。
    • 再次尝试添加文章,应该可以正常工作。

详细说明

  • header() 函数:用于发送 HTTP 头信息,通常用于页面重定向。如果在调用 header() 之前有任何输出(包括空格、空行等),会导致 header() 失效。
  • JavaScript 重定向:使用 JavaScript 的 location.href 方法进行页面重定向,可以避免 header() 失效的问题。

第1步:在首页模板中添加随机文章调用标签

  1. 编辑首页模板文件
    • 打开首页模板文件,通常位于 /templates/ 目录下。
  2. 添加随机文章调用标签
    • 在适当位置添加以下代码:
       
       
      {dede:arclist sort='rand' titlelen=48 row=16}
      <a href="[field:arcurl/]">[field:title/]</a><br />
      {/dede:arclist}
    • 这段代码会调用16篇随机文章,并在每次刷新动态页面时显示不同的文章。

第2步:设置定时自动更新文件

  1. 创建 autoindex.php 文件

    • 创建一个新的PHP文件,命名为 autoindex.php,并添加以下代码:
      <?php
      $fpath = DEDEDATA."/cache/autotime.txt";
      $fp = fopen($fpath, "r");
      $autotime = intval(fread($fp, filesize($fpath)));
      fclose($fp);
      
      if( time() >= $autotime )
      {
          define('DEDEADMIN', ereg_replace("/{1,}", "/", dirname(__FILE__)) );
          require_once(DEDEADMIN."/../include/common.inc.php");
          require_once(DEDEINC."/arc.partview.class.php");
      
          $templet = "index.htm"; // 首页模板位置
          $position = "index.html"; // 首页生成位置
      
          $homeFile = dirname(__FILE__).'/'.$position;
          $homeFile = str_replace("\\", "/", $homeFile);
          $homeFile = str_replace("https://", "/", $homeFile);
      
          $pv = new PartView();
          $pv->SetTemplet( $cfg_basedir.$cfg_templets_dir."/".$templet );
          $pv->SaveToHtml( $homeFile );
          $pv->Close();
      
          $file = fopen( $fpath, "w" );
          fwrite( $file, time() + 3600 ); // 设置下次更新时间为1小时后
          fclose( $file );
      }
      ?>
    • 保存文件并上传到网站根目录的 plus 文件夹中。
  2. 在首页模板中引入 autoindex.php 文件

    • 打开首页模板文件,在 <head> 标签中添加以下代码:
       
       
      <script type="text/javascript" src="/plus/autoindex.php"></script>

 

问题

  • 如何在织梦编辑器中设置超链接默认在新窗口打开?

解决方法

  1. 修改 link.js 文件
    • 打开 include/ckeditor/plugins/link/dialogs/link.js 文件。
    • 使用 Ctrl+F 查找 'default':'notSet',将其修改为 'default':'_blank'
  2. 清理浏览器缓存
    • 清理浏览器缓存,确保修改生效。
  3. 测试
    • 编辑一篇文章,添加一个超链接,生成文章后查看是否默认在新窗口打开。

错误提示

Fatal error: Using $this when not in object context in D:wwwmeinvtupincludeaglibmynews.lib.php on line 40

原因

  • 在非对象上下文中使用了 $this 关键字。

解决方法

  1. 修改 mynews.lib.php 文件
    • 打开 include/aglib/mynews.lib.php 文件。
    • 找到第40行,将以下代码:
      if($envs['typeid'] > 0) $idsql = " where typeid='".GetTopid($this->TypeID)."' ";
    • 修改为:
      if($envs['typeid'] > 0) $idsql = " where typeid='".GetTopid($envs['typeid'])."' ";

 

解决方法

  1. 使用SQL查询调用单页内容,并使用 cn_substr 函数过滤HTML。
    {dede:sql sql="SELECT * FROM dede_archives limit 10"}
    ·[field:title function=cn_substr(@me,30,0)/]
    {/dede:sql}

     

  1. 方法一:修改 article_edit.php 文件

    • 打开 dede/article_edit.php 文件。
    • 查找并修改以下代码:
      $description = cn_substr($description, 250);
      • 将 250 修改为更大的值,例如 2500
  2. 方法二:修改 archives_add.php 和 archives_edit.php 文件

    • 打开 dede/archives_add.php 和 dede/archives_edit.php 文件。
    • 查找并修改以下代码:
      $description = cn_substrR($description, 250);
      • 将其修改为:
      $description = $description;

       

  1. 删除综合网站的友情链接

    • 进入后台 – 模块 – 辅助插件 – 友情链接,删除不需要的链接。
  2. 删除织梦链

    • 编辑/include/taglib/flinktype.lib.php,删除大约58-61行的代码。
  1. 直接显示栏目ID

    • 在内容模板中使用 {dede:field.typeid/}
  2. 使用{dede:type}标签

     
    {dede:type}[field:ID /]{/dede:type}
  3. 在SQL标签中调用

     
     
    {dede:sql sql='Select * from dede_arctype where id = ~typeid~ '}
    [field:字段]
    {/dede:sql}
  4. 高亮显示当前栏目

     
     
    {dede:type typeid=2}
    [field:typename /]
    {/dede:type}
Page 569 of 1049:« First« 566 567 568 569 570 571 572 »Last »
bottom-img