ホームページ  >  記事  >  バックエンド開発  >  DEDECMS 二次開発ソース コード、助けてください

DEDECMS 二次開発ソース コード、助けてください

WBOY
WBOYオリジナル
2016-06-13 13:00:46864ブラウズ

DEDECMS の二次開発ソース コード、助けてください
DEDE 公式フォーラムでは、新規登録ユーザーの投稿は許可されていません...

このように、HTMLコードの文字列
{dede:arclist flag='h' limit='0,1' infolen='230'}

[field:title/]


[field:info/]...[全文を表示]


{/dede:arclist}
このようなコードは、taglib/arclist.lib.php
に対応します。 解決策がわかりました

[field:title/]


[field:info/]...[全文を表示]


そのようなコード、つまり arclist タグの InnerText に対する解決策は次のようになります。

arclist.lib.php 行 472-474
$dtp2 = 新しい DedeTagParse();
$dtp2->SetNameSpace('フィールド', '[', ']');
$dtp2->LoadString($innertext);

この DedeTagParse() は、まず SetNameSpace に従って TagStartWord と EndWord を設定し、次に FOR を使用してこれらに基づいて文字列全体をループし、STRPOS を使用してタグを比較し、すべてのタグをクラスに保存します。配列 CTags。
次に、MakeOneTag メソッドを呼び出して、taglib の下にファイルがあるメソッドが TagValue.
を取得できるようにします。 次に、GetResult メソッドを使用して、分析式 STRPOS の位置に従って値を HTML に挿入し、完全な文字列を返します。

このプロセスはわかりやすいですが、理解するのが難しいものです
$dtp2->SetNameSpace('フィールド', '[', ']');
MakeOneTag の taglib には filed.lib.php はなく、AssignSysTag にはフィールド分析がありません。
さらに、ここでは MakeOneTag には行きません。私が聞きたいのは、値をどのように解析するのかということです。ありがとうございます!!!!
-----解決策----- -- ----------------
$dtp2->SetNameSpace('フィールド', '[' 、']');

フィールドフィールド
[オープンアーク
】クローズドアーク

データ テーブル フィールドの内容を使用して、テンプレート

内の [] で囲まれたテンプレート変数を置き換えます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。