織夢dedecms生成靜態時列表頁面會顯示未審核的文章怎么辦

                          閱讀數: 時間:2021-07-05 來源:發菜網站建設制作,專業做網站已十年 標簽: 網站建設 天河網站建設 番禺網站建設 dedecms 織夢內容管理系統 織夢教程
                          我們做網站時,經常會把數據庫導來導去,有時偶爾不夠細心,有些參數沒有改過來,之前有做過一個系統把內容導入到dedecms中但是會發現生成時未審核的文檔也會在列表頁面顯示并且是以plus/view.php?id形式顯示的。下下我們來看看問題解決的辦法。
                           
                          織夢的文檔數據都是存在MySQL數據表里面的,就默認的安裝的織夢系統來說,發的文章、軟件、圖片等等的文檔信息,都會儲存在dede_archives表中,dede_archives表是文檔的主表??棄羰侨绾蝸砼袛嘁黄臋n是否審核或者是否已經生成HTML文件的呢?
                          就是通過dede_archives表中的arcrank和ismake兩個字段,今天來了解這兩個字段的含義。具體來說arcrank是看這篇文章審核沒有,它有-1和0兩個值;ismake是代表是否生成了靜態文件,它有三個值:0,1,-1。
                          下面是對各種情況進行組合,都有可能出現的文檔狀態:
                          審核狀態生成html:$arcrank=-1 $ismake = 0 (但是后臺文章列表那里顯示沒有生成,點擊修改文章是顯示以生成,其實沒生成,因為是未審核,一但審核,自動變成1)。
                          審核狀態動態瀏覽:$arcrank=-1 $ismake = -1 ;
                          開放狀態生成html:$arcrank=0 $ismake = 1 ;
                          開放狀態動態瀏覽:$arcrank=0 $ismake = -1 ;
                          總結一下,通過上面四個,得出以下結論:
                          $arcrank =-1是代表未審核,0帶表審核:
                          $ismake生成html:0或者1; 入庫的時候是0,程序會判斷是不是生成了html,如果是會調整到1;
                          另外還有一個需要注意的地方,就是織夢還有一個文檔微表dede_arctiny,如果我們在使用SQL語句對文檔批量進行審核或者未審核操作時,必須把微表中的arcrank字段也設為相同的值

                          網上比較常見的辦法是使用SQL語句設置,具體的SQL語句如下:
                           代碼如下 復制代碼
                          Update dede_archives set arcrank = -1,ismake=0;
                           
                          使用這兩條SQL語句之后,所有的文章文檔的狀態就變成了未審核了。不過會遇到一個問題,有的是前臺動態還可以訪問,后臺一鍵生成的時候居然還會生成,只是不會真正的生成文件。產生這種情況的原因是什么呢?其實是織夢DedeCMS的微表和主表的狀態沒有統一。網上有一種比較死的辦法,是把文章刪除之后再恢復文章就解決了。
                          發菜工作室今天要說的還是使用SQL語句解決這個問題。都知道是微表的問題了,只需要使用如下的SQL語句即可解決:
                           代碼如下 復制代碼
                          Update dede_arctiny set arcrank = -1;
                           
                          綜合一下,我們在把所有的文章設置為未審核狀態的時候,一定要使用以下的SQL語句:
                           代碼如下 復制代碼
                          Update dede_archives set arcrank = -1,ismake=0 where 條件; 
                          Update dede_arctiny set arcrank = -1 where 條件;
                           
                          這樣就把文章的主表、微表等等的信息都同步了。
                          最后發現是因為dede_archives與dede_arctiny表中有兩不統一導致的。
                           
                           
                          筆者這樣寫,在執行sql頁面提交就可以執行了:
                          Update dede_archives set arcrank = 0,ismake=0 where id>500;

                          Update dede_arctiny set arcrank = 0 where id>500;

                          OK, 關于dedecms生成靜態時列表頁面會顯示未審核的文章的問題,今天就分享到這里了。關于企業建站、網絡推廣等問題,歡迎向我們咨詢。

                          推薦文章/ Related products

                          最新案例/ LATEST CASES

                          發菜網絡工作室外貿建站專注企業外貿網站設計制作

                          提供專業的外貿網站設計、小語種站群、Google ADS推廣、谷歌SEO優化、AI大數據營銷、SNS社媒營銷
                          立即咨詢
                          X微信咨詢

                          截屏,微信識別二維碼

                          微信號:gdfacai

                          (點擊微信號復制,添加好友)

                            打開微信

                          微信號已復制,請打開微信添加咨詢詳情!
                          電話咨詢
                          在線客服
                          微信咨詢
                          關注我們
                          在線留言
                          返回頂部
                          關閉

                          網站需求

                          您的公司
                          您的姓名*
                          您的手機*
                          您的需求
                          感謝您的咨詢,我們會盡快給您回復!
                          亚洲国产成人无码影片在线播放