emlog pro前台获取后台创建的页面

2021-05-08 01:06:24 / 2 评论 / 5906 阅读 / 正在检测是否收录...

因为最近移植JOE主题,想百分百还原界面,所以需要获取后台创建的单页面,emlog好像没有类似的代码。所以请教了一位大神,大神说blog改为page即可,但是我没有理解。只能依靠自己的摸索修改缓存文件实现了这个功能,记录一下

修改include\lib\cache.php 文件

在以下代码

private $newlog_cache;

下面添加

private $page_cache;

在最新文章缓存下面增加

    private function mc_page() {
        $row = $this->db->fetch_array($this->db->query("SELECT option_value FROM " . DB_PREFIX . "options where option_name='index_newlognum'"));
        $index_pagenum = $row['option_value'];
        $sql = "SELECT gid,title FROM " . DB_PREFIX . "blog WHERE hide='n' and checked='y' and type='page' ORDER BY date DESC LIMIT 0, $index_pagenum";
        $res = $this->db->query($sql);
        $logs = array();
        while ($row = $this->db->fetch_array($res)) {
            $row['gid'] = (int)$row['gid'];
            $row['title'] = htmlspecialchars($row['title']);
            $logs[] = $row;
        }
        $cacheData = serialize($logs);
        $this->cacheWrite($cacheData, 'page');
    }

在主题文件module.php里面加入

<?php //页面导航
function yemiandaohang()
{global $CACHE;$page_cache = $CACHE->readCache('page');?>
<?php foreach ($page_cache as $value): ?>
<li><a class="link " href="<?php echo Url::log($value['gid']); ?>" title="<?php echo $value['title']; ?>"><?php echo $value['title']; ?></a></li>
<?php endforeach; ?>
<?php }?>

在需要的地方调用

<?php yemiandaohang();?>

评论(2)

取消
    1. 头像
      chenmoLv.2
      沙发
       回复
      1. 头像
        小怪兽
        @chenmo:这一步已经用不上了,修改过了
         回复