ホームページ  >  記事  >  バックエンド開発  >  phpcms v9 テンプレート タグのスキル、タグの一般的なメソッド_PHP チュートリアル

phpcms v9 テンプレート タグのスキル、タグの一般的なメソッド_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:10:02915ブラウズ

phpcms v9テンプレート制作共通コード集

1. 通話タイトルの長さをインターセプトします

{str_cut($r[title],36,'')} 、後ろの引用符は削除されます....


2.フォーマット時間

フォーマット時間の呼び出し 2011-05-06 11:22:33

{date('Y-m-d H:i:s',$r[inputtime])}

3. 複数の列の呼び出しと複数の推奨事項の呼び出し

募集要件: 記事は 3 つの列 (59、60、61) から構成されており、2 つの推奨位置 (27 と 28) にプッシュされます。
3 番目の記事から 7 つの記事が連続して呼び出されます。

{pc:get sql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posid in(27,28) および catid in(59,60,61)) order by listorder DESC"cache="3600" start ="3" num="7" return="データ" }
{ループ $data $n $r}

  • ·{str_cut($r [タイトル],22,'')}

  • {/ループ}
    {/pc}
    4. 列名を表示します (リンクなしで名前のみ)

    {$猫名}
    列名とリンクを表示 (クリック可能)

    {$CATEGORYS[$r['catid']]['catname']}
    5. 親列IDの取得/親列名を取得します

    {$CATEGORY[$catid][親id]}
    親列名: {$CATEGORYS[$CAT[parentid]][catname]}
    6. 外部データソース呼び出し

    dedecmsdbがバックグラウンドデータソースに追加されます
    {pc:get sql="SELECT * FROM cq_member where mtype='enterprise' "cache="3600" dbsource="dedecmsdb" num="7" return="data"}
    {ループ $data $r}
    {str_cut($r[uname], 28,'')}
    {/ループ}
    {/pc}
    7. サブコラムを呼び出します (コラムのホームページテンプレートで使用する必要があります)

    {pc:content action="category" catid="$catid" num="25" siteid="$siteid" order="listorder ASC"}
    {ループ $data $r}
    {$r[猫名]} {/ループ}
    {/pc}
    8. 指定したIDのカラム名を表示します(例ここではcatid=22)

    {$CATEGORYS[22]['猫名']}

    9.記事の前に記事カテゴリを表示します

    {pc:content action="lists" catid="79" order="listorder DESC" num="14" }


    {ループ $data $n $r}

  • {if $TYPE[$r[typeid]][name]}[ {$TYPE[$r[typeid]][name]}] < /span>{/if}{str_cut($r[title],33,'')}

  • {/ループ}
    {/pc}
    10. 変数の循環成長を指定します (スライドでよく使用されます)

    {pc:content action="lists" catid="66" order="listorder DESC"thumb="1" num="5" }

    {php $num = 0}
    {ループ $data $r}
    linkarr[{$num}] = "{$r[url]}";
    picarr[{$num}] = "{$r[thumb]}";
    textarr[{$num}] = "{str_cut($r[title],36,'')}";
    {php $num++}
    {/ループ}
    {/pc}
    11. 記事呼び出し時の使用制限

    {pc:content action="position" posid="36" num="1" order="listorder DESC 制限 1,1--" }

    それ以外は以前と同じように使用してください
    {pc:content action="position" posid="31" order="listorder DESC" limit='1,8--'}
    {ループ $data $r}

  • {str_cut($r[title],36,'')}< /a>

  • {/ループ}
    {/pc}
    12. 指定した位置から記事を呼び出します

    開始位置は 5 で、コールは 3 回行われます。リミット機能に相当します。

    {pc:content action="position" posid="27" order="listorder DESC" num="3" start="5"}
    {ループ $data $r}
                                                                                                                                                                    ​ {/ループ}
    {/pc}
    13. 記事一覧ページでキーワードを呼び出すか、ホームページでキーワードを呼び出す


    注意:explode(',',$r[keywords]);是将文章关键词通过英文逗号分离,也就是说每一篇文章都要以逗号间隔关键字,否则调用出来会 是全部作为一个关键字。如果是空格间隔关键字,将explode(',',$r[keywords]);改成explode(' ',$r[keywords]);

    {pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"}
    {loop $data $r}
    {$r[title]}
    {php $keywords = explode(',',$r[keywords]);}
        文章标签:
        {loop $keywords $keyword}
         {$keyword}
        {/loop}
    {/loop}
    {/pc}
    14.每当列表几行的时候出现一次某些符号(比如首页里面的文章推荐,一行显示两条,在这两条中间想加一条竖线 | 就用到这个代码了)

    数量大的话就容易出错,因为模运算嘛~~呵呵 不过一般也就4个标题以下
    {pc:content  action="position" posid="8" order="listorder DESC" num="2"}
    {loop $data $r}
    {str_cut($r[title],26,'')}{if $n%2==1} |{/if}
    {/loop}
    {/pc}
    15.v9 列表页完美支持自定义段调用

    {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" moreinfo="1"}
    {loop $data $r}
          [{$r['字段名']}]> {$r[title]}
       {/loop}  

    {$pages}

    {/pc}
    16.当前栏目调用父级及以下栏目信息方法

    其他代码 该咋地还是要咋地 。这是要素
    {php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}
    {pc:get sql="SELECT * FROM v9_news where catid in($arrchildid) cache="3600" page="$page" num="12" return="data"}
    17.V9表单功能 提交之后如何返回当前页面,而不是默认的首页文件地址


    找到 phpcms\modules\formguide\index.php文件第73行

    showmessage(L('thanks'), APP_PATH);

    修改成 如下代码即可实现自动返回前一页

    showmessage(L('thanks'), HTTP_REFERER);
    18.v9 首页或分页自定义字段调用


    和15差不多
    第一普通列表或栏目调用自定义字段
    在{pc:content  action="lists" 后加上副表moreinfo=1 (等于1时显示,0时不显示)
    例子:

    {pc:content  action="lists" moreinfo=1 catid="2" order="id DESC" num="4"}


      {loop $data $key $val}
    • {$val['title']}

      价格:{str_cut($v['自定义段'],100)}    //100 是字数

    • {/loop}

    {/pc}
    第二种推荐位调用自定义字段
    在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“
    然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推荐中只显示你选择后,选择前加的加文章不显示,更新一下文章就显示了
    例子:

    {pc:content action="position" posid="推荐位id" num="30" thumb="1" moreinfo="1" order="listorder DESC"}
    {loop $data $key $val}

  • {$val['title']}
    {str_cut($val['title'],20)}

  • {/loop}
    {/pc}

    20.编辑器上传图片自动使用标题作为alt参数

    一: 修改 statics/js/ckeditor/plugins/image/dialogs/image.js
    找到

    accessKey:'T','default':''
    替换成

    accessKey:'T','default':$('#title').val()
    二: 清除浏览器缓存


    21.增加文章的随机点击数

    找到100行的$views = $r['views'] +1
    修改为:
    $rand_nums=rand(79,186);
    $views = $r['views'] + $rand_nums;
    表示点击一次,增加79到186次不等
    -------------------------------------------------------------
    tips:某些版本出错民间解决方法
    1.缩略图以及图集无法上传
    \phpcms\libs\classes\attachment.class.php
    请把24行的(也有可能是23行)
    $this->upload_func = 'copy';
    改成
    $this->upload_func = 'move_uploaded_file';
    2.碎片模块搜索文章看不到栏目
    phpcms\modules\block\templates\search_content.tpl.php
    13行改成

    if(isset($_GET['dosubmit'])){?>

    href="javascript:void(0)" onclick="$('#search').toggle()"> echo L('folded_up_in_search_of')?>
    echo form::select_category('', $catid, 'name="catid" id="catid"', '',
    ''、'0'、1)?
    22. PHPCMS V9 の get タグ呼び出し

    1. このシステムから単一のデータを呼び出す例 (ID 1 で情報を呼び出し、タイトルの長さが 25 文字を超えないようにし、更新日を表示します):
    {get sql="select * from phpcms_content where contentid=1" /}
    タイトル: {str_cut($r[title], 50)} URL: {$r[url]} 更新日: {date('Y-m-d', $r[updatetime])}
    2. 本システムから複数のデータを呼び出す例(列ID 1でレビュー済みの情報を10件呼び出す、タイトルの長さが漢字25文字以内、更新日が表示される):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10"}
    タイトル: {str_cut($r[title], 50)} URL: {$r[url]} 更新日: {date('Y-m-d', $r[updatetime])}
    {/ゲット}
    3. ページングありの例 (審査を通過した情報を 10 件、列 ID 1 で呼び出し、タイトルの長さが漢字 25 文字を超えない、更新日を表示、ページングあり):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}
    タイトル: {str_cut($r[title], 50)} URL: {$r[url]} 更新日: {date('Y-m-d', $r[updatetime])}
    {/ゲット}
    ページネーション: {$pages}
    4. 戻り変数のカスタマイズ例 (列 ID 1 でレビューに合格した 10 件の情報を呼び出す、タイトルの長さが 25 文字を超えない、更新日が表示される、戻り変数が $v である):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" return="v"}
    タイトル: {str_cut($v[title], 50)} URL: {$v[url]} 更新日: {date('Y-m-d', $v[updatetime])}
    {/ゲット}
    5. 同じアカウントで他のデータベースを呼び出す例 (データベースの呼び出しは bbs、カテゴリ ID 1 の最新トピック 10 件、トピックの長さは漢字 25 文字を超えず、更新日は表示されます):
    {get dbname="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    件名: {str_cut($r[subject], 50)} URL: http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日: {date('Y-m-d' , $ r[日付変更線])}
    {/ゲット}
    6. 外部データを呼び出す例 (データ ソースを bbs と呼び、カテゴリ ID 1 の最新トピック 10 件、トピックの長さは漢字 25 文字を超えず、更新日が表示されます):
    {get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    件名: {str_cut($r[subject], 50)} URL: http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日: {date('Y-m-d' , $ r[日付変更線])}
    {/ゲット}

    これらの方法ではニーズを満たせないときに遭遇した友人はいるでしょうか?

    例: 最もコメントが多い 3 番目から 10 番目のレコードを削除しました。一般に、PHPCMS のサムネイルには、最もコメントが多い 1 番目と 2 番目のレコードを削除する理由はありません。サイズは 4:3 の方が良いですが、長いストリップ (3:4 など) のサムネイル効果は良くありません。最も多くのコメントを含む 1 番目と 2 番目のレコードを自動的に更新する必要はありません。最初の 2 つのレコードを更新して読み取ります。

    ポイントは B.comments desc LIMIT 3,7 で並べる(3レコード目から7個のデータを下に読み込むという意味) これはMYSQLでよく使われるので試してみようと思いつきました。その結果、できるようになります。

    効果は次のとおりです:

    PHPCMS開発をしている友人が一緒に学び、共有できることを願っています

    phpcms V9は2008年のgetタグの使用法を継承しています

    内部データと外部データの 2 つのメソッドが含まれています

    まずは社内データの活用方法を分析しましょう

    1. 内部データの呼び出し

    {pc:get sql="SELECT * FROM `XX` WHERE fid =$ltid AND Digest =2 AND ifupload =1 ORDER BY tid DESC" num="2" queue= "3600" return="data" }
    {ループ $data $r}

    。 。 。 。 。

    {/ループ}{/pc}

    get ステートメントは num の使用をサポートしていますが、limit 5、5 はサポートしていないことがわかります。そのような使用方法

    本当に残念です

    num は呼び出し数です

    2. 外部データの呼び出し

    { pc : get sql = "SELECT * FROM phpcms_member" キャッシュ = "3600" ページ = "$page" dbsource = "discuz" return = "data" }

      { ループ $data $key $val }

      { $val [ ユーザー名 ]}<

      { /ループ}

    { $ページ }

    {/ パソコン }

    1 つはデータ ソース、もう 1 つは生成されたページめくり効果です

    www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477557.html技術記事 phpcms v9 テンプレート作成でよく使用されるコードのコレクション 1. 呼び出しタイトルの長さ {str_cut($r[title],36,)} をインターセプトし、次の引用符を削除します.... 2. フォーマット時間はフォーマット時間を呼び出します2011-05-06 1...
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。