返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 帝國新聞>帝國、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://m.brucezhang.com/article/diguo/dgPHPCMSjzmdbezcSQLtydbq.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 成人一区专区在线观看| 成人做受视频试看60秒| 91成人高清在线播放| 久久久久亚洲av成人无码| 青青草国产精品欧美成人| 成人欧美一区二区三区小说| 小明发布永久在线成人免费| 亚洲国产精品成人午夜在线观看| 久久久噜噜噜www成人网| 成人免费无码大片A毛片抽搐 | 国产成人综合精品| 久久精品成人一区二区三区| 成人毛片免费观看视频在线| 亚洲激情成人网| 国产成人精品999在线观看| 色老头成人免费视频天天综合| 国产成人精品亚洲一区| 欧美成人一区二区三区在线电影| 国产成人免费永久播放视频平台| 欧美成人国产精品高潮| 亚洲国产成人久久一区www| 国产成人精品永久免费视频| 成人综合在线视频| 国产成人18黄网站麻豆| 欧美成人午夜视频| 国产成人A亚洲精V品无码| 成人免费在线视频网站| 欧美成人免费午夜影视| 久久成人国产精品| 四虎成人精品在永久免费| 国产成人免费ā片在线观看| 成人午夜18免费看| 天天影院成人免费观看| 成人免费小视频| 国产成人精品无码免费看| 成人无遮挡毛片免费看| 成人毛片手机版免费看| 成人美女黄网站视频大全| 中文字幕成人在线观看| 成人福利小视频| 国产国产成人精品久久|