有時(shí)候我們需要對(duì)網(wǎng)站所有文章的收藏量進(jìn)行一個(gè)統(tǒng)計(jì),但是織夢(mèng)默認(rèn)沒(méi)有這個(gè)統(tǒng)計(jì)功能,我們需要二次開(kāi)發(fā),下面就告訴大家詳細(xì)開(kāi)發(fā)過(guò)程!
此過(guò)程需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,需要取得數(shù)據(jù)庫(kù)權(quán)限,建議大家在操作前最好備份一下數(shù)據(jù)庫(kù)以及文件。下面是詳細(xì)步驟:
第一步、新建數(shù)據(jù)庫(kù)表dede_stows,我們以直接復(fù)制dede_downloads數(shù)據(jù)表為例
注:dede為數(shù)據(jù)庫(kù)表前綴,請(qǐng)改成你自己的表前綴!
然后將dede_downloads中的downloads名稱更改為stows,再將hash字段刪除;
新建一個(gè)名稱為title的字段:
類型:text
長(zhǎng)度:252
整理:gbk_chinese_ci(你的網(wǎng)站編碼,如果是utf-8,請(qǐng)選擇utf-8)
空:否
額外:留空
第二步、打開(kāi)/plus/stow.php文件,將一下代碼插入最后的 ?> 字符前面:
代碼如下:
//更新收藏次數(shù) $title = ($arctitle);$stows = 0; $rs = $dsql->ExecuteNoneQuery2("UPDATE `dede_stows` SET stows = stows+1 WHERE title='$title' "); if($rs <= 0) { $query = " INSERT INTO `dede_stows`(`title`, `id`, `stows`) VALUES('$title', '$id', 1); "; $dsql->ExecNoneQuery($query); } |
第三步、再新建一個(gè)php文件命名為stows.php,代碼如下:
<?php/* * 收藏總次數(shù)統(tǒng)計(jì) */require_once(dirname(__FILE__)."/../include/common.inc.php");$aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;$row = $dsql->GetOne("SELECT SUM(stows) AS totals FROM `dede_stows` WHERE id='$aid' ");if(empty($row['totals'])) $row['totals'] = 0;echo "document.write('{$row['totals']}');";exit(); |
注意:上面兩段代碼里面的dede_字符都改成自己的數(shù)據(jù)庫(kù)前綴
完成后只要在你需要顯示統(tǒng)計(jì)的頁(yè)面加入如下代碼即可顯示統(tǒng)計(jì)總次數(shù):
<srcipt src="{dede:global name='cfg_phpurl'/}/stows.php?aid={dede:field name='id'/}" language="javasrcipt"></srcipt> |
新聞熱點(diǎn)
疑難解答
圖片精選