1. 程式人生 > >DEDECMS自定義模組之文章上下篇

DEDECMS自定義模組之文章上下篇

1、$aid文章ID
2、$typeid文章所屬欄目ID
3、$act當前文章所屬欄目的標識
4、$ksOne文章一級欄目名稱
5、$ksTwo文章二級欄目名稱

 /*********************獲取當前文章欄目ID**************************/ 
$ksxxListArr=array("experience" , "outline" , "quesBase" , "quesPr" , "pracBase" , "pracPr");//定義欄目列表
if((!isset($_GET['act'])) || ($_GET['act']=="") || (!in_array($_GET['act'], $ksxxListArr))){
 ShowMsg('非法引數,請勿提交!', '-1');
 exit(); 
}else{ 
 $act = $_GET['act'];
}
$ksxxArr = array( //定義欄目列表一級和二級名稱和欄目ID

  'experience' => array("複習指導","考試經驗",236), 
  'outline' => array("複習指導","考試大綱",235), 
  'quesBase' => array("試題中心","經濟學基礎",239),  
  'quesPr' => array("試題中心","初級會計實務",237),  
  'pracBase' => array("每日一練","經濟學基礎",240), 
  'pracPr' => array("每日一練","初級會計實務",238) 
 );
 foreach($ksxxArr as $ksxxkey => $ksxxval){
  if($ksxxkey==$act){
   $ksOne=$ksxxval[0];
   $ksTwo=$ksxxval[1]; 
   $typeid=$ksxxval[2]; 
  }
 }
/*********************獲取當前文章欄目ID**************************/ 
if(!isset($_GET['id']) || empty($_GET['id'])){
 ShowMsg('找不到頁面!', '-1');
 exit();  
}
$aid=$_GET['id'];
$aid=intval($aid);
//獲取當前文章
$arc= $dsql->GetOne( "select a.title , a.id , a.pubdate , a.source , b.body from 
`#@__archives` a LEFT JOIN 
`#@__addonarticle` b ON a.id = b.aid WHERE b.aid= '{$aid}' AND a.arcrank!='-2' ORDER BY a.pubdate DESC");  /*********************獲取當前文章欄目ID**************************/ 
  
/****************定義方法獲取上下篇***************************/
 $PreNext= array();
 if(count($PreNext)<2)
 {
  $preR =  $dsql->GetOne("Select id From 
`#@__arctiny` where id<'{$aid}' And arcrank>-1 And typeid='{$typeid}' order by id desc");
  $nextR = $dsql->GetOne("Select id From 
`#@__arctiny` where id>'{$aid}' And arcrank>-1 And typeid='{$typeid}' order by id asc");
  $pre = (is_array($preR) ? " where id={$preR['id']} " : ' where 1>2 ');
  $next = (is_array($nextR) ? " where id={$nextR['id']} " : ' where 1>2 ');
  $query = "Select id , title from 
`#@__archives` ";
  $preRow = $dsql->GetOne($query.$pre);
  $nextRow = $dsql->GetOne($query.$next);
  if(is_array($preRow))
  {
   $PreNext['pre'] = "上一篇:<a href='article.php?act=".$act."&id=".$preRow['id']."'>{$preRow['title']}</a> ";
  }
  else
  {
   $PreNext['pre'] = "上一篇:沒有了!";
  }
  if(is_array($nextRow))
  {
   $PreNext['next'] = "下一篇:<a href='article.php?act=".$act."&id=".$nextRow['id']."'>{$nextRow['title']}</a> ";
  }
  else
  {
   $PreNext['next'] = "下一篇:沒有了!";
    
  }
 }
/****************定義方法獲取上下篇***************************/
if($arc['id'] !=""){
   include(dirname(__FILE__).'/templets/article.htm');
  }else{
   ShowMsg('非法請求,請勿修改引數!', '/');
   exit(); 
  }

注意:上下篇呼叫參考如下:
  <!--上下篇-->
   <div class="prenext">
    <ul>
      <li><?php echo $PreNext['pre']; ?></li>
      <li><?php echo $PreNext['next']; ?></li>
    </ul>
   </div>
  <!--上下篇-->

相關推薦

DEDECMS定義模組文章下篇

1、$aid文章ID 2、$typeid文章所屬欄目ID 3、$act當前文章所屬欄目的標識 4、$ksOne文章一級欄目名稱 5、$ksTwo文章二級欄目名稱 /*****************

dedecms定義模型獨立模型在首頁、列表頁、內容調用內容

兩個 定義 blog typeid 註意 lists lis curl lds dedecms關於自定義模型(獨立模型)的首頁、列表頁、內容怎麽調用?在後臺自定義模型(獨立模型)的建立及自定義字段的添加比較簡單,需要註意兩點: (1)如果某個字段需要在前臺列表頁顯示,則在前

定義BehaviorToolBar滑TabLayout顏色漸變

本篇文章介紹使用CoordinatorLayout的自定義Behavior來實現如下的效果 分析本例效果 首先我們來分析下整個例子需要實現哪些效果: ToolBar的上滑和下滑 TabLayout跟隨ToolBar上移和下移 TabLayout顏

少說話多寫程式碼Python學習056——標準模組定義模組

我們前面知道了如何匯入外部模組,比如常用的math模組, import math print(math.sin(90)) 輸出 0.8939966636005579 我們也可以自己定義一個模組,比如我的程式都在這個目錄下, 圖1 然後在當前目錄下,再建立一個MyFirstLi

萬惡源 - Python 定義模組

自定義模組 我們今天來學習一下自定義模組(也就是私人訂製),我們要自定義模組,首先就要知道什麼是模組啊 一個函式封裝一個功能,比如現在有一個軟體,不可能將所有程式都寫入一個檔案,所以咱們應該分檔案,組織結構要好,程式碼不冗餘,所以要分檔案,但是分檔案,分了5個檔案,每個檔案裡面可能都有相同的功能(函式),

python 定義模組的使用

python 內建的模組有很多。當然我們也可以自定義模組然後進行使用 第一步建立一個自定義模組 檔名為 mk.py def add(x,y): return x+y x = 1002 def home(x,y): return x-y 第一種引用 imp

dedecms 定義模型中圖片欄位無法選擇及無法傳問題的解決方案

1. 自定義欄位圖片上傳無法點選選擇的問題解決方法(include/uploadsafe.inc.php) 541行:onClick=\"SelectImage('form1.$fieldname','big')\" />\r\n"; 更改為:onClick=\"Se

從原理教你如何刪除織夢dedecms定義欄位

由於dedecms後臺沒有提供刪除自定義欄位的方法,我們只能自己手動操作刪除,下面的內容是刪除的方法和原理。 一、增加一個自定義欄位,用於下面的示例中講解刪除。 “核心-頻道模型-內容模型管理”,選擇”普通文章-欄位管理-新增新欄位“ 注意紅色框選的地方,後面的講解會說到

Python基礎匯入Python模組+匯入第三方模組+定義模組

Python的模組匯入 Imporp random 匯入模組 Form random import randrange,random 詳細匯入 Import sys,os 多個匯入 匯入第三方模組 使用pip命令安裝 Pip install 模組名 安裝 P

Vue使用 vue-quill-editor_定義toolbar_修改圖片傳方式

1.安裝npm install vue-quill-editor --save 2.引入import { quillEditor } from 'vue-quill-editor' components: { quillEditor }, 3.使用<quill-editor v-model="

HTML5定義屬性data-

表現 logs nbsp null dex att html5 mov 對象 HTML5 增加了一項新功能是 自定義數據屬性 ,也就是 data-* 自定義屬性。在HTML5中我們可以使用以 data- 為前綴來設置我們需要的自定義屬性,來進行一些數據的存放。當然高級瀏覽

定義驗證這能輸入數字(包括小數 負數 )

key 多個 class script 數字 是否 pre blur 如果 <script type="text/javascript"> function onlyNumber(obj){ //得到第一個字符是否為負號

定義input文件傳 file的提示文字及樣式

fun load 分享圖片 png type click asc pla 技術 簡單記錄一下 效果圖: 代碼: 1 <input class="aload" type=‘button‘ value=‘上傳附件‘ onClick=‘javascript

定義input文件傳樣式

直接 bmi hidden action round phi 設置 掌握 隱藏 文件上傳是我們經常會用到的功能,但是原生的input樣式太醜了,能不能自定義一個input文件上傳樣式呢? 我這裏寫了兩種方法,form表單提交跟ajax異步提交都沒有問題,自動上傳或者點擊

OC 定義tabBar實現tabBar帶有圓形按鈕

1.建立繼承自UITabBar控制元件的類CustomTabBar,程式碼如下: #import "CustomTabBar.h" @interface CustomTabBar () @property (nonatomic, strong)UIButton *roundButton;

定義ViewRect的使用與理解

此篇為我的第一篇部落格,藉此平臺讓更多的人知道和掌握更多android的知識,希望能越來越優秀.高手過招,不只是會用,更多的是理解它的原理,能舉一反三,與已知知識對比學習,方便記憶與理解,下面,我們直接進入正題.我的文章會有一個很明顯的特徵,就是中學時期老師所講的"3W"原則,what(是什麼),h

[uwp]定義Behavior隨意拖動

原文: [uwp]自定義Behavior之隨意拖動   由於最近有需求,所以自定義了一個隨意拖動元素的Behavior.   當然在使用這個自定義的Behavior時,有個小假設:拖動元素必須是Canvas容器的子元素。   實現原理比較簡單低效:   監聽被拖動元素的PointerMoved事件,當

微信小程式 定義元件《轉盤》

微信小程式支援簡潔的元件化程式設計 開發者可以將頁面內的功能模組抽象成自定義元件,以便在不同的頁面中重複使用;也可以將複雜的頁面拆分成多個低耦合的模組,有助於程式碼維護。自定義元件在使用時與基礎元件非常相似。 這篇博文主要就是分享個自己實際專案中用到的 轉盤自定義元件 專案

定義模組匯入的實用方法

00一個大坑這個問題是我在使用pycharm中的copy path獲取當前檔案的絕對路徑時遇到。 結果獲取到的路徑如下!!!E:\text1\day24(模組)\模組匯入練習1\當前要執行的檔案.py一開始沒有發現錯在哪裡,直到使用print(__file__) 發現真正的路徑是:E:/text1/d

定義View指南針(反編譯別人的程式碼實現)

一、說明        偶爾點開魅族手機內建的工具箱應用,發現其指南針做的還不錯,就想模擬做一個類似的效果,在這裡我們不準備自己從頭開始編寫程式碼,而是採用一點黑科技,首先,我們從魅族系統中匯出工具箱應用的apk,然後反編譯apk,結合