phpcms v9關聯文章排序陳舊問題的修改方法

2022-09-24 15:33:14 字數 1381 閱讀 8422

之前一直沒有注意過相關閱讀的排序問題,今天偶爾看帖有網友說道,才發現,果真如此。呼叫出來的內容十分陳舊。於是嘗試新增 order="id desc" 引數進行排序,呼叫順序依然毫無變化。開啟 phpcms/modules/content/classes/content_tag.class.php 內容模型標籤類一看,發現該標籤僅在內容存在人為設定的相關閱讀時,才依照order引數進行排序。而當內容不存在人為設定的相關閱讀時,則按照關鍵字進 行查詢,但此時並沒有按照order引數進行排序。而是不進行排序。這也就是為什麼文章呼叫的相關閱讀總是那麼陳舊的原因了。

修正該問題的方法如下:

修改 phpcms/modules/content/classes/content_tag.class.php 內容模型標籤類檔案,將 content_tag 類中 relation 方法修改為:

複製**

**如下:

/*** 相關文章標籤

* @param $data

*/public function relation($data) elseif($data['keywords'])

if($data['limit'] }

}if($data['id']) unset($key_array[$data['id']]);

return $key_array;

}其實只是將 $r = $this->db->select($sql2, '*', $limit, '','','id'); 替換為了 $r = $this->db->select($sql2, '*', $limit, $order,'','id'); 讓order引數傳入查詢方法。

在模板當中,使用如下標籤,加上order引數即可實現排序了。

複製**

**如下:

如果有潔癖的朋友,擔心直接修改pc會影響未來公升級,可以將其單獨提取出來。放到模板中當作函式使用。**如下:

複製**

**如下:

<?php

/*** 內容模型 - 相關文章標籤(修正排序異常問題)

* @param $data

*/function mk1_content_tag_relation($data) elseif($data['keywords'])

if($data['limit'] }

}if($data['id']) unset($key_array[$data['id']]);

return $key_array;

}?>

在模板中,使用如下php**獲取即可。

複製**

**如下:

其實只是乙個小問題,pc在未來應該會進行修正的,以上方法提供給那些心急的站長朋友們。

本文位址:

phpcms v9關聯文章排序陳舊問題的修改方法

之前一直沒有注意過相關閱讀的排序問題,今天偶爾看帖有說道,才發現,果真如此。呼叫出來的內容十分陳舊。於是嘗試新增 order id desc 引數進行排序,呼叫順序依然毫無變化。開啟 phpcms modules content classes content tag.class.php 內容模型標...

phpcms V9如何呼叫全站文章排行

想在首頁新增瀏覽排行功能,卻發現phpcms竟然不支援呼叫全站文章排行。仔細研究了phpcms原始碼,終於找到解決辦法。預設情況下,phpcms只支援呼叫當前文章排行,如下 其中 catid為待呼叫欄目的id,如果想實現全站呼叫,需要修改phpcms modules content classes ...

PHPCMS V9 定時發布文章的實現方法

在wordpress中,新增博文的時候,發布日期寫未來的時間,那麼在時間到來的時候,文章會自動發布出現在首頁,做到預約發布 自動發布。其實在phpcms v9中同樣可以做到定時發布,這樣就可以預先設定些文章,在假期可以定時發布,避免出現類似cmsyou在過年期間,更新文章停了1個月的時間。具體怎麼做...