返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 帝國新聞>帝國、PHPCMS及織夢對比(二):支持SQL調用的標簽

  對于一般的CMS用戶,CMS系統默認的標簽封裝的越完整,使用越簡單越受歡迎,但如果是個性化數據調用需求較多的用戶,通常都會感覺系統內置的標簽局限性太大,不夠靈活,特別是懂PHP或MYSQL的站長朋友們,更希望能夠很方便的直接通過SQL語句在模板中自由調用數據庫中的各種數據。

  我對PHP和MYSQL不能算精通,但能算CMS的深度用戶,很多時候去測試一款CMS時,都會考慮這款CMS是否支持直接在模板中通過SQL語句來讀取CMS系統內的或者外部數據源的數據。很多時候,希望突破內置標簽的局限性,靈活自由的以各種形式來調用CMS數據庫中的數據,特別是不同程序間的數據整合調用時,支持SQL語句的標簽能夠省去很多麻煩。

  那么本文中下面落葉對帝國CMS、PHPCMS及DEDECMS這三款CMS中的支持通過SQL語句直接調用數據的標簽作一些對比分析。

  1)帝國CMS中直接通過SQL語句調用數據的標簽:

  如顯示欄目id為1的10條新聞表記錄

  [ecmsinfo]"select * from phome_ecms_news where classid=1 order by id desc limit 10"帝國cms批量助手,10,30,0,24,1,0[/ecmsinfo]

  實際上帝國CMS中支持直接SQL語句調用數據的標簽不止ecmsinfo這一個標簽,所謂的靈動標簽 (e:loop)、文字調用標簽phomenews等。

  我看到帝國CMS官方論壇有用戶問過,帝國CMS的支持SQL語句的標簽是否支持讀取外部數據源,管理員WC的回復是只支持同一個數據庫中的數據的讀取,其實這個不難理解,實際是就帝國CMS的SQL數據調用功能不支持外部數據源的調用,因為如果是多套程序安裝在同一個數據庫下,那本身就可以當作同一套程序來處理數據,如同一數據庫中安裝了論壇 和帝國CMS,直接把論壇的數據表當作帝國CMS的自定義數據表來調用一樣的道理。

  帝國CMS的SQL標簽的優點再于,SQL語句查詢結果本身在標簽內部作了處理,用戶可以直接在標簽中定義標題截取長度、是否顯示欄目名稱、時間格式化等,這些在PHPCMS及DEDECMS的類似標簽中都是需要直接在標簽的innertxt中自己作邏輯判斷和調用函數處理的,這點對于普通用戶還是比較方便的。畢竟帝國cms軟件采集,調用文章列表,要個性化的地方也就基本標題顯示長度,時間顯示格式,是否在前面顯示欄目名及列表的模板樣式,帝國這樣的標簽都可以很好的實現,夠用了。

  2)PHPCMS中的直接通過SQL語句調用數據的標簽:GET標簽

  如帶分頁,示例(調用欄目ID為1通過審核的10條信息,標題長度不超過25個漢字,顯示更新日期,帶分頁)

  {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}

  標題:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}

  {/get}

  在我看來GET標簽是PHPCMS中好用的標簽,要查詢什么數據,直接寫好SQL語句,使用GET標簽,并且可定自定義是否分頁,分頁每頁顯示的條數,分頁的URL規則等等,GET標簽之間的內容為讀取出來的數組變量,可直接使用PHP模板語法輸出,亦可調用全局函數或PHP原生函數進行數據處理后輸出。整個處理過程很適合PHP程序員的思維。

  GET標簽的另一個優勢是能夠很方便的調用外部數據源,即其它程序的MYSQL數據庫,并且不管是否在同一MYSQL中,不管是不在同一臺服務器,只需要在PHPCMS后臺數據源管理處添加外部數據源的主機如localhost或服務器IP,然后填寫數據庫名、數據庫用戶名及數據庫密碼,測試連接成功后,后面即可直接在模板中使用GET標簽調用外部數據源。

  \

  get 標簽調用外部數據示例(調用數據源為bbs,分類ID為1的10個最新主題,主題長度不超過25個漢字,顯示更新日期):

  {get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}

  主題:{str_cut($r[subject], 50)} URL:http://www.pmume.com/viewthread.php帝國cms采集軟件?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}

  {/get}

  這點是非常方便的,一個文章主站+論壇 ,然后直接在主站首頁調用論壇中的帖子,使用GET標簽,可以以任何想實現的方式來讀取論壇數據庫的帖子,而其它程序中則只能通過JS調用或者通過改程序來實現。

  GET標簽的優勢還在于,如果是進行二次開發,新建一個abc.php頁面,只需要引用PHPCMS的公共文件,即可直接使用PHPCMS的模板引擎,然后在模板目錄下新建一個abc.html即可在模板中使用GET標簽調用任何想調用的內容。

  如果MYSQL數據庫不在同一服務器,在PHPCMS后臺填好數據庫設置,然后在遠程服務器的MY.INI文件中設置禁用域名DNS反向解析,然后使用GET標簽遠程調用,速度會和同一臺服務器相差無幾,跨服務器數據調用非常方便。

  不過,我還不滿足于此,還希望GET標簽能直接調用其它類型的數據庫數據,如SQL server中的數據,如果能實現這樣,那跨語言平臺整合那將非常方便了。如主站是PHPCMS的,論壇是.NET,這樣如果GET標簽也支持讀SQL server中的數據,那真是無敵了。

  3)DEDECMS中直接通過SQL語句調用數據的標簽:SQL標簽

  如調用文章表中會員ID為1的會員發布的10條文章

  {dede:sql sql='Select * from dede_archives where mid=1 limit 10'}

  <a href='/plus/view.php?aid=[field:id/]' target='_blank'>[field:title/]</a>

  {/dede:sql}

  從DEDECMS中SQL標簽文檔來看,該SQL標簽直接使用SQL語句來調用簡單的文章列表,還是非常方便的,處理好的innertxt也支持用 PHP函數處理后輸出,這點和PHPCMS中挺像,但是貌似沒有PHPCMS的GET標簽強大,不支持分頁,更不會支持分頁的自定義URL格式。

  當然,一般的用于側邊欄調用一些內置標簽不方便實現的數據,夠用了。

如果您覺得 帝國、PHPCMS及織夢對比(二):支持SQL調用的標簽 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.brucezhang.com/article/diguo/dgPHPCMSjzmdbezcSQLtydbq.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 国产成人v爽在线免播放观看| 免费成人av电影| 成人au免费视频影院| 777精品成人影院| 欧美日韩亚洲成人| 国产成人免费网站在线观看| 日本免费成人网| 国产成人亚洲精品大帝| 国产成人一区二区在线不卡| 小明发布永久在线成人免费| 成人国产在线不卡视频| 成人亚洲欧美日韩在线| 国产成人精品三级麻豆| 亚洲精品无码乱码成人| 91精品欧美成人| 国产成人久久一区二区三区| 国产成人性色视频| 狠狠色成人综合首页| 四虎成人免费观看在线网址| 午夜电影成人福利| 在线视频免费国产成人| 亚洲色成人WWW永久网站| 1314成人网| 久久久久亚洲AV成人片| 国产成人精品免费视频大全办公室 | 久久精品国产亚洲av成人| 精品无码成人片一区二区98 | 欧美成人免费午夜影视| 国产成人一区二区三区精品久久 | 一级毛片成人免费看a| 在线观看国产成人AV天堂| 久久成人国产精品| 国产成人无码a区在线观看视频免费 | 成人性开放大片| 成人欧美1314www色视频| 久久久成人影院| 精品无码成人片一区二区98 | 亚洲AV无码成人专区| 国产成人av一区二区三区在线观看| 欧美成人片在线观看| 窝窝午夜看片成人精品|