Heim > php教程 > php手册 > Sekundärentwicklung von phpcms V9 ------ (ausführliche Erklärung zum Erhalten von Klicks)

Sekundärentwicklung von phpcms V9 ------ (ausführliche Erklärung zum Erhalten von Klicks)

WBOY
Freigeben: 2016-10-22 00:00:07
Original
1423 Leute haben es durchsucht

In Bezug auf die Verwendung von Klicks auf phpcms V9 sollte es viele direkte Aufrufe zu den im Internet gesuchten Codes geben. Einige Leute, die sich eingehend informieren und weiterentwickeln möchten, sind jedoch noch verwirrter, nachdem sie die Codes gesehen haben Nachdem ich es ein paar Tage lang gelesen habe, werde ich es aufschreiben und hier teilen. Lassen Sie uns zunächst das Grundwissen verstehen

pc_base::load_model(‘*<span style="color: #000000;">_model’) 加载数据库模型 
pc_base::load_sys_class(‘classname’) 实例化系统类
pc_base::load_app_class(‘classname’,’admin’) 实例化模块类
pc_base::load_sys_func (‘funcfile’) 调用系统函数库</span>
Nach dem Login kopieren
Die oben genannten sind die vier Methoden zum Aufrufen von Modellen und Instanziieren von Objekten
pc_base::load_model('*_model') entspricht dem Laden der Klassendatei im Stammverzeichnis phpcmsmodel
pc_base::load_sys_class('classname') entspricht dem Laden der Datei im Stammverzeichnis phpcmslibsclasses
pc_base::load_app_class('classname','admin') entspricht Laden Sie die Dateien im Stammverzeichnis phpcmsmodulesadminclasses
pc_base::load_sys_func ('funcfile') entspricht dem Ladestammverzeichnis phpcmslibsfunctions
Das Folgende ist ein Beispiel für das Erhalten von Klicks
<span style="color: #008080;">1</span> {pc:content action=<span style="color: #800000;">"</span><span style="color: #800000;">lists</span><span style="color: #800000;">"</span> catid=<span style="color: #800000;">"</span><span style="color: #800000;">$catid</span><span style="color: #800000;">"</span> num=<span style="color: #800000;">"</span><span style="color: #800000;">25</span><span style="color: #800000;">"</span> order=<span style="color: #800000;">"</span><span style="color: #800000;">id DESC</span><span style="color: #800000;">"</span> page=<span style="color: #800000;">"</span><span style="color: #800000;">$page</span><span style="color: #800000;">"</span> moreinfo=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">}
</span><span style="color: #008080;">2</span> <span style="color: #000000;">{loop $data $r}
</span><span style="color: #008080;">3</span> {php $db = pc_base::load_model(<span style="color: #800000;">'</span><span style="color: #800000;">hits_model</span><span style="color: #800000;">'</span>);   $_r = $db->get_one(array(<span style="color: #800000;">'</span><span style="color: #800000;">hitsid</span><span style="color: #800000;">'</span>=><span style="color: #800000;">'</span><span style="color: #800000;">c-</span><span style="color: #800000;">'</span>.$modelid.<span style="color: #800000;">'</span><span style="color: #800000;">-</span><span style="color: #800000;">'</span>.$r[id])); $views =<span style="color: #000000;"> $_r[views]; }
</span><span style="color: #008080;">4</span> {php $comment_tag = pc_base::load_app_class(<span style="color: #800000;">"</span><span style="color: #800000;">comment_tag</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">comment</span><span style="color: #800000;">"</span>); $comment_total = $comment_tag->count(array(<span style="color: #800000;">'</span><span style="color: #800000;">commentid</span><span style="color: #800000;">'</span>=><span style="color: #800000;">'</span><span style="color: #800000;">content_</span><span style="color: #800000;">'</span>.$catid.<span style="color: #800000;">'</span><span style="color: #800000;">-</span><span style="color: #800000;">'</span>.$r[id].<span style="color: #800000;">'</span><span style="color: #800000;">-</span><span style="color: #800000;">'</span><span style="color: #000000;">.$modelid));}
</span><span style="color: #008080;">5</span> <li><span <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">rt</span><span style="color: #800000;">"</span>>{date(<span style="color: #800000;">'</span><span style="color: #800000;">Y-m-d H:i:s</span><span style="color: #800000;">'</span>,$r[inputtime])}</span>·<a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[url]}</span><span style="color: #800000;">"</span> target=<span style="color: #800000;">"</span><span style="color: #800000;">_blank</span><span style="color: #800000;">"</span>{title_style($r[style])}>{$r[title]}</a> 点击:{$views} 评论数:{<span style="color: #0000ff;">if</span> $comment_total}{$comment_total}{<span style="color: #0000ff;">else</span>}<span style="color: #800080;">0</span>{/<span style="color: #0000ff;">if</span>}</li>{/<span style="color: #000000;">loop}
</span><span style="color: #008080;">6</span> <span style="color: #000000;">{$pages}
</span><span style="color: #008080;">7</span> {/pc}
Nach dem Login kopieren
Die dritte Zeile ist die Methode zum Erhalten von Klicks. Wir werden sie separat erklären:

$db = pc_base::load_model('hits_model')  
Nach dem Login kopieren
Das instanziierte Objekt ist $db und die instanziierte Klasse hit_model wird geladen. Der Speicherort dieser Klasse befindet sich in der Datei phpcmsmodelhit_model.class.php

<span style="color: #0000ff;">class</span><span style="color: #000000;"> hits_model extends model {
    </span><span style="color: #0000ff;">public</span> $table_name = <span style="color: #800000;">''</span><span style="color: #000000;">;
    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> function __construct() {
        $</span><span style="color: #0000ff;">this</span>->db_config = pc_base::load_config(<span style="color: #800000;">'</span><span style="color: #800000;">database</span><span style="color: #800000;">'</span><span style="color: #000000;">);
        $</span><span style="color: #0000ff;">this</span>->db_setting = <span style="color: #800000;">'</span><span style="color: #800000;">default</span><span style="color: #800000;">'</span><span style="color: #000000;">;
        $</span><span style="color: #0000ff;">this</span>->table_name = <span style="color: #800000;">'</span><span style="color: #800000;">hits</span><span style="color: #800000;">'</span><span style="color: #000000;">;
        parent::__construct();
    }
}</span>
Nach dem Login kopieren
Dieses Laden der Klassendatei erbt die Modellklassendatei und ihre internen Methoden, daher wird unten die Methode get_one() aufgerufen
$_r = $db->get_one(array('hitsid'=> ;'c-'.$modelid.'-'.$r[id])) Rufen Sie die Methode get_one im $db-Objekt auf. Diese Methode befindet sich in der von hits_model geerbten Klasse. Der Code lautet wie folgt:
final <span style="color: #0000ff;">public</span> function get_one($<span style="color: #0000ff;">where</span> = <span style="color: #800000;">''</span>, $data = <span style="color: #800000;">'</span><span style="color: #800000;">*</span><span style="color: #800000;">'</span>, $order = <span style="color: #800000;">''</span>, $group = <span style="color: #800000;">''</span><span style="color: #000000;">) {
        </span><span style="color: #0000ff;">if</span> (is_array($<span style="color: #0000ff;">where</span>)) $<span style="color: #0000ff;">where</span> = $<span style="color: #0000ff;">this</span>->sqls($<span style="color: #0000ff;">where</span><span style="color: #000000;">);
        </span><span style="color: #0000ff;">return</span> $<span style="color: #0000ff;">this</span>->db->get_one($data, $<span style="color: #0000ff;">this</span>->table_name, $<span style="color: #0000ff;">where</span><span style="color: #000000;">, $order, $group);
    }</span>
Nach dem Login kopieren
get_one(arr(

'hitsid'=>'c-'.$modelid.'-'.$r[id])) Das in der Methode übergebene Array ist der Wert des Feldes in der Datentabelle v9_hits. Die Struktur der Treffertabelle ist wie folgt

$_r ist derzeit ein Datenelement in der Tabelle. Die Feldansichten in der Datentabelle geben die Anzahl der Klicks auf diesen Artikel an. Verwenden Sie also $_r[views], um die Anzahl der Klicks zu ermitteln. ! !

Hinweis: In den Hitsid-Felddaten c-1-2 stellt 1 die aktuelle Modell-ID und 2 die ID des aktuellen Artikels dar

 

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage