タグコールとは何ですか?
タグ呼び出しとは、呼び出し条件(condition)に従ってデータテーブル(table)から呼び出し回数(pagesize)を読み込み、ソート方法(order)でソートし、最終的にラベルのレイアウトを通じてデータを出力することですテンプレート。
ラベルの作業は 2 つの部分に分かれており、1 つはデータの読み取り、もう 1 つはデータの表示であることがわかります。
タグ関数のプロトタイプ
タグ関数は include/tag.func.php に保存されます
tag($parameter, $expires = 0)
$parameter はタグ関数に渡される文字列を表し、システムが自動的に複数の変数に変換します
たとえば、 table=destoon&pagesize=10&hello=world を渡します
このシステムは
を取得するのと同等です
$table = ‘デストゥーン’;
$pagesize = 10;
$hello = '世界';
3 つの変数
$expires はタグ キャッシュの有効期限を表します。0 キャッシュ $expires 秒; -1 - キャッシュなし; -2 - SQL 結果をキャッシュします。
一般に、デフォルト値をそのまま使用し、渡す必要はありません。
データ読み取りプロセス
リーリー
データ表示処理
1. ラベルテンプレートを使用して表示します
&template=abc を label 関数に渡します。例:
2. テンプレート内でデータを直接ループします
リーリー
この書き方では、タグテンプレートをnullとして渡し、データを$tags配列に直接返します。このとき、テンプレート内で直接ループすることができます
。
完全な例を次に示します:
リーリー
Moduleid はモジュール ID を指し、バックグラウンドモジュール管理で照会できます。モジュールを直接呼び出すデータの場合、正しいモジュール ID を設定した後、テーブル パラメーターを渡す必要はなく、システムが自動的に取得します。
たとえば、moduleid=5 が渡されると、システムはそれを供給情報の呼び出しとして認識し、テーブル パラメーターを自動的に sell に設定します
テーブル
table はテーブル名を指し、バックグラウンドのデータベース メンテナンスでクエリできます。 Destoon システム テーブルの場合、テーブル プレフィックスを追加する必要はありません。Destoon 以外のシステム テーブルの場合は、完全なテーブル名を入力してプレフィックス パラメーターを渡す必要があります
たとえば、Destoon システム テーブルの場合、table=sell を渡します。テーブルのプレフィックスが destoon_ の場合、システムはテーブル名を destoon_sell として認識します。
Destoon 以外のシステム テーブルの場合、table=tb_abc&prefix= または table=abc&prefix=tb_ を渡すと、システムはテーブル名を tb_abc として認識します
フィールド
fields はクエリフィールドを指し、デフォルトは * です。たとえば、fields=title,addtime を渡すこともできますが、通常はこれを渡す必要はありません。Destoon の独自のタグ キャッシュ メカニズムによってクエリ結果が自動的にキャッシュされるため、効率の問題を心配する必要はありません。
状態
condition はクエリの条件を指します。渡されない場合は 1 となり、任意の条件のデータを表します (これには SQL 構文の理解が必要です)。すべての Destoon モジュールは統一規格に従って開発されているため、多くの条件が共通しています。
例えば、status=3 は正常に通過した情報を示し、status=3 と level=1 はレベル 1 の情報を示し、status=3 とthumb はタイトル画像付きの情報を示します。
注文
順序とは、データの並べ替え方法を指します (これには SQL 構文の理解が必要です)。
たとえば、order=addtime desc は時間を降順に追加して並べ替えることを意味し、order=itemid desc は itemid によって降順に並べ替えることを意味し、order=rand() はランダム データを意味します。
ページサイズ
pagesize は呼び出しデータの数を指します。渡されない場合、デフォルトは 10 です。
テンプレート
template は、指定されたタグ テンプレートを参照します。渡されない場合、デフォルトは、テンプレート ディレクトリ/tag/list.htm にある list です。null として渡された場合、タグ テンプレートが適用されないことを意味します。上記のデータ表示プロセスを参照してください。
その他の一般的な使用例
複数テーブルの結合クエリ
たとえば、destoon という名前のメンバーと会社情報をクエリするには、次を使用できます:
リーリー
destoon_member和destoon_company是表的实际名称(包含表前缀),prefix=”表示系统不再自动在表名前加前缀
控制标题长度
在标签里传递length参数,例如&length=20表示20个字符长度(一个汉字占2个字符),一般情况建议用css隐藏多余字符(定义height和overflow:hidden)
传递length参数,系统仅对title字段自动截取,如果需要截取其他字段,可用dsubstr函数
例如 {dsubstr($t[company], 20, ‘…')} 表示截取company字段为20个字符,截取后,结尾追加…
设置日期显示格式
可以在标签里传递datetype参数:
1 表示 年;
2 表示 月-日;
3 表示 年-月-日;
4 表示 月-日 时:分;
5 表示 年-月-日 时:分;
6 表示 年-月-日 时:分:秒
也可以在模板里直接使用date函数,例如{date(‘Y-m-d', $t[addtime])} 表示将时间转换为 年-月-日 格式
调用某一分类的信息
在标签里传递catid参数,例如&catid=5表示调用分类ID为5的所有信息。
如果调用多个分类,用逗号分隔分类ID,例如 &catid=5,6,7表示调用分类ID为5、6、7的所有信息。
分类调用默认包含子分类的信息,如果不需要包含子分类,可设置&child=0参数。
例如&catid=5&child=0表示只调用分类ID为5的信息,不包括子分类的信息。
调用某一地区的信息
调用地区信息和上述调用分类信息的方法完全相同,将其中的catid换为areaid即可。
显示信息所在分类
<a href=”{$MODULE[$moduleid][linkurl]}{$CATEGORY[$t[catid]][linkurl]}”>{$CATEGORY[$t[catid]][catname]}</a>
控制列数
此项常用于图片的布局,可使用cols参数。
例如调用12张图片,一行显示4个,共3行,则传递&pagesize=12&cols=4
支持cols参数的标签模板限thumb-table.htm和list-table.htm
其中,thumb-table.htm显示图片列表,list-table.htm显示文字列表
如果新建支持cols的标签模板或直接循环$tags,可参考以上两个模板的写法
上述效果可以也可以通过CSS实现,无需使用表格,请自行书写
显示文章的简介
使用{$t[introduce]}变量,如果要截取字数,例如80字符,可使用{dsubstr($t[introduce], 80, ‘…')}
函数原型
tag($parameter, $expires = 0)
$parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量
例如传递 table=destoon&pagesize=10,系统相当于得到$table = ‘destoon';$pagesize = 10;两个变量
$expires 表示缓存过期时间
>0 缓存$expires秒;0 – 系统默认时间;-1 – 不缓存;-2 – 缓存SQL;一般情况保持默认即可。
常量
{DT_SKIN}
系统风格网址。
{DT_PATH}
网站首页网址。
变量
$tags
以数组类型保存标签调用的数据,可通过loop语法遍历显示。
$pages
保存数据分页代码,仅在调用了分页时有效。
$MODULE[5][name]
ID为5的模块名称。
$MODULE[5][linkurl]
ID为5的模块网址。
$CATEGORY[5][catname]
ID为5的分类名称(仅变量$CATEGORY存在时有效)。
$CATEGORY[5][linkurl]
ID为5的分类网址(仅变量$CATEGORY存在时有效)。
常用字段
title 标题; linkurl 链接; catid 分类ID; introduce 简介; addtime 添加时间; 常用函数 dsubstr($string, $length, $suffix = ”)
将字符串$string截取为$length长,尾部追加$suffix(例如..)
date($format, $timestamp)
将时间戳$timestamp转化为$format(例如Y-m-d)格式
标签模板
模板保存于./template/default/tag/目录;
建议不要删除或者修改自带的模板,推荐在自带模板基础上新建模板并应用。
1.标签格式的大致说明
<!–{tag(“moduleid=9&table=article_9&length=40&condition=status=3&pagesize=10&datetype=2&order=addtime desc&target=_blank”)}–>
moduleid=9是资讯模块ID, 模块ID去模块管理查看;
article是资讯模块目录名;
&length=40是标签截取字数
&pagesize=10是调用条数
&datetype=2是显示时间添加时间
2.调用最新加入企业
<!–{tag(“moduleid=4&table=company&condition=groupid>4&pagesize=10&order=userid desc&template=list-com”)}–>
3.如何调用其中一个企业会员的供求信息及资讯
在condition=里加 and username='xxx'? xxx为会员登录名
4.如何调用 供应 求购 产品 下的 某个分类
调用分类下的信息可以设置 &catid=行业id&child=1 child=1表示同时调用下属的行业
5.调用二级栏目信息列表
<!–{tag(“moduleid=$moduleid&table=article_$moduleid&catid=$catid&child=1 &condition=status=3&order=”.$MOD[order].”&pagesize=6&datetype=2&target=_blank”)}–>
如果你是在文章模块里调用 可以用上面的代码 $catid 改为你要调用的栏目id即可
如果需要同时调用栏目下的信息 child=1即可 否则 child=0
如果是在网站其他地方调用,可以用下面的代码:
<!–{tag(“moduleid=9&table=article_9&catid=$catid&child=1&condition=status=3&order=addtime desc&pagesize=6&datetype=2&target=_blank”)}–>
注意moduleid的值要与你调用的模块id保持一致
补充:
下面这个在首页调用成功
<!–{tag(“moduleid=9&table=article_9&catid=$catid&child=1&condition=status=3&order=addtime desc&pagesize=6&datetype=2&target=_blank”)}–>
但是我想要资讯页内部的模版列表,也就是每条只显示22个字。
6.首页资讯栏目这里怎么调用
“9”为你模块的ID
{php $C = get_maincat(0, cache_read(‘category-9.php'));} {loop $C $k $v} <a href=”{$MODULE[9][linkurl]}{$v[linkurl]}”>{$v[catname]}</a> {/loop}
7.公司列表 不能控制字数!!
你可以直接修改 list-com.htm
{$t[company]} 为 {dsubstr($t[company], $length)}
8.TAG常用标签
{$CATEGORY[$t[catid]]["catname"]} 所属栏目名称; {timetodate($t["addtime"], $datetype)}? 发布时间
9.其他
你可以通过&template= 来指定标签模版
如果没用这个参数 默认是list
位于模版目录tag目录
资讯 级别level 1级为 推荐文章 ;2级为 幻灯图片;3级为 推荐图文;4级为 头条文章;5级为 头条相关

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版
便利なJavaScript開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
