Modxフィルター。 CMF MODx Revolutionのフィルター、悪臭モディファイア。 新しいパラメータを作成し、値を引き付けます

ゴロフナ / Korisne PZ

革命のフィルターを使用すると、データの表示方法を制御できます。 中央のテンプレートの値を変更できます。

回転時に、外部フィルターは一連の外部モディファイアから1回以上設定されるため、PHxサイクルと同様に調整する必要があります。 MODXエボリューション-ワインの場合は、芯に悪臭を放ちます。 構文は次のようになります。

[ ]

悪臭はz'ednaniにすることもできます(右に勝ちます):

[ ]

スニペットの出口を変更するためにそれらを引き継ぐこともできます。 たとえば、スニペットの名前の後、フードサインの前に修飾語を付けます。

[ ]

次の表では、主要な修飾子のデュースとそれらの勝利の適用が追加されました。 特定のタグの下にカーソルを合わせたい場合、修飾子は任意のMODxタグを使用できます。 修飾子がデータを取得していることを再検討してください。

スマート修飾子:

修飾子

説明

お尻

の場合、入力

Logic ABO

[[+ numbooks:is = `5`:or:is =` 6`:then = `5冊または6冊の本があります!`:else=`本の数がわかりません`]]

ロジックI

isequalto、isequal、equalto、equals、is、eq

[[+ numbooks:isequalto = `5`:then =` 5冊の本があります! `:else=`本の数がわかりません`]]

notequalto、notequals、isnt、isnot、neq、ne

[[+ numbooks:notequalto = `5`:then =`本の数がわからない`:else = `5冊あります!`]]

greatthanorequalto、equalorgreaterthen、ge、例:isgte、gte

多かれ少なかれ

[[+ numbooks:gte = `5`:then =`5冊以上の本があります`:else=`5冊未満の本があります`]]

isgreaterthan、greaterthan、isgt、gt

[[+ numbooks:gt = `5`:then =` 5冊以上の本があります`:else=`5冊未満の本があります`]]

equaltoorlessthan、lessthanorequalto、el、le、islte、lte

より少ないまたはより高い

[[+ numbooks:lte = `5`:then =` 5冊以下の本があります`:else=`5冊以上の本があります`]]

islowerthan、islessthan、lowerthan、lessthan、islt、lt

[[+ numbooks:lt = `5`:then =` 5冊未満の本があります`:else=`5冊以上の本があります`]]

[[+ numbooks:lt = `1`:hide]]

[[+ numbooks:gt = `0`:show]]

[[+ numbooks:gt = `0`:then =`現在利用可能です!`]]

[[+ numbooks:gt = `0`:then =`現在利用可能です! `:else =`申し訳ありませんが、現在売り切れています。`]]

memberof、ismember、mo

[[+ modx.user.id:memberof=`管理者`]]

文字列修飾子:

修飾子

説明

お尻

空ではないように

[[+ numbooks:cat =`books`]]

lcase、小文字、strtolower

小文字の変換

[[+ title:lcase]]

ucase、uppercase、strtoupper

偉大な文学における変容

[[+ headline:ucase]]

単語の最初の文字は大文字です

[[+ title:ucwords]]

最初の大文字

[[+ name:ucfirst]]

htmlent、htmlentities

HTMLタグを置き換える

[[+ email:htmlent]]

esc、エスケープ

不注意に記号を拾う

[[+ email:escape]]

キャリッジのシフト、集計、および面のないクリアリングを1つのクリアリングに置き換える

[[+ textdocument:strip]]

stripString

料金値を表示

[[+ name:stripString =`Mr.`]]

値を変更する

[[+ pagetitle:replace=`Mr。==Mrs.`]]

striptags、stripTags、notags、strip_tags

掃除 HTMLタグ

[[+ code:strip_tags = `

len、length、strlen

Dovzhina行

[[+ longstring:strlen]]

逆、strrev

行逆

[[+ mirrortext:reverse]]

ワードラップ

文字数指定後の新しい行

[[+ bodytext:wordwrap = `80`]]

ワードラップカット

シンボル数の後に新しい行を挿入します。

[[+ bodytext:wordwrapcut = `80`]]]

Kіlkіst、登場する学校、symbolіv

[[+ description:limit = `50`]]

省略記号

指定した文字数の後に行をカットする

[[+ description:ellipsis = `50`]]

タグなしでシリアの要素を表示します。 ドキュメントについてはKorisno。

[[+ showThis:tag]]

値は動的に変化する可能性がありますが、キャッシュしないでおく必要があります。 例えば:

[[+ placeholder:default = `デフォルト値!`]]

Tseは、意味を空にすることはできますが、空にすることはできないことを意味します。 キャッシュからヨガを保存する方法は? あなたはそれをオフにすることができます、どんな意味が現れることができますか。

理解できない場合、スニペットを獲得したときに結果が得られた場合は、ロックの値を追加するのが論理的です。

[[!getResources:default = `申し訳ありませんが、検索に一致するものはありません。`? &tplFirst = `blogTpl`&parents =` 2,3,4,8`&tvFilters = `blog_tags == %%`&includeTVs = `1`]]

テンプレートの真ん中で、さまざまなタグの値を操作できるようにするための、phxフィルターと修飾子MODXRevoに関する今日の記事。

もっと悪臭が必要ですか?

phx修飾子 modx小売業者の生活を楽にします。 画像カルーセル(おそらくバナー付き)を備えたWebサイトがあるとします。これは必要です。 にのみ表示 ヘッドサイド 。 誰にとっても、ヨガをオクレミウムの塊に入れて、そのような構造の助けとなるテンプレートに入力するだけで十分です。

De: 1 -メインページのID、
$カルーセル-カルーセルコード付きのチャンク(バナー)。
新しいティーポットのみが作成します 新しいテンプレートカルーセルコードの行の行。 私はそのようなbuvです、私はvіdchayとvprovadzhuєmophxにrozrobkaに陥りません。

レポートのデザインを詳しく見てみましょう。

[[* id:is = `1`:then =` [[$ carusel]] `]]

* id-ストリーミング側のIDを表示します。

:is = `1`:then =

—revіryaєchi * id == 1? 1つだけの場合は、一緒に表示されます それから;
$カルーセル-カルーセルチャンクを表示します。

* idを置き換えます。他のフィールドを変更できます。たとえば、*template-ストリーミングテンプレートを表示します。 それ以外の場合は、TVフィールドの内容を上書きして(*キーワードとは言わないでください)、上書きされた場合でも、それを開くことができます。 ロズベレモ デンマークのVipadok報告する。 標準レイアウトの場合:

マネジャー: TVキーワードが入力されていないため、この行を表示しないでください。
解決。

[[* keyswords:!empty = ` `]]

ナバンテージ

修飾語、無意識のうちにvykoristannyaviklichezayvіvantazhennyaの作業に従う必要があります。 カルーセルに目を向けましょう tseyレコードそれはlevoruchで読み取られ、MODHは、心が正しいかどうかに関係なく、心のすべての貢献をカウントします。これは、現在の側に表示されます。 [[$ carusel]]、ヨガの時代には、それを手に入れることが可能です。 zv'yazku z tsimdotsіlnіsheでレコードを書き直します:

[[$ caru [[* id:is = `1`:then =` sel`]]]]

私はチャンクを持つチャンスがあります $カルーセル、心が壊れているかのように時々壊れます

* id:is = `1`

なぜなら 勝つ

[[* id:is = `1`:then =` sel`]]

それでも、ストリーミング側のIDは1で、残りは処理されています [[$ carusel]] idが良くない場合1、そして- [[$ car]]。 チャンクはどうですか $ caru-要素がない場合、先入観はありません。

そして、あなたが理想的なvisnovokを見るとき、私たちはこのように見えます。

[[$ [[* id:is = `1`:then=`カルーセル`]]]]

レイアウトを正しく統合する方法について modx revoここを読むことをお勧めします。

ノート! 作業のロジックとサイトのコンポーネントに応じてスケーラブルな修飾子を組み合わせることができますが、これが主要な本質であることを忘れないでください。 配布を容易にする、しかし、chiはその折り畳み作業なしでは折りたたむことができません。 鳴り響き、最も効果的で dієviysposіb-最も単純で、最も単純で最も理解しやすい構造を持っている人にとって-それを使って練習する方が簡単です。 以下は主な修飾子ですので、MODXRevoタグで勝つことができます。

モディファイアのランス

良いお尻は、たとえば次のように、ランセットに日付の行を別の形式でフォーマットするように促すことです。

[[+ mydate:strtotime:date = `%Y-%m-%d`]]

選択したスニペット修飾子のバリエーションを使用してデータベースの「modx_user_attributes」テーブルに直接アクセスするには、修飾子のバリエーションパスを使用するだけです。 ユーザー情報。 表から適切な位置を選択し、外部修飾子の威力がどのようになっているのかを示します。たとえば、次のようになります。

koristuvachの内部キー:[[!+ modx.user.id:userinfo = `internalKey`]]ログイン:[[!+ modx.user.id:userinfo =` username`]]外部名:[[!+ modx .user .id:userinfo = `fullname`]]役割:[[!+ modx.user.id:userinfo =` role`]]メール:[[!+ modx.user.id:userinfo = `email`]]電話:[[!+ modx.user.id:userinfo = `phone`]]携帯電話:[[!+ modx.user.id:userinfo =` mobilephone`]]ファックス:[[!+ modx.user .id :userinfo = `fax`]]国民の日:[[!+ modx.user.id:userinfo =` dob`:date = `%Y-%m-%d`]]になる:[[!+ modx .user .id:userinfo = `gender`]]国:[[!+ modx.user.id:userinfo =` country`]]状態:[[!+ modx.user.id:userinfo=`state`]]郵便番号:[[!+ modx.user.id:userinfo = `zip`]]写真:[[!+ modx.user.id:userinfo =` photo`]]コメント:[[!+ modx.user.id:userinfo = `comment`]]最終ログイン日:[[!+ modx.user.id:userinfo =` lastlogin`:date = `%Y-%m-%d`]]ログイン数:[[!+modx。 user .id:userinfo = `logincount`]]

私は特に動物の呼びかけのしるしを尊重します [[ ! + modx.user.id]]。 ヴィン許可 keshuvatiしないでください推論の代わりに。 なぜ現金化しない必要があるのですか? どうやらそれはこのようなものです:サイトには5つのkoristuvachsがあります。 毎週の側の最初のkoristuvachzaishov:

親切に、[[!+ modx.user.id:userinfo = `username`]]!

アイデアの裏側では、反対側に、Koristuvachevの重要な回想があります。 したがって、結果が現金化された場合、tsyu側への最初の入り口で-良いzayshovのようにkoristuvachaを保存するために-そして他のすべての人にはїhnєіm'yaではなく、そのkoristuvachのように表示されます最初にtsyu側のkoristuvach。 逃げるために、助けを求めて、このタグをキャッシュしないでください 雹のサイン毎週前 ! +modx..。

追伸:忘れないでください スイッチを含むキャッシュバックタグ、必要ありません! Shchobtserobiti-それは必要です ポブタティ呼び出しの兆候の形で( ! )。 全体としてより多くのスニペットの結果をキャッシュから使用できます。 次のレッスンで理解します。

待って、友達! 今日、私たちはでリソースフィルターを作成することを学びます MODXレボリューション「重要」をクリックすると、任意のTVフィールドの並べ替えや、結果の宣伝が可能になります。 結果を確認するために、pdoResourcesスニペットをツイートします。

拍手

Zapiniti

レッスンに必要なすべてのスニペットとファイルを入手します。

開始するには、パッケージをインストールする必要があります pdoResources、倉庫パッケージの前に何を入力するか pdoTools。 pdoパッケージのセット全体(pdoTools)をインストールすることも、パッケージとしてpdoResourcesだけをインストールして、MODxRevolutionでフィルターを作成することもできます。

パッケージをインストールした後、プロジェクトで利用したスニペットを含めましょう。 カタログを最初から一度に展開する場合、RajuはAjaxフィルタリング用の曲クラスをさらに追加する必要があります。 クラスの命名スキーム:

ただし、ディレクトリの準備ができているので、Ajaxフィルター要素クラスをJSファイル(以下のdiv。)に割り当てることができます。

尊敬を返すために、scho .ajax-item maєbutibezperednіmnashchak .ajax-コンテナ。 列のレイアウトにブートストラップグリッドを使用する場合は、コンテナクラスを次のように指定できます。 「行ajaxコンテナ」、およびアイテム列ヤク 「col-md-4ajax-item」.

JSスクリプトAjaxフィルターを接続する

プロジェクトの前にJSスクリプトを含めます。 プロジェクト内のカスタムスクリプトファイルに仲介することなく、ファイルのように接続できます。 ロボットスクリプトの場合、jQueryが必要です。

$(function()(// MODx pdoResources AjaxFilter//フィルター設定varfadeSpeed= 200、//フェードアニメーション速度ajaxCountSelector = ".ajax-count"、//アイテムのCSSセレクターCounterajaxContainerSelector="。 ajax-container "、//AjaxコンテナのCSSセレクタajaxItemSelector=" .ajax-item "、//AjaxアイテムのCSSセレクタajaxFormSelector=" .ajax-form "、//AjaxフィルタフォームのCSSセレクタajaxFormButtonStart=" .ajax -start "、//ボタンのCSSセレクターフィルタリング開始ajaxFormButtonReset =" .ajax-reset "、//ボタンリセットのCSSセレクターAjax Form sortDownText =" Down-down "、sortUpText =" Adjusted "; function ajaxCount()(if ($( ".ajax-filter-count")。length)(var count = $( "。ajax-filter-count")。data( "count"); $(ajaxCountSelector).text(count);)else ($(ajaxCountSelector).text($(ajaxItemSelector).length);))ajaxCount(); response = $(response); $(ajaxCont ainerSelector).fadeOut(fadeSpeed); setTimeout(function()($(ajaxContainerSelector) .html($ response.find(ajaxContainerSelect または).html())。fadeIn(fadeSpeed); ajaxCount(); )、fadeSpeed); )); )$(ajaxContainerSelector).on( "click"、 ".ajax-more"、function(e)(e.preventDefault(); var offset = $(ajaxItemSelector).length; $ .ajax((data:$(ajaxFormSelector )).serialize()+ "&offset =" + offset))。done(function(response)($( "。ajax-more")。remove(); var $ response = $(response); $ response.find (ajaxItemSelector).hide(); $(ajaxContainerSelector).append($ response.find(ajaxContainerSelector).html()); $(ajaxItemSelector).fadeIn(); e)(e.preventDefault(); ajaxMainFunction(); ))$(ajaxFormButtonReset).click(function(e)(e.preventDefault(); $(ajaxFormSelector).trigger( "reset"); $( "input").val( "pagetitle"); $( "input ").val(" asc "); setTimeout(function()($(" ")。data(" sort-dir "、" asc ")。toggleClass(" button-sort-asc ")。text(sortUpText) ;)、fadeSpeed); ajaxMainFunction(); ajaxCount();))$( "")。data( "sort-dir"、 "asc")。click(function()(var ths = $(this)); $( "input")。val($(this).data( "sort-by")); $( "input")。val($(this).data( "sort-dir")); setTimeout( function()($( "")。not(this).toggleClass( " button-sort-asc ")。text(sortUpText); ths.data( "sort-dir")== "asc"? ths .data( "sort-dir"、 "desc")。text(sortDownText):ths.data( "sort-dir"、 "asc")。text(sortUpText); $(this).toggleClass( "button-sort -asc"); )、fadeSpeed); ajaxMainFunction(); )); ));

  • 行5〜13:の変更の予定 CSSセレクター Ajaxフィルター。 それは変わりません。小さなものがより多くを持っているように、それは勝利の標準値のようなものです。
  • 行15〜22:フィルタリングの結果におけるリソース所有者のスクリプト。
  • 行24〜35: Ajaxフィルタリングの主な機能。
  • 行37-49:「はじめに」ボタンをクリックしたコピー。
  • 行51〜54:「フィルター」ボタンをクリックしてサンプラー。 このボタンは日中に使用でき、フィルタリングの画面が自動的に選択されます。 自動ろ過は、距離パス行68-70でオンに切り替えることができます。
  • 行56-66:フォームの精製とフィルターの取り外しのサンプル。 行59〜63は、ソート時にパラメーターをドロップするために提供されています。
  • 行68-70:フィルタフォームのフィールドを変更するための自動ソートの機能。
  • 行72-82: tvパラメータによる並べ替えのユニバーサル機能。

奪おうとした デンマーク語のスクリプト可能な限り普遍的に、標準のAjaxフィルター要素セレクターを獲得するため、何も編集する必要はありません。

MODXRevolutionでのPHPスニペット接続

キーマップパネルMODxで新しいスニペットを作成します catalogFilter次のようにヨガを書きます。

="。$_GET ["area_from "];)if($ _ GET ["area_to "])($ filter =" area<=".$_GET["area_to"]; } //Checkbox Type if($_GET["garage"]) { $filter = "garage=1"; } //End Settings //Sort if($_GET["sortby"]) { $sortby = $_GET["sortby"]; } else { $sortby = "pagetitle"; } if($_GET["sortdir"]) { $sortdir = $_GET["sortdir"]; } else { $sortdir = "asc"; } //End Sort //Offset $offset = 0; if($_GET["offset"]){ $offset = $_GET["offset"]; } if($filter) { $where = $modx->toJSON(array($ filter)); )else($ where = "";)$ params_count = array( "parents" => $ parents、 "limit" => 0、 "tpl" => "@INLINE、"、 "select" => "id"、 "includeTVs" => $ fields、 "showHidden" => "1"、 "where" => $ where); $ count = $ modx-> runSnippet( "pdoResources"、$ params_count); $ count = count(explode( "、"、$ count))-1; $ modx-> setPlaceholder( "count"、$ count); $ params = array( "parents" => $ parents、 "limit" => $ limit、 "offset" => $ offset、 "tpl" => $ tpl、 "select" => "id、pagetitle、introtext、content "、" includeTVs "=> $ fields、" showHidden "=>" 1 "、" sortby "=> $ sortby、" sortdir "=> $ sortdir、" where "=> $ where); $ more = $ count-$ offset-$ limit; $ limit = $ more> $ limit? $ limit:$ more; $ button = ""; if($ more> 0)($ button = "
「。$lim」を取得します。 ■「。$more」
";)return $ modx-> runSnippet(" pdoResources "、$ params)。$ button;

Mіzhのコメント //フィルターフィールド設定і //設定を終了しますパラメータを知るために、プロジェクトを編集する必要がある方法。 ここでは一貫性のあるものは何もありません。入力フィールドの名前を入力し、mentalifで修正するだけです。 Radioタイプ、Select、およびTextのフィールドの場合、バットは5〜8行目から描画されます。 vіdіの中間値の目的のために、行11-16のバットをスピードアップすることが可能です。 チェックボックスの場合、バット行19〜21をピディッドします。

スニペットの行74では、独自のクラスを設定できますが、ストリーミングマークアップは表示されません。シャードは、コンテンツを宣伝するためのスクリプトに参加しません。

ラジオボタンのMODxキーパッドで可能な値の例: 最初==1||その他==2||3番目==3


フロントエンドにラジオボタンを表示する例:

これが名前です name = "floor"スニペットの6〜8行目をフォローしてください catalogFilter。 他のフォームフィールドの処理も同様に実装されます。 私は、tseozumіloとvlasnyhフィールドの作成はあなたにとって問題ではないと思います。

スニペットの表示は、次の順序でカタログテンプレートに割り当てられます。

[[!catalogFilter? &tpl = `tplCatItem`&limit =` 3`&parents = `5`&fields =` image、area、floor、garage、price`]]

  • tpl = `tplCatItem`-ディレクトリリストのアイテムチャンク。
  • limit = `3`-「利点」ボタンをクリックしたときに表示されるレコードの数と選択されるレコードの数。
  • 親=`5`-リソースディレクトリのドキュメントIDを指定します。
  • fields = `image、area、floor、garage、price`-TVを再確認します。これは、tplCatItemチャンスに表示され、フィルタリング時に処理される必要があります。

バットチャンク tplCatItem

[[+ pagetitle]]

[[+ tv.area:isnotANT:then = ` `]]
以上 [[+ tv.floor]]
範囲 [[+ tv.area]] sq.m.
ガレージ [[+ tv.garage:is = `1`:then =`Є`:else=`Ні`]]
価格: [[+ tv.price]]

ファイルのgithubにあるプロジェクトのリポジトリで、フロントエンドビジョンの複雑な例を見ることができます。 demo.html.

テレビによるAjaxの並べ替え

私たちのスクリプトには、フィルタリングの結果を任意のフィールドで並べ替えるためのすぐに使えるソリューションがあります。 フィルタフォームで、次に添付されているフィールドを挿入し、それらの値を変更しないでください。悪臭は単にフィルタフォームによるものです。

HTMLテンプレートのどの領域でも、表示するボタンを追加し、データ属性に、ビューをフィルタリングするフィールドを入力します。

価格で並べ替え:増加で

クリックすると、クラスが引き裂かれます button-sort-asc、属性に矢印を追加して、並べ替えを直接変更するときにボタンのデザインをひねることができます data-sort-byフィルタリングの運命をとるテレビのように書くことができます。 私はすべてを並べ替えます。

また、MODxでの不器用なAjaxリソースフィルターの作成を確認し、SNIPETで結果を示しました。 pdoResources.

すべての健康。 この記事では、ModxRevolutionコントロールの下でサイトにtv-parametersのドキュメントフィルターを作成する方法を説明します。 スニペットを獲得します tagManager2見る Andchir。 Tseyスニペットvmієpratsyuvativіdrazuzdekіlkomtv、および数値の賛辞(価格を見て)と複数のリスト。 お尻の肌は私からもらったものです。

1.穂軸の場合、tagManager2をインストールする必要があります

誰のために プログラム/インストーラー/

エンボスボタン 「追加する」そして冗談めかして追い込まれた tagManager2

スニペットを挿入することも必要です getPageとgetProducts。 そのようなランクで彼は分けました 「パッケージ管理」このように見えることで有罪(スピーチの前に音訳されたスニペット、仮名をラテン語に音訳するためのvіdpovіdaє)

Zavantazhuemo、パッケージとデモをインストールします 「システムのセットアップ」

2.カスタムスニペットtagManager2

[システム設定]で、tag_manager2パーティションを選択します

フィルタパラメータを調整する必要があります

そこにはすべてが簡単に完成して理解できますが、すべて同じです。

  • 「上位レベルのディレクトリのリソースID」カタログテンプレートのIDを、カテゴリ、フィルター製品、またはサイドのいずれかで指定します
  • 「複数リストの追加ディストリビューター」#記号を付けます。 以下にあなたが必要とするワインについて知っています
  • 「複数のリストからのテレビまたはフィールディングの名前」複数のリストからテレビを処方します。 それらを作成する方法、私は以下に示します
  • 「テレビの名前または数値のあるフィールド」-ここでは、数字があるtv-parametersを指定する必要があります。 サウンド、tse価格パラメータ。 このフィルターは、「fromおよびto」の子の外観によって表示されます。
  • 「商品テンプレートID」上で指定したtv-parametersをフィルタリングしてアタッチする必要があるため、辺のIDを指定します
  • 「フィルタリングに勝つパラメータのセットです」 catalog_filtersを規定する getPageі getProducts
  • で処方する 「一連のパラメータを使用したヒットのスニペット」スニペットに名前を付けます。これは、両方の商品の側面の一種の視覚化とページネーションです。 リングアウト getPage.

3.getPageからcatalog_filtersにパラメーターのセットを作成します

getPageスニペットのIdemo

タブに移動 "パラメーター"ボタンを押します 「パラメータのセットを追加する」。 もちろん、エッセンシャルを編集することは可能ですが、getPageを更新するときに一度に実行できるように、パラメーターを上書きする可能性もあります。 アップグレードを選択しない場合は、編集するだけです。

編集可能なパラメータと割り当て可能な値:

新しいパラメータを作成し、値を引き付けます

再献身的なパラメーターは緑色で、作品は紫色です

4.フィルターのテレビパラメーターを作成または編集します

私はお尻3のテレビ設定のために作っています

tv-parameterの名前(ヘッダー)を指定する必要があるという事実に特に注意を払いたいと思います。そうしないと、ワインがフィルター管理モジュールに表示されない可能性があります。

5.filtr_tplチャンクを作成します

このチャンクは、getProductsでスキン保護された結果を確認した場合に授与されます

6.ドキュメントツリーの構造を作成します

私にとっては次のようになります。

メインページのIDは1で、製品IDテンプレート1の場合(tag_manager2を設定する必要があります。値が異なる場合は、設定で覚えておいてください)

7.filters.jsを編集します

アドレスのIdemo /assets/components/tag_manager2/js/web/filters.jsと副

マルチタグ:["tags"]、//追加の名前 複数の値で水やり

入力値からコードを挿入します

マルチタグ:["filtr1"、 "filtr2"]、//追加の名前。 複数の値で水やり

ここでは、すべてが単純で明確です。 数値を使用してtvフィールドを挿入しました。 そして、すべてのnalashtuvanのvzagalіtse構成(偉大な叔父の許可なしでより良いですが、chіpatiしないでください、私はモジュールの作成者のためにかもしれません)

8.フィルターとフィルター結果を表示する

フィルター自体

[]
[[+フィルター]]

ページネーションの結果を表示する

[[!tmCatalog]]
    [[!+ page.nav]]

結果の並べ替え

9.フィルターをアクティブにします

ここで、フィルターをさらにアクティブにする必要があります。 誰のために プログラム/フィルター付きケア.

ここでは、スキンフィルターのチェックボックスをオンにして、ボタンを押す必要があります"保存する"。

すべてを正しく行った場合、フィルターが原因です。 誰にすべて。 食べ物が出てきたらすぐにコメントに入れて、お伝えしようと思います。 そして、tagManager2のドキュメント軸。 rozrobtsiで頑張ってください。 で "デモ"ヘルプtagManager2のフィルター実装がある私のサイトの1つ

©2022androidas.ru-Androidのすべて