日本av碟片

phpcmsv9站群共用一套模板智能模板制作方法

發布時間:2019-05-25 12:20:20 來源:青鋒建站 作者:青鋒建站
  phpcmsv9的特點之一就是內置多站點支持,使用多站點可以使用一套臺后來搭建多個站點,或構造站群。但是有一點,不同站點要使用一套模板來生成靜態頁面,這樣就不方便了。于是青鋒建站給大家分享了一套讓phpcmsv9站群共用一套模板的智能模板制作方法,需要熟悉模板標簽與模型操作。青鋒建站給大家分享了實現多個子站點使用一套模板的實現思路與一套模板示例供大家下載,需要關注青鋒建站的百度熊掌號來獲取下載碼。

站群共用模板的思路分析

  青鋒建站給在這里進行逆向分析,要制作一個站群共用的智能模板,需要滿足在主頁自動調用相關欄目,兩側共用列表,列表頁自動調用當前列表,內容頁自動調用當前的內容和變量,搜索頁和表單頁也需要調用各自站點的表單。如果一套模板同時實現了這些,也就實現了智能模板的概念,從而實現phpcmsv9站群共用一套模板。一般列表頁和內容很容易實現調用當前欄目或內容頁的內容。我們的思路也主要圍繞著實現主頁,兩側共用列表,搜索頁和表單頁來實現代碼的共用。
  由于主頁一般需要調用某個欄目的新聞列表和產品列表,如果是站群的話需要傳遞給{pc:content action="lists" catid="2" order="id DESC" num="4"}這個標簽一個siteid值和一個catid值來實現,但是模板怎么知道我們要調用哪個站點的哪個欄目呢?這是解決問題的關鍵。而且這個標簽并不接受siteid的屬性。
  青鋒建站給大家提供一個思路:把模板當作欄目來使用,即使是字段相同的欄目我們也可以建兩個模型,而且不同站點的模型的數量相同,字段也相同。而表名稱采用這種命名方案:siteid+站點ID+表名稱的命名方案,例如想建立一個文章模型,可以這樣命名:站點1的模型為siteid1_article,站點2的模型為siteid2_article。然后在標板中對列表的調用采用{pc:get sql="SELECT * FROM pre_forum_thread" cache="3600" page="$page" dbsource="discuz" return="data"} 標簽來實現。以下是實現的具體的步驟。

站群共用模板的實現步驟

1、建立模型,每站點為同一欄目建立相同模型,假設我們這里有三個站點。
  站點1建立文章模型:表名稱為siteid1_article;站點1建立產品模型:表名稱為siteid1_product;站點1建立案例模型:表名稱為siteid1_case;
  站點2建立文章模型:表名稱為siteid2_article;站點2建立產品模型:表名稱為siteid2_product;站點2建立案例模型:表名稱為siteid2_case;
  站點3建立文章模型:表名稱為siteid3_article;站點3建立產品模型:表名稱為siteid3_product;站點3建立案例模型:表名稱為siteid3_case;
  如果感覺不同站點建立模型比較繁瑣,可以使用青鋒建站開發的phpcms模型共享分發插件,來達到多個站點共用一套模型,實現模型共享分享的功能。
  配置項如下圖:
  phpcmsv9站群
2、模板制作,關鍵是如何實現相應的標簽與站點ID和欄目ID的智能調用。
  智能模板的導航代碼,基于bootstrap構建站:以下是站點1沒有建立模型,只使用站點2和站點3來建立多站點智能模板示例。
<nav class="container-fluid navbar navbar-expand-lg bg-second shadow" style="position:relative;z-index:20;" id="for_nav">
    <div class="container mx-auto row justify-content-md-between">
        <a class="nav-brand col-4 col-md-2 order-1 order-md-1 text-white" href="{siteurl($siteid)}">JINAN MOTI</a>
        <div class="collapse navbar-collapse col-12 col-md-7 order-4 order-md-2" id="hidden">
            <ul class="container navbar-nav line-60 text-center link-white">
                <li class="channel-list"><a class="px-3 {if $catid ==0 } active{/if}" href="{siteurl($siteid)}">HOME</a></li>
                {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"}
                    {loop $data $k $v}
                        <li class="channel-list">
                            <a class="px-3 {if $v[catid] ==$catid||$v[catid] ==$parentid||$v[catid]==$CAT[parentid]} active{/if}" href="{$v[url]}">{$v[catname]}</a>
                            <div class="channel-menu row justify-content-md-center text-left">
                                {pc:content action="category" catid="$v[catid]" num="10" siteid="[siteid]" order="listorder ASC"}
                                {loop $data $k $v}
                                    <ul class="sub-menu col-md-3 py-md-4 link-grey line-30">
                                        <h2 class="fa-xs py-2"><a class="text-white" href="{$v[catid]}">{$v[catname]}</a></h2>
                                        {pc:content action="lists" catid="$v[catid]" num="4"}
                                            {loop $data $r}
                                                <li><a class="fa-xs" href="{$r[url]}">{$r[title]}</a></li>
                                            {/loop}
                                        {/pc}
                                    </ul>
                                {/loop}
                                {/pc}
                            </div>
                        </li>
                    {/loop}
                {/pc}
            </ul>
        </div>
        <div class="col-7 col-md-3 order-2 order-md-3 fa-sm">
            <a href="{siteurl(2)}" target="_blank"><img src="en.png" /> english</a>&#160;
            <a href="{siteurl(3)}" target="_blank"><img src="korea.png" /> spanish</a>
        </div>
        <button class="navbar-toggler col-1 order-3 order-md-4" type="button" data-toggle="collapse" data-target="#hidden" >
              <span class="fas fa-align-justify "></span>
        </button>
    </div>
</nav>
  智能模板的列表調用,例如主頁調用產品,實現與站點和欄目的同步:
<div class="container">
    <h2 class="h3 py-5 text-dark">Featured products</h2>
    <ul class="row justify-content-md-center">
    {php $sql_product="SELECT * FROM phpcms_siteid".$siteid."_product";}//構造SQL語句,包括與對應模型、對應站點的同步。
        {pc:get sql="$sql_product" num="12"}
            {loop $data $r}
                <li class="col-6 col-md-3 p-4 card">    
                    <a href="{$r[url]}"><img class="card-img-top" src="{$r[thumb]}" /></a>
                    <p class="card-body py-1" >{$r[title]}</p>
                    <div class="text-right">
                        <a class="btn bg-main px-2 text-white fa-xs" href="{$r[url]}">detial</a>
                    </div>
                </li>
            {/loop}
        {/pc}
    </ul>
</div>
  以就是就是青鋒建站給大家分享的phpcmsv9站群共用一套模板智能模板制作方法,已經給大家準備了一套模型示例,大家可以去下載phpcms站群智能模板,需要關注青鋒建站的百度熊掌呈來獲取下載碼,在對話框中輸入“phpcms站群智能模板”即可免費獲得下載碼。青鋒建站,提供專業的高品質網站制作服務,包括網站建設,SEO,網絡營銷,PHP開發。
分享到:

Copyright © 2016-2026 青鋒建站 版權所有

日本av碟片 如何打好麻将牌 青海11选5开奖一定牛 皮皮四川麻将下载不了 正在播放 大桥未久恸哭的 韩国a片地址 股市行情300793 吉林十一选五最大遗 老鹰vs雄鹿 单机美女麻将安卓版 辽宁福彩35选7中奖规则 3d图谜总汇全图九 篮球比分直播118直播 江苏11选5 天津快乐十分 天津快乐10分钟开 1.31快船vs雷霆