Zwei Möglichkeiten zum Schreiben und Aufrufen von Widget-Erweiterungen in ThinkPHP

墨辰丷
Freigeben: 2023-03-27 15:30:01
Original
1481 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die beiden Möglichkeiten zum Schreiben und Aufrufen von Widget-Erweiterungen in ThinkPHP vorgestellt und die Schreibmethoden und entsprechenden Aufruftechniken von Widget-Erweiterungen detailliert analysiert.

Allgemeine Verwendung von Widget Erweiterungen Zur Erweiterung von Seitenkomponenten können je nach Bedarf unterschiedliche Inhalte auf der Seite ausgegeben werden. Hier gibt es zwei Möglichkeiten, Widget in ThinkPHP zu schreiben und aufzurufen

Schreibmethode eins:

ArticlWidget.class.php-Datei:

class ArticleWidget extends Widget {
  /**
   *
   * @param array $data
   * @return type
   * 调用方法:{:W('ArticleList',array('cid'=>25,'limit'=>5))}
   * cid为分类id,limit为调用数量
   */
  public function render($data) {
    $Article = M('Article');
    $articleMap["cid"] = $data["cid"];
    $data["articleList"] = $Article->where($articleMap)->order('id desc')->limit($data["limit"])->select();
    foreach ($articleList as $key => $value) {
      if ($value["thumbnail"] == "") {
        $data["articleList"][$key]["thumbnail"] = '/Public/Img/Common/noThumbnail.jpg';
      }
    }
    return $this->renderFile('articleList', $data);
  }
}
Nach dem Login kopieren

Die Vorlagendatei ArticleList.html befindet sich in der Lib/Widget /Artikelverzeichnis

<volist name="articleList" id="articleList_vo">
  <li>
    <a href="__APP__/Channel/articleDetail/code/article/id/{$articleList_vo.id}" rel="external nofollow" title="{$articleList_vo.title}">{$articleList_vo.title}</a>
  </li>
</volist>
Nach dem Login kopieren

Schreibmethode zwei:

class ArticleWidget extends Action {
  /**
   *
   * @param array $data
   * @return type
   * 调用方法:{:R(&#39;Article/articleList&#39;,array(&#39;cid&#39;=>25,&#39;limit&#39;=>5),&#39;Widget&#39;)}
   * cid为分类id,limit为调用数量
   */
  public function articleList($cid, $limit) {
    $Article = M(&#39;Article&#39;);
    $articleMap["cid"] = $cid;
    $data = $Article->where($articleMap)->order(&#39;id desc&#39;)->limit($limit)->select();
    foreach ($data as $key => $value) {
      if ($value["thumbnail"] == "") {
        $data[$key]["thumbnail"] = &#39;/Public/Img/Common/noThumbnail.jpg&#39;;
      }
    }
    $this->assign(&#39;articleList&#39;, $data);
    $this->display(&#39;Widget:articleList&#39;);
  }
}
Nach dem Login kopieren

Vorlage Die Datei ArticleList.html hat den gleichen Inhalt, wird jedoch im Verzeichnis Tpl/style name/Widget/ abgelegt.

Wenn die Vorlagendatei im Ordner Article im Verzeichnis abgelegt wird Wo sich die Datei ArticleWiget.class.php befindet, lautet die Schreibmethode wie folgt:

$this->display(dirname(__FILE__) . &#39;/Article/articleList.html&#39;);
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP9 vordefinierte Variablen Detaillierte Erklärung der Super-Global-Array-Nutzung_php-Grundlagen

PHP Zufallszahl C erweiterter Zufall Zahl

PHP-Abhängigkeitsinjektion und Inversion von control_php-Fähigkeiten verstehen

Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten zum Schreiben und Aufrufen von Widget-Erweiterungen in ThinkPHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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 Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!