dedecms テンプレートで最近閲覧した記事のリストを表示するにはどうすればよいですか?
Dreamweaver Mall テンプレートを作成するときは、shopex または ecshop モデルを模倣して、最近閲覧した記事のリストを list dede テンプレートに追加することがよくあります。これにより、顧客エクスペリエンスが向上します。次の dedecms テンプレート実装方法を共有しましょう:
推奨される学習: 梦Weavercms
1. 次のステートメントをバックグラウンドで実行します
CREATE TABLE `数据库`.`dede_zj` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `mid` INTEGER UNSIGNED NOT NULL, `ip` VARCHAR(45) NOT NULL, `aid` INTEGER UNSIGNED NOT NULL, `logintime` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) )
2. Create新しい php ファイル count_zj .php が puls ディレクトリに保存され、内容は次のとおりです
<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); require_once(dirname(__FILE__)."/../member/config.php"); global $cfg_ml; $mid=$cfg_ml->M_ID; $joinip = GetIP(); //当前时间戳 $nowTime = time(); if($mid) { $row = $dsql->GetOne(" Select * From `dede_zj` where aid=’$aid’ and mid=’$mid’"); if(!$row){ $dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ( ”,$mid, ‘$joinip’,$aid,$nowTime) "); } $db->SetQuery(" Select title From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.mid=’$mid’ order by logintime desc limit 1,5"); $db->Execute(); while($row = $db->GetArray()) { echo "document.write(‘".$row['title']."’);\r\n"; } } if(!$mid){ $m = $dsql->GetOne(" Select * From `dede_zj` where aid=’$aid’ and ip=’$joinip’"); if(!$m){ $dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ( ”,$mid, ‘$joinip’,$aid,$nowTime) "); } $db->SetQuery(" Select title From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.ip=’$joinip’ order by logintime desc limit 1,5"); $db->Execute(); while($row = $db->GetArray()) { echo "document.write(‘".$row['title']."’);\r\n"; } } exit(); ?>
3. 次のステートメントを記事テンプレートに追加します
<SPAN id="span_zj"> <script src="{dede:field name=’phpurl’/}/count_zj.php?view=yes&aid={dede:field name=’id’/}&mid={dede:field name=’mid’/}" type=’text/javascript’ language="javascript"></script> <script type="text/javascript"> document.getElementById("zj").innerHTML = document.getElementById("span_zj").innerHTML; document.getElementById("span_zj").innerHTML = ""; </script> </SPAN>
を直接参照してください。 SPAN>組版は苦手ですが、機能は実現可能です。自己判断で扱っていただければ幸いです。
問題に関して、1点追加します。最近閲覧したリンクの
<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); require_once(dirname(__FILE__)."/../member/config.php"); global $cfg_ml; $mid=$cfg_ml->M_ID; $joinip = GetIP(); //当前时间戳 $nowTime = time(); if($mid) { $row = $dsql->GetOne(" Select * From `dede_zj` where aid=’$aid’ and mid=’$mid’"); if(!$row){ $dsql->ExecuteNoneQuery("INSERT INTO dede_zj( `id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ( ”,$mid, ‘$joinip’,$aid,$nowTime) "); } $db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zj.mid=’$mid’ order by logintime desc limit 1,5"); $db->Execute(); while($row = $db->GetArray()) { echo "document.write(\"<a href=’view.php?aid=".$row['id']."’>\");"; echo "document.write(‘".$row['title']."’);"; echo "document.write(\"</a>\");\r\n"; } } if(!$mid){ $m = $dsql->GetOne(" Select * From `dede_zjw` where aid=’$aid’ and ip=’$joinip’"); if(!$m){ $dsql->ExecuteNoneQuery("INSERT INTO dede_zjw( `id`, `mid`, `ip`,`aid` ,`logintime`) VALUES ( ”,$mid, ‘$joinip’,$aid,$nowTime) "); } $db->SetQuery(" Select title,dede_archives.id From dede_archives join dede_zj on dede_archives.id=dede_zj.aid where dede_zjw.ip=’$joinip’ order by logintime desc limit 1,5"); $db->Execute(); while($row = $db->GetArray()) { echo "document.write(\"<a href=’view.php?aid=".$row['id']."’>\");"; echo "document.write(‘".$row['title']."’);"; echo "document.write(\"</a>\");\r\n"; } } exit(); ?>
上記のphpファイルを上書きします
以上がdedecms テンプレートで最近閲覧した記事のリストを表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。