Ümumi resurs filtri. MODx Filters dəyişdiricilərində if else bəndlərindən istifadə

PHx (Placeholders Xtended) yer tutucuları, MODx teqlərini (TV parametrləri daxil olmaqla) və sayt parametrləri teqlərini göstərmək üçün yeni funksiyalar əlavə edir. Rekursiv analizator yuvalanmış teqlərə imkan verir. Parçalar yaratmaqla öz dəyişdiricilərinizi yaratmaq mümkündür.

Yüklə son versiya MODX deposundan PHx bu linkdə tapa bilərsiniz.

Yeni quraşdırma

  1. Arxivi yükləyin və açın.

Yeniləyin

  1. Arxivi yükləyin və açın.
  2. / assets / plugins / phx kataloqunun adını / assets / plugins / phx-old olaraq dəyişdirin
  3. / assets / plugins qovluğunda "phx" kataloqu yaradın.
  4. FTP vasitəsilə yükləyin və ya sadəcə arxivin məzmununu / assets / plugins / phx-ə köçürün
  5. MODx İdarəetmə Panelində (İtems-Controls-Items-Plugins) yeni "PHx" plaginini yaradın və phx.plugin.txt faylının məzmununu ona köçürün.
  6. "Sistem hadisələri" sekmesinde "OnParseDocument" hadisəsini yoxlayın

Konfiqurasiya

Konfiqurasiya sekmesinde, plagini redaktə edərkən, "Plugin konfiqurasiyası" sahəsinə köçürün:

& phxdebug = Hadisə qeydi; int; 0 & phxmaxpass = Maks. keçidlərin sayı; int; 50

Qabaqcıl istifadəçilər üçün

PHx plagini üçün standart parametrləri dəyişə bilərsiniz:

Hadisə jurnalı

0 = Deaktivdir
1 = PHx hadisə qeydi aktivdir
Əgər aktivləşdirilibsə, PHx hadisə jurnalında qeydə alınmış hər bir hadisə üçün ətraflı jurnal yaradır (Hesabatlar-> Hadisələrə Baxıcı)

Maks. keçidlərin sayı

Yuvalanmış teqlərin maksimum işlənmiş dərinliyini müəyyən edir. Dəyəri 50-də tərk etmək tövsiyə olunur.

PHx (Placeholders Xtended) yer tutucuların, məzmun teqlərinin (TV parametrləri daxil olmaqla) və sayt fərdiləşdirmə teqlərinin istifadəsini genişləndirir. Bunun sayəsində son nəticənin çıxış formatını asanlıqla müəyyən edə bilərsiniz. PHx MODX təhlilçisinə quraşdırılıb, onun funksionallığını dəyişdiricilər, şərtlərlə genişləndirir və bonus olaraq onu həqiqətən rekursiv edir.

Dəstəklənən etiketlər

PHx aşağıdakı MODx etiketlərini dəstəkləyir:

  • [+ yertutan +]
  • [* məzmun etiketləri *] (məsələn: [* məzmun *], [* səhifə başlığı *] və başqaları)
  • [* TV parametrləri *]
  • [(fərdiləşdirmə teqləri)] (məsələn: [(base_url)], [(site_name)] və başqaları)

PHx-i dəstəkləyən parçalar

  • Eynilə
  • MaxiGallery

Siz PHx sintaksisini bu siyahıda olmayan fraqmentlər tərəfindən istifadə edilən parçalarda istifadə edə bilərsiniz, lakin bu, fərqli üsul tələb edir (Tövsiyələr və fəndlər bölməsinə baxın)

Formanın adi yer tutucusu

[+ yertutan +]

asanlıqla PHx yertutanına çevrilir:

[+ yertutan: esc +]

Eyni şeyi məzmun etiketi ilə edə bilərsiniz:

[* yaradılıb *]

Dəyişdirici əlavə edin:

[* yaradılan: tarix = `% a% B% d,% Y at% H:% M` *]

Eyni anda bir neçə dəyişdiricidən də istifadə edə bilərsiniz. Onlar soldan sağa emal ediləcək:

Somevar: esc: nl2br: zolaq

Genişləndirilmiş tətbiq

Xüsusi yer tutucunun "phx" olması PHx sintaksisini real dəyişənə malik olmadan istifadə etməyə imkan verir.

[+ phx: əgər = `[+ bu +]`: = `[+ o +]`: onda = `bunu et`: else =` bunu et` +]

Bəzi dəyişdiricilərlə bu yer tutucu əldə edir müəyyən məna... "İstifadəçi məlumatı" dəyişdiricisi vəziyyətində, cari istifadəçi haqqında məlumatdan müvafiq dəyəri qaytarır:

[+ phx: istifadəçi məlumatı = `istifadəçi adı` +]

Məlum məsələlər

Sintaksis

Məntiqli görünür, amma buna diqqət yetirməyə dəyər. MODx teqinin bir hissəsi olmadıqda, şablonunuzda aşağıdakı konstruksiyalardan istifadə etməkdən çəkinin:

[+
[*
[(
+]
*]
)]
]]

Ayrışdırıcı onları emal etməyə çalışacaq və MODx xəta atacaq. Adətən bu problem yaranmır. Ancaq JavaScript vəziyyətində, belə bir quruluşunuz ola bilər:

Massiv

+] səbəbiylə qəribə davranışa səbəb olacaq. Həmçinin yekun CDATA etiketi:

/* ]]> */

Problemlər yarada bilər.

Unutmayın ki, yanlış PHx sintaksisi ilə sayt məlumatlarınızı itirə bilməzsiniz. Baş verə biləcək ən pis şey şablonunuzun düzgün göstərilməməsidir.

Simlər

l halda

ucase

Sətirdəki bütün simvolları böyük hərflərə çevirir.

[+ sətir: ucase +]

Girişdə:

Bu bir simdir

BU SIZDIR

ucbirinci

Sətirdəki ilk hərf böyük hərflə yazılacaq.

[+ sətir: ucfirst +]

Girişdə:

uzunluq | len

Sətin uzunluğunu qaytarır.

Girişdə:

Bu bir simdir

qeydlər

Hər şeyi kəsəcək HTML teqləri simdən.

[+ sətir: qeydlər +]

Girişdə:

Bu edir a simli

Bu bir simdir

Esc

Html teqlərini və sətir fasilələrini silir

htmlent

Orijinal dəyişəni html obyektinə çevirir. PHP-də htmlentities () analoqu.

nl2br

Xətt lenti simvollarını teqlərə çevirir.

[+ sətir: nl2br +]

Girişdə:

Budur
bir simli

Budur
bir simli

zolaq

Yeni sətir simvollarını (\ n), nişanları (\ t), ardıcıl boşluqları siləcək.

[+ sətir: zolaq +]

Girişdə:

Budur
a
simli

Bu bir simdir

Digər dəyişdiricilər

tərs

Hərfləri arxaya çevirin.

söz sarğı

Arasına boşluq qoyaraq cari dəyərdəki sözləri verilmiş simvol uzunluğundan daha uzun müddətə qırır.

Defolt: 70 simvol.

Söz sarğı (= `uzunluq`)

uzunluq - simvol

limit

Cari dəyərdən ilk X simvolunu qaytarır.

Defolt: 100 simvol.

limit (= `uzunluq`)

Xüsusi

Tarix

Unix vaxt ştamplarını müəyyən edilmiş formata çevirir.

tarix (= `tarix formatı`)

dateformat: PHP funksiyasının strftime formatına uyğun olaraq

[* yaradılmış: tarix = `% d.% m.% Y` *]

Tarixə uyğun olaraq göstərilə bilməsi üçün cari dil site, PHx plagin kodunun əvvəlində yerli təyin etməlisiniz. Alman dili üçün aşağıdakı nümunə:

setlocale (LC_ALL, " [email protected]"," de_DE "," de "," ge ");

md5

Cari dəyərin MD5 hashını yaradır.

istifadəçi məlumatı

user_attributes cədvəlindən MODx verilənlər bazasında istifadə olunan sahələr (məsələn: istifadəçi adı, istifadəçi poçtu).

İstifadəçi məlumatı = `sahə`

  • cachepwd: Keş parolu
  • Şərh: Şərh
  • ölkə: Ölkə
  • dob: UNIX vaxt formatında doğum tarixi
  • e-poçt: E-poçt
  • faks: Faks
  • tam adı: Tam adı
  • cins: Mərtəbə
  • daxili açar: İstifadəçinin daxili açarı
  • son giriş: Son giriş, UNIX vaxt formatında
  • giriş sayı: Girişlərin sayı
  • mobil telefon: Mobil telefon
  • parol: Şifrə
  • telefon: Telefon
  • Şəkil: Şəkil
  • rolu: Rol
  • dövlət: Vəziyyət
  • bu giriş: Bu giriş, UNIX vaxt formatında
  • istifadəçi adı: Daxil ol
  • zip : Poçt indeksi

riyaziyyat

- * + / kimi hesablamalardan istifadə edin.

Riyaziyyat = `hesablama`

"?" simvolu genişləndirmənin cari dəyəri ilə əvəz olunur, lakin siz həmçinin iç-içə teqlərdən də istifadə edə bilərsiniz.

Hesablama nümunəsi: +1+ (2 + 3) + 4/5 * 6

boşsa

Yertutan / şablon boşdursa, "digər dəyər"dən istifadə edin.

Ifempty = `başqa dəyər`

seçin

Yer tutucunun / şablonun dəyərlərindən asılı olaraq dəyəri qəbul edir.

= `seçimlər` seçin

parametrlər: dəyər1 = çıxış1 & dəyər2 = çıxış2

Girişdə: 1

[+ yertutan: seçin = `0 = OFF & 1 = ON & 2 = naməlum` +]

Qaytarır: ON

Şərti ifadələr

edir

yox

ləqəb: deyil, deyil

bərabər deyil (! =)

məs

böyük və ya bərabər (> =)

el

az və ya bərabər (<=)

gt

daha çox (>)

lt

daha kiçik (<)

mo = 'Veb qrupları'

sinonimlər (ləqəblər): isinrole, ir, memberof

Veb qruplarının vergüllə ayrılmış siyahısını parametr kimi götürür və cari istifadəçinin bu qruplardan hər hansı birinə aid olub-olmamasından asılı olaraq doğru/yanlış qaytarır (dəyişdiricini əvəz edir "rol", şərti operatorla birləşdirilməli idi).

[+ phx: mo = `myWebgroup`: sonra =` Mən "üzvəm': else =` Mən "üzv DEYİLəm' +]

əgər = `dəyər`

Müqayisə üçün dəyişəni parametr kimi qəbul edir. ilə birlikdə də istifadə edilə bilər : və ya və ya : və.

[+ phx: əgər = `[+ qiymət +]`: gt = `0`: onda =` Qiymət: [+ qiymət +] `+]

və ya

Məntiqi OR (birinci və ya ikinci şərtin doğru olub olmadığını yoxlayır).

[+ phx: əgər = `[* id *]`: is = `2`: və ya: =` 3`: sonra = `(((Yığın))`: else = `((OtherChunk))` +]

V bu misal cari identifikator 2 və ya 3 olarsa, yığın ((Yığın)) çıxarılır, əks halda yığın ((OtherChunk)) çıxarılır.

Məntiqi VƏ (hər iki şərtin doğru olub olmadığını yoxlayır).

[+ phx: əgər = `[! UltimateParent!]`: is = `1`: və: deyil =` [* id *] `: sonra =` ((ChildChunk)) `: else =` ((ParentChunk)) `+]

Bu misalda, UltimateParent 1-dirsə və cari ID-yə bərabər deyilsə, ((ChildChunk)) yığın, əks halda ((ParentChunk)) yığın çıxarılır.

sonra = `şablon`

Məna şablon bütün şərtlər doğru olduqda göstərilir. Burada siz ((böyük)), [[snippet]] və ya təmiz HTML-yə zəng təyin edə bilərsiniz.

else = `şablon`

Məna şablonşərtlər doğru olmadıqda göstərilir. Burada siz ((böyük)), [[snippet]] və ya təmiz HTML-yə zəng təyin edə bilərsiniz.

göstərmək

kimi istifadə olunur sonra, lakin orijinal dəyər çıxış üçün şablon kimi istifadə olunur. Şərtlər doğru olduqda yerinə yetirilir.

[+ myplaceholder: len: gt = `3`: göstər +]

Bu nümunədə, uzunluğu 3 simvoldan çox olduqda, yer tutucu dəyəri göstəriləcək.

Fərdi dəyişdiricilər

Modifikator verilmiş dəyəri emal edən sadə bir parçadır. MODx resurs menecerində yeni fraqment əlavə etməklə və ya PHx plagininin dəyişdiricilər qovluğunda fayl yaratmaqla öz dəyişdiricilərinizi / mini-parçalarınızı yaratmaq mümkündür.

Modifikator kodu sadə olduğundan, təhlilçidən aldığı parametrlər istisna olmaqla, heç bir parametrə ehtiyac duymur.

İki əsas dəyişən var:

dollarlıq məhsul buraxılıb- dəyişdirilməli olan dəyişənin cari dəyərini ehtiva edir.
$ variantları- dəyəri dəyişdiriciyə ötürülən isteğe bağlı parametr.

Misal.

Modifikatorların istifadəsinə dair bir neçə nümunə var. Tutaq ki, yer tutucu mənim yer tutucum mənası var "sınaq":

[+ myplaceholder: mymodifier +]

$ çıxış dəyişəni "test" dəyərini ehtiva edir.
$ variantları dəyişəni heç nə ehtiva etmir, çünki heç bir parametr dəyişdiriciyə ötürülməyib.

[+ myplaceholder: mymodifier = `mənim seçimlərim` +]

$ çıxış dəyişəni hələ də "test" dəyərini ehtiva edir.
$ variantları dəyişəni indi "mənim seçimlərim" dəyərini ehtiva edir

Müxtəlif dəyişənlər (qabaqcıl istifadəçilər üçün)

$ girişi - orijinal dəyişdirilməmiş dəyəri ehtiva edir.
$ şərti şərti ifadəni (0, 1, || və &&) təşkil edən elementləri ehtiva edən massivdir.

Öz dəyişdiricinizi yaratmaq

Nümunə 1: Mən MODx-i sevirəm

Bu biliklərdən istifadə edərək, yeni fərdi dəyişdirici yaradaq. Bu, heç bir parametri olmayan dəyişdirici olacaq, sadəcə olaraq dəyişənə "çünki MODx-ı sevirəm" mətnini əlavə edəcək. Bunu etmək üçün aşağıdakı addımları yerinə yetirməlisiniz:

1. Resurs Menecerində Resurslar (Elementlər) -> Resursları (elementlər) idarə et -> Parçalar bölməsinə keçin.

2. "Yeni fraqment" üzərinə klikləyin

phx: sevgi"

Parçanın PHx üçün dəyişdirici kimi qəbul edilməsi üçün onun adı ilə faktiki parça adı arasında boşluqlar olmadan "phx:" prefiksi olmalıdır. Sonra onu hər hansı bir yer tutucuya əlavə edərək dəyişdirici kimi istifadə edə bilərsiniz: sevgi, məsələn: [+ myplaceholder: love +].

4. İndi kod sahəsinə dəyişdirici kodu əlavə edin. Deyək ki, bu, aşağıdakı kod olacaq:

5. Dəyişiklikləri və yeni dəyişdiricimizi ( : sevgi) istifadəyə hazırdır!

Nümunə 2: Mən MODx-i daha çox sevirəm

Modifikatora bənzər bir dəyişdirici yaradaq : sevgiəvvəlki nümunədən, lakin əlavə olaraq ona ötürülən parametrin dəyərini, əgər göstərilibsə, orijinal sətirə əlavə etmək imkanı verək.

1. Resurs Menecerində Resurslar (Elementlər) -> Resursları (elementlər) idarə et -> Parçalar bölməsinə keçin.

2. "Yeni fraqment" üzərinə klikləyin

3. Snippet adını " olaraq təyin edin phx: sevgi2"

Parçanın PHx üçün modifikator kimi qəbul edilməsi üçün onun adına " prefiksi qoyulmalıdır. phx:"onunla faktiki parça adı arasında boşluq olmadan. Sonra onu hər hansı bir yertutana sevgi əlavə etməklə dəyişdirici kimi istifadə edə bilərsiniz, məsələn: [+ myplaceholder: love2 +].

Yaxşı.

Digər nümunələr

[+ myplaceholder: gt = `1`: sonra =` Bəli`: else = `Xeyr` +]
[+ myplaceholder: lt = `3`: və: gt =` 1`: sonra = `Bəli`: else =` Xeyr` +]
[+ myplaceholder: lt = `[+ someplaceholder +]`: sonra = `Bəli`: else =` Xeyr` +]
[+ myplaceholder: islt = `2`: sonra =` Bəli`: else = `Xeyr` +]
[+ myplaceholder: isnot = `2`: və ya: lt =` 3`: sonra = `Bəli`: else =` Xeyr` +]

Bütün nümunələr qayıdacaq Bəli.

[+ myplaceholder: isnot = `2`: sonra =` Bəli`: else = `Xeyr` +]
[+ myplaceholder: gt = `[+ someplaceholder +]`: sonra = `Bəli`: else =` Xeyr` +]
[+ myplaceholder: lt = `2`: sonra =` Bəli`: else = `Xeyr` +]
[+ myplaceholder: gt = `2`: sonra =` Bəli`: else = `Xeyr` +]
[+ myplaceholder: lt = `1`: sonra =` Bəli`: else = `Xeyr` +]

Bütün nümunələr qayıdacaq Yox..

İnqilabdakı filtrlər məlumatların təqdim olunma tərzinə nəzarət etməyə imkan verir. Onlar şablonlar daxilində dəyərləri dəyişməyə imkan verir.

İnqilabda çıxış filtri MODx Evolution-da PHx zəngləri kimi davranan bir sıra çıxış modifikatorlarında bir və ya bir neçə dəfə tətbiq edilir - onların nüvəyə daxil olması istisna olmaqla. Sintaksis aşağıdakı kimidir:

[ ]

Onlar da birləşdirilə bilər (soldan sağa doğru hərəkət edir):

[ ]

Siz həmçinin onlardan parçanın çıxışını dəyişmək üçün istifadə edə bilərsiniz; diqqət, dəyişdirici parçanın adından sonra və ondan əvvəl gəlir sual işarəsi, misal üçün,

[ ]

Aşağıdakı cədvəldə bəzi mövcud modifikatorlar sadalanır və onlardan istifadə nümunələri verilir. Aşağıdakı nümunələr bəzi teqlər üçün olsa da, çıxış modifikatorları istənilən MODx teqi ilə istifadə edilə bilər. Dəyişdiricinin məlumat qəbul etdiyinə əmin olun.

Şərti dəyişdiricilər:

Modifikator

Təsvir

Misal

varsa, daxil edin

Məntiqi OR

[[+ numbooks: is = `5`: or: is =` 6`: then = `5 və ya 6 kitab var!`: else = `Neçə kitab olduğundan əmin deyiləm`]]

Məntiqi VƏ

bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir

[[+ numbooks: isequalto = `5`: sonra =` 5 kitab var! `: else =` Neçə kitabdan əmin deyiləm`]]

notequalto, qeydlər, isnt, isnot, neq, ne

[[+ numbooks: notequalto = `5`: sonra =` Neçə kitabdan əmin deyiləm`: else = `5 kitab var!`]]

daha böyük, bərabər, daha çox, ge, məsələn, isgte, gte

Daha çox və ya bərabər

[[+ numbooks: gte = `5`: sonra =` 5 kitab və ya 5-dən çox kitab var`: else = `5 kitabdan azdır`]]

böyükdür, böyükdür, isgt, gt

[[+ numbooks: gt = `5`: sonra =` 5-dən çox kitab var`: else = `5-dən az kitab var`]]

bərabərtoorlessthan, azthanorequalto, el, le, islte, lte

Daha az və ya bərabərdir

[[+ numbooks: lte = `5`: sonra =` 5 və ya 5-dən az kitab var`: else = '5-dən çox kitab var`]]

islowerthan, islessthan, Lowthan, smallthan, islt, lt

[[+ numbooks: lt = `5`: sonra =` 5-dən az kitab var`: else = `5-dən çox kitab var`]]

[[+ nömrə kitabçaları: lt = `1`: gizlət]]

[[+ nömrə kitabçaları: gt = `0`: göstər]]

[[+ nömrə kitabçaları: gt = `0`: sonra =` İndi əlçatandır! `]]

[[+ numbooks: gt = `0`: sonra =` İndi mövcuddur! `: else =` Üzr istəyirik, hazırda satılıb.`]]

üzvü, üzvü, ay

[[+ modx.user.id: üzv = `İdarəçi`]]

Sətir dəyişdiriciləri:

Modifikator

Təsvir

Misal

Boş deyilsə

[[+ nömrə kitabçaları: pişik = `kitablar`]]

l hərf, kiçik hərf, aşağı hərf

Kiçik hərflərin çevrilməsi

[[+ başlıq: lcase]]

ucase, böyük hərf, strtoupper

çevrilməsi böyük hərflər

[[+ başlıq: ucase]]

Sözün ilk hərfi böyük hərflə yazılır

[[+ başlıq: ucwords]]

Böyük hərflə yazılmış birinci hərf

[[+ adı: ucfirst]]

htmlent, htmlentities

HTML teqlərinin dəyişdirilməsi

[[+ e-poçt: htmlent]]

esc, qaçmaq

Simvolları təhlükəsiz şəkildə silir

[[+ e-poçt: escape]]

Vaqon qayıdışlarını, nişanları və çoxlu boşluqları bir boşluqla əvəz edin

[[+ mətn sənədi: zolaq]]

stripString

Sətirdən dəyəri silir

[[+ ad: stripString = `Cənab`]]

Dəyərin dəyişdirilməsi

[[+ səhifənin başlığı: əvəz = `Cənab == Xanım`]]

striptegs, stripTags, notags, strip_tags

HTML teqlərini silir

[[+ kod: strip_tags = `

len, uzunluq, strlen

Xətt uzunluğu

[[+ uzun simli: strlen]]

tərs, strrev

Xətt tərsinə

[[+ güzgü mətni: tərs]]

söz sarğı

Müəyyən edilmiş simvol sayından sonra yeni sətir

[[+ bədən mətni: söz sarğı = `80`]]

söz kəsimi

Müəyyən sayda simvoldan sonra yeni sətir simvolu daxil edir.

[[+ bədən mətni: wordwrapcut = `80`]]

Göstərilən simvolların sayı

[[+ təsvir: limit = `50`]]

ellips

Müəyyən sayda simvoldan sonra sətri kəsin

[[+ təsvir: ellipsis = `50`]]

Xam elementi: etiketi olmadan göstərir. Sənədləşmə üçün faydalıdır.

[[+ Bunu göstər: tag]]

Dəyər dinamik olaraq dəyişə bilərsə, o zaman keşsiz edilməlidir. Misal üçün:

[[+ yertutan: default = `Defolt dəyər!`]]

Bu o deməkdir ki, dəyər bəzən boş ola bilər, bəzən də olmaya bilər. Niyə onu keşdə saxlayırsınız? Bu, dəyərin görünə biləcəyini istisna edə bilər.

Parçanı icra edərkən nəticənin əldə edilib-edilməyəcəyinə əmin deyilsinizsə, defolt dəyəri etmək məntiqlidir:

[[! getResources: default = `Bağışlayın - axtarışınıza heç nə uyğun gəlmədi.`? & tplFirst = `blogTpl` & valideynlər =` 2,3,4,8` & tvFilters = `blog_tags == %%` və TV-lər = `1`]]

Bu yazıda sizə bu barədə danışmaq istərdim MODx-də filtrlər (modifikatorlar)..

Prinsipcə, siz onlarsız yaşaya bilərsiniz, lakin onların necə və harada istifadə olunduğunu bilərək, tərtibatçı saytınıza kiçik, lakin bəzən çox faydalı məntiq əlavə edə biləcəyiniz güclü bir alət əldə edir.

Bu yazıda mən danışacağam MODX İnqilabı ... Filtrləri tətbiq etmək imkanı artıq MODx Revolution nüvəsində quraşdırılmış PHx parçası sayəsində mövcuddur, lakin Evolution PHx nüvəsi yoxdur, ona görə də Evo-da ayrıca quraşdırılmalıdır.

Belə ki, filtrlər yertutanların və teqlərin təhlili nəticəsində əldə edilən məlumatları manipulyasiya etməyə imkan verir. Onlar bunu mümkün edir dəyişdirməkşablonlarınızdakı məlumatlar.

Filtrlər üçün sintaksis aşağıdakı kimidir:

Onların zəncirlə düzülməsi çox rahatdır:

Eyni zamanda, parametrləri fraqmentlərə ötürmək də mümkündür. Əsas odur ki, filtr fraqmentin adı ilə sual işarəsi arasında yazılır:

Aşağıdakı cədvəldə bəzi filtrlər və digərləri göstərilir misal onlara göstərdi tətbiq... Nümunələr yertutandan istifadə etsə də, filtrlər istənilən MODx teqinə tətbiq oluna bilər "a. Yertutanın həqiqətən nəyisə qaytardığına əmin olun."

Şərti dəyişdiricilər

ModifikatorTəsvirMisal
və ya Məntiqi VƏ əlaqəsini təşkil etmək üçün sətir dəyişdiriciləri ilə istifadə edilə bilər
Məntiqi "OR" əlaqəsini təşkil etmək üçün sətir dəyişdiriciləri ilə istifadə edilə bilər
bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir Çıxışı göstərilən dəyərlə müqayisə edir və uyğun gələrsə, etiketi təhlil etməyə davam edir. "sonra" və "başqa" ilə birlikdə istifadə olunur [[+ numbooks: isequalto = `5`: sonra =` 5 kitab var! `: else =` Neçə kitabdan əmin deyiləm`]]
notequalto, qeydlər, isnt, isnot, neq, ne Çıxışı göstərilən dəyərlə müqayisə edir və uyğun gəlmirsə, etiketi təhlil etməyə davam edir. "sonra" və "başqa" ilə birlikdə istifadə olunur [[+ numbooks: notequalto = `5`: sonra =` Neçə kitabdan əmin deyiləm`: else = `5 kitab var!`]]
daha böyük, bərabər, daha çox, ge, məsələn, isgte, gte

Çıxışı verilmiş dəyərlə müqayisə edir və əgər çıxış ötürülən dəyərdən böyük və ya ona bərabərdirsə, etiketi təhlil etməyə davam edir. "sonra" və "başqa" ilə birlikdə istifadə olunur

[[+ numbooks: gte = `5`: sonra =` 5 kitab və ya 5-dən çox kitab var`: else = `5 kitabdan azdır`]]
böyükdür, böyükdür, isgt, gt

Çıxışı göstərilən dəyərlə müqayisə edir. Çıxış daha böyükdürsə, təhlil davam edir. "sonra" və "başqa" ilə istifadə olunur

[[+ numbooks: gt = `5`: sonra =` 5-dən çox kitab var`: else = `5-dən az kitab var`]]
bərabərtoorlessthan, azthanorequalto, el, le, islte, lte Çıxışı göstərilən dəyərlə müqayisə edir və əgər çıxış ötürülən dəyərdən az və ya ona bərabərdirsə, etiketi təhlil etməyə davam edir. "sonra" və "başqa" ilə birlikdə istifadə olunur [[+ numbooks: lte = `5`: sonra =` 5 və ya 5-dən az kitab var`: else = '5-dən çox kitab var`]]
islowerthan, islessthan, Lowthan, smallthan, islt, lt Çıxışı göstərilən dəyərlə müqayisə edir. Çıxış azdırsa, təhlil davam edir. "sonra" və "başqa" ilə istifadə olunur [[+ numbooks: lte = `5`: sonra =` 5 kitabdan az`: else = `5-dən çox kitab`]]
gizlətmək İlkin şərtləri yoxlayır. Əgər onlar doğru idisə, elementi gizlədir. [[+ nömrə kitabçaları: lt = `1`: gizlət]]
göstərmək İlkin şərtləri yoxlayır. Əgər onlar doğru idisə, elementi göstərir. [[+ nömrə kitabçaları: gt = `0`: göstər]]
sonra Hər hansı bir vəziyyətin nəticəsi olaraq istifadə olunur [[+ nömrə kitabçaları: gt = `0`: sonra =` İndi əlçatandır! `]]
başqa Vəziyyətin nəticəsi kimi istifadə olunur. "sonra" ilə birlikdə istifadə olunur [[+ numbooks: gt = `0`: sonra =` İndi əlçatandır! `: else =` Üzr istəyirik, hazırda satılıb.`]]
üzvü, üzvü, ay İstifadəçinin göstərilən qrupa aid olub olmadığını yoxlamanın nəticəsini qaytarır. [[+ modx.user.id: üzv = `İdarəçi`]]

Sətir dəyişdiriciləri

ModifikatorTəsvirMisal
pişik Çıxış boş deyilsə, göstərilən sətri çıxışa əlavə edir. [[+ nömrə kitabçaları: pişik = `kitablar`]]
l hərf, kiçik hərf, aşağı hərf Sətirdəki bütün simvolları kiçik hərflərə çevirir. Eynilə PHP funksiyaları strtolower [[+ başlıq: lcase]]
ucase, böyük hərf, strtoupper Sətirdəki bütün simvolları böyük hərflərə çevirir. PHP strtoupper funksiyası ilə eynidir [[+ başlıq: ucase]]
ucwords Sətirdəki bütün sözlərin ilk hərflərini böyük hərflərə çevirir. PHP ucwords funksiyası ilə eynidir [[+ başlıq: ucwords]]
ucbirinci Sətirin ilk hərfini böyük hərflərə çevirir. PHP ucfirst funksiyası ilə eynidir [[+ adı: ucfirst]]
htmlent, htmlentities

PHP-nin htmlentities funksiyası ilə eynidir. Cari dəyəri istifadə edir sistem parametri ENT_QUOTES bayrağı ilə "modx_charset"

[[+ e-poçt: htmlent]]
esc, qaçmaq Istifadə edərək simvolları etibarlı şəkildə mnemonizasiya edir müntəzəm ifadələr və str_replace. Həmçinin [,] və ` anlayır [[+ e-poçt: escape]]
zolaq Bütün sətir fasilələrini, nişanları və çoxlu boşluqları bir boşluqla əvəz edir. [[+ mətn sənədi: zolaq]]
stripString Göstərilən prodstringi sətirdən çıxarır. [[+ ad: stripString = `Cənab`]]
əvəz et Bir alt sətri digəri ilə əvəz edir. [[+ səhifənin başlığı: əvəz = `Cənab == Xanım`]]
striptegs, stripTags, notags, strip_tags Göstəriləndən başqa bütün PHP və HTML teqlərini silir. PHP-nin strip_tags funksiyası ilə eynidir [[+ kod: strip_tags = `

`]]

len, uzunluq, strlen Sətin uzunluğunu çap edir. PHP strlen funksiyası ilə eynidir [[+ uzun simli: strlen]]
tərs, strrev PHP strrev funksiyası ilə eynidir [[+ güzgü mətni: tərs]]
söz sarğı PHP wordwrap funksiyası ilə eynidir. Defis mövqeyini təyin etmək üçün optimal dəyəri götürür. [[+ bədən mətni: söz sarğı = `80`]]
söz kəsimi PHP-nin wordwrap wordwrap funksiyası ilə eynidir. Defis mövqeyini təyin etmək üçün optimal dəyəri götürür. [[+ bədən mətni: wordwrapcut = `80`]]
limit Sətin uzunluğunu məhdudlaşdırır (kəsdirir). müəyyən edilmiş simvol sayına daxil edin. Varsayılan uzunluq həddi 100 simvoldur. [[+ təsvir: limit = `50`]]
ellips Sətri müəyyən edilmiş simvol sayına qədər kəsir və ellips əlavə edir. Varsayılan limit 100 simvoldur. [[+ təsvir: ellipsis = `50`]]
etiket Çağırılan elementi: etiketi olmadan göstərir. Mənim kimi sənədlər üçün faydalıdır =) [[+ Bunu göstər]]
riyaziyyat Hesablamaların nəticəsini qaytarır (prosessorda yük yaratdığı üçün tövsiyə edilmir)
əlavə etmək, artırmaq, əlavə etmək Müəyyən edilmiş məbləğlə artırılmış dəyəri qaytarır (defolt olaraq bir) [[+ yükləmələr: incr]]
[[+ blackjack: əlavə et = `21`]]
çıxarmaq, azaltmaq, azaltmaq Verilmiş dəyəri dəyərdən azaldır (defolt: -1) [[+ geri sayım: decr]]
[[+ pul: çıxın = `100`]]
çoxalmaq, çoxalmaq Ədəmə vurmanın nəticəsini qaytarır (defolt: * 2) [[+ üçlü: mpy = `3`]]
bölmək, bölmək Nömrəyə bölmənin nəticəsini qaytarır (defolt: / 2) İcazə verilmir 0. [[+ reytinq: div = `4`]]
modul, mod Bölmənin qalan hissəsini qaytarır (Defolt:% 2, 0 və ya 1 qaytarır) [[+ nömrə: mod]]
boş, varsayılan, boş, boş Çıxış boş olarsa, verilmiş sətri qaytarır. [[+ ad: default = `anonim`]]
notempty,! empty, ifnotempty, isnotempty Çıxış boş deyilsə, göstərilən sətri qaytarır. [[+ ad: notempty = `Salam [[+ ad]]!`]]
nl2br PHP nl2br funksiyası ilə eynidir. Bütün xətt fasilələri ilə əvəz olunur
[[+ mətn faylı: nl2br]]
Tarix PHP-nin strftime funksiyası ilə eynidir. Format dəyər kimi ötürülür. Tarix Formatlarına baxın. [[+ doğum ili: tarix = `% Y`]]
strtotime PHP-nin strtotime funksiyası ilə eynidir. Yalnız tarixlərə aiddir. Tarix Formatlarına baxın. [[+ vaxt: strtotime]]
qeyri-səlis tarix Tarixi "bu gün saat 13:40", "dünən 18:40" formatında qaytarır. [[+ nəşr: fuzzydate]]
əvvəl Tarixdən indiki ana qədər saniyə, dəqiqə, saat, həftə və s. sayını qaytarır. Yalnız tarixlərə aiddir [[+ əvvəl yaradılmışdır]]
md5 PHP md5 funksiyası ilə eynidir. [[+ parol: md5]]
cdata CDATA teqlərinə sətri əhatə edir. [[+ məzmun: cdata]]
istifadəçi məlumatı Tələb olunan istifadəçi məlumatlarını qaytarır. MODX-də istifadəçi ID-sinə aiddir. Qaytarılacaq sahə dəyişdiriciyə ötürülür. [[+ modx.user.id: userinfo = `istifadəçi adı`]]
daxil olun İstifadəçi bu kontekstdə icazəlidirsə, "doğru"nu qaytarır. [[+ modx.user.id: loggedin]]
daxil deyil İstifadəçi bu kontekstdə icazəlidirsə, "doğru"nu qaytarır [[+ modx.user.id: daxil deyil]]
urlencode PHP urlencode funksiyası ilə eynidir [[+ mystring: urlencode]]
urldecode PHP urldecode funksiyası ilə eynidir [[+ myparam: urldecode]]

Fərdi dəyişdiricilərin yaradılması

Parçalar dəyişdirici kimi istifadə edilə bilər. Bunu etmək üçün sadəcə olaraq filtr adının yerinə fraqment adını daxil edin. Məsələn, bizdə "makeDownloadLink" adlı bir parça var.

[[+ fayl: makeDownloadLink = `notitle`]]

Bu zəng fraqmentə aşağıdakı parametrləri ötürəcək:


Nəticə geri qayıdacaq bir şey olacaq parça.

İstifadə nümunələri

Filtrlərin bir-birinin ardınca çağırıldığı bir nümunədir. Bu nümunə bir tarixi sətirdən fərqli formata formatlaşdırır:

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

Snippetdən verilənlər bazasından modx_user_attributes cədvəlinə birbaşa giriş sadə istifadəçi məlumatı dəyişdiricisi ilə əvəz edilə bilər. Tələb olunan sahəni əldə etmək üçün sütunun adını verilənlər bazasından dəyişdirici parametrlərə köçürmək lazımdır.

Daxili açar: [[! + Modx.user.id: userinfo = `internalKey`]]

İstifadəçi adı: [[! + Modx.user.id: userinfo = `istifadəçi adı`]]

Tam ad: [[! + Modx.user.id: userinfo = `tam ad`]]

Rol: [[! + Modx.user.id: userinfo = `rol`]]

E-poçt: [[! + Modx.user.id: userinfo = `email`]]

Telefon: [[! + Modx.user.id: userinfo = `telefon`]]

Mobil: [[! + Modx.user.id: userinfo = `mobil telefon`]]

Faks: [[! + Modx.user.id: userinfo = `faks`]]

Doğum tarixi: [[! + Modx.user.id: userinfo = `dob`: tarix =`% Y-% m-% d`]]

Cins: [[! + Modx.user.id: userinfo = `gender`]]

Ölkə: [[+ modx.user.id: userinfo = `ölkə`]]

Əhatə dairəsi: [[+ modx.user.id: userinfo = `state`]]

Poçt kodu: [[+ modx.user.id: userinfo = `zip`]]

Avatar: [[+ modx.user.id: userinfo = `foto`]]

İnqilabdakı filtrlər müəyyən teqlərin necə işləndiyini manipulyasiya etməyə imkan verir. Şablonlarınızın daxilində dəyərləri dəyişməyə imkan verirlər.

Giriş filtrləri

Hal-hazırda giriş filtrləri çıxış filtrlərinin emalına hazırlıq üçün istifadə olunur. Onlar adətən yalnız MODX mühərrikində istifadə olunur.

Çıxış Filtrləri

Revolution-da çıxış filtrləri Evolution-da PHx ilə eyni davranır, istisna olmaqla, filtrlər indi birbaşa MODX mühərrikinə quraşdırılmışdır. Sintaksis belə görünür:

[]

Filtrlər ardıcıl olaraq tətbiq oluna bilər. Bunu etmək üçün onları bir sıra yazın (soldan sağa):

[]

Filtrlərdən fraqmentlərin çıxışını dəyişdirmək üçün də istifadə edilə bilər. Filtr bütün parametrlərdən əvvəl (sual işarəsindən əvvəl) yazılmalıdır:

[]

Çıxış dəyişdiriciləri

Cədvəldə bəzi dəyişdiricilər və onlardan istifadə nümunələri göstərilir. Nümunələrdə dəyişdiricilər yer tutuculara tətbiq edilir, lakin yadda saxlamalısınız ki, onlar istənilən MODX teqlərinə tətbiq edilə bilər. İstifadə etdiyiniz etiketin heç olmasa modifikatorun idarə edəcəyi bir şey çıxardığına əmin olun.

Şərti çıxış dəyişdiriciləri

Modifikator Təsvir İstifadə nümunəsi
varsa, daxil edin Növbəti dəyişdirici üçün daxilə ixtiyari mətn göndərir [[* id: daxiletmə = `[[+ yertutan]]`: = `1`: sonra =` Bəli`: else = `Xeyr`]]
və ya YA [[+ numbooks: is = `5`: və ya: is =` 6`: then = `5 və ya 6 kitab var`: else =` Neçə kitab olduğundan əmin deyiləm`]]
Çoxlu dəyişdiriciləri bir-birinə bağlamaq [[+ nömrə kitabçaları: gt = `5`: və: lt =` 10`: sonra = `5-10 kitab var`: else =` Kitablar və ya 5-dən az və ya 10-dan çox`]]
bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir, bərabərdir Ötürülmüş dəyəri müəyyən edilmiş dəyərlə müqayisə edir. Dəyərlər uyğundursa, "sonra" dəyəri göstərilir, əgər uyğun gəlmirsə - "başqa" [[+ numbooks: isequalto = `5`: sonra =` 5 kitab var`: else = `Neçə kitabdan əmin deyiləm`]]
notequalto, qeydlər, isnt, isnot, neq, ne Ötürülmüş dəyəri müəyyən edilmiş dəyərlə müqayisə edir. Dəyərlər uyğun gəlmirsə, "sonra" dəyəri göstərilir, deyilsə - "başqa" [[+ numbooks: notequalto = `5`: sonra =` Neçə kitabdan əmin deyiləm`: else = `5 kitab var`]]
daha böyük, bərabər, daha çox, ge, məsələn, isgte, gte Eyni, yalnız "Böyük və ya bərabər" şərti [[+ numbooks: gte = `5`: sonra =` Burada 5 və ya daha çox kitab var`: else = 'Burada 5-dən az kitab var`]]
böyükdür, böyükdür, isgt, gt Eyni, yalnız "Ciddi daha çox" şərti [[+ numbooks: gt = `5`: sonra =` Burada beşdən çox kitab var`: else = `Burada 5 və ya daha az kitab var`]]
bərabərtoorlessthan, azthanorequalto, el, le, islte, lte Eyni, yalnız "Az və ya bərabər" şərti [[+ numbooks: lte = `5`: sonra =` Burada 5 və ya daha az kitab var`: else = 'Burada 5-dən çox kitab var`]]
islowerthan, islessthan, Lowthan, smallthan, islt, lt Eyni, yalnız "Ciddi az" şərti [[+ numbooks: lte = `5`: sonra =` Burada beşdən az kitab var`: else = `Burada 5 və ya daha çox kitab var`]]
gizlətmək Şərt yerinə yetirildikdə elementi gizlədir [[+ nömrə kitabçaları: lt = `1`: gizlət]]
göstərmək Şərt yerinə yetirildiyi təqdirdə elementi göstərir [[+ nömrə kitabçaları: gt = `0`: göstər]]
sonra Şərtləri tərtib etmək üçün istifadə olunur [[+ numbooks: gt = `0`: sonra =` Kitablar mövcuddur! `]]
başqa Şərtləri formalaşdırmaq üçün istifadə olunur ("sonra" ilə birlikdə) [[+ numbooks: gt = `0`: sonra =` Kitablar mövcuddur! `: else =` Bağışlayın, lakin satılıb .`]]
üzvü, üzvü, ay İstifadəçinin müəyyən edilmiş istifadəçi qrupunun üzvü olub olmadığını yoxlayır [[! + modx.user.id: memberof = `Administrator`]]

Sətirlərlə işləmək üçün modifikatorlar

Modifikator Təsvir İstifadə nümunəsi
pişik Etiketdən sonra dəyər əlavə edir [[+ nömrə kitabçaları: pişik = `kitablar`]]
l hərf, kiçik hərf, aşağı hərf Bütün hərfləri kiçik hərflərə çevirir [[+ başlıq: lcase]]
ucase, böyük hərf, strtoupper Bütün hərfləri böyük hərflərə çevirir [[+ başlıq: ucase]]
ucwords Sözlərin ilk hərfini böyük hərflə yazır [[+ başlıq: ucwords]]
ucbirinci Sətirdə ilk hərfi böyük hərflə yazır [[+ adı: ucfirst]]
htmlent, htmlentities Bütün simvolları müvafiq HTML obyektlərinə çevirir [[+ e-poçt: htmlent]]
esc, qaçmaq Normal ifadələr və `str_replace ()` istifadə edərək simvollardan təhlükəsiz şəkildə qaçın. Həmçinin MODX etiketlərindən qaçır. [[+ e-poçt: escape]]
zolaq Bütün defisləri, nişanları və istənilən sayda boşluqları yalnız bir boşluqla əvəz edir [[+ mətn sənədi: zolaq]]
stripString Göstərilən alt sətri sətirdən kəsir [[+ ad: stripString = `Cənab`]]
əvəz et Alt sətirləri əvəz edir [[+ səhifənin başlığı: əvəz = `Cənab == Xanım`]]
striptegs, stripTags, notags, strip_tags Bütün teqləri silir (siz icazə verilən teqləri təyin edə bilərsiniz). Təhlükəsizlik səbəbləri ilə istifadə etməyin. [[+ kod: strip_tags]]
len, uzunluq, strlen Xəttin uzunluğunu çap edir [[+ uzun simli: strlen]]
tərs, strrev Simli simvolu simvolla tərsinə çevirin [[+ güzgü mətni: tərs]]
söz sarğı Hər n-ci simvoldan sonra sətir sonu daxil edir (sözlər pozulmur) [[+ bədən mətni: söz sarğı = `80`]]
söz kəsimi Bu simvol sözün içərisində olsa belə, hər n-ci simvoldan sonra sətir sonu qoyur [[+ bədən mətni: wordwrapcut = `80`]]
limit Sətirin əvvəlindən müəyyən sayda simvol çıxarır (defolt olaraq 100-dür) [[+ təsvir: limit = `50`]]
ellips Ellips əlavə edir və göstərilən simvol sayından uzundursa sətri kəsir (defolt olaraq 100-dür) [[+ təsvir: ellipsis = `50`]]
etiket Qoruyucu. Elementi olduğu kimi, etiketsiz göstərir. Sənədlərdə istifadə üçün [[+ Bunu göstər: tag]]
əlavə etmək, artırmaq, əlavə etmək Göstərilən nömrəni əlavə edir (defolt +1) [[+ yükləmələr: incr]] [[+ blackjack: əlavə et = `21`]]
çıxarmaq, azaltmaq, azaltmaq Göstərilən nömrəni çıxarır (standart -1) [[+ geri sayım: azalma]] [[+ pul: çıxın = `100`]]
çoxalmaq, çoxalmaq Göstərilən nömrəyə vurulur (standart * 2) [[+ üçlü: mpy = `3`]]
bölmək, bölmək Göstərilən nömrəyə bölünür (standart / 2) [[+ reytinq: div = `4`]]
modul, mod Ədədin modulunu qaytarır (defolt:% 2, 0 və ya 1 qaytarır) [[+ nömrə: mod]]
boş, varsayılan, boş, boş Teq dəyəri boş olarsa, dəyişdirici dəyəri qaytarır [[+ ad: default = `anonim`]]
notempty,! empty, ifnotempty, isnotempty Teq dəyəri olarsa, dəyişdirici dəyəri qaytarır yox boş [[+ ad: notempty = `Salam [[+ ad]]!`]]
nl2br Yeni sətir simvollarını \ n HTML br teqi ilə əvəz edir [[+ mətn faylı: nl2br]]
Tarix Göstərilən formata (tarix formatına) uyğun olaraq vaxt damgasını mətnə ​​çevirir [[+ doğum ili: tarix = `% Y`]]
strtotime Tarixi mətn kimi UNIX vaxt damğasına çevirir [[+ vaxt: strtotime]]
qeyri-səlis tarix Vaxt möhürü götürür və tarixi "Bu gün saat 16:20" olaraq qaytarır [[+ yaradılmışdır: qeyri-səlis tarix]]
əvvəl Etiketdə göstərilən tarixdən sonrakı saniyələrin, dəqiqələrin, həftələrin və ya ayların sayını qaytarır. [[+ əvvəl yaradılmışdır]]
md5 Dəyərin MD5 hashını yaradır [[+ parol: md5]]
cdata Çıxışı CDATA teqləri ilə əhatə edir [[+ məzmun: cdata]]
istifadəçi məlumatı İstifadəçi profilindən tələb olunan dəyəri qaytarır. İstifadəçi ID tələb olunur [[! + modx.user.id: userinfo = `istifadəçi adı`]]
daxil olun İstifadəçi cari kontekstdə daxil olubsa, 1-i qaytarır [[! + modx.user.id: isloggedin: is = `1`: sonra =` Bəli`: else = `Xeyr`]]
daxil deyil İstifadəçi əgər 1 qaytarır yox mövcud kontekstdə icazə verilir [[! + modx.user.id: isnotloggedin: is = `1`: sonra =` Xeyr`: else = `Bəli`]]
urlencode Dəyəri URL kimi çevirir, yəni PHP funksiyasından istifadə edir urlencode () [[+ mystring: urlencode]]
urldecode Dəyəri URL-dən olduğu kimi çevirir, yəni PHP funksiyasından istifadə edir urldecode () [[+ myparam: urldecode]]

İstifadəçilərlə işləmək üçün dəyişdiriciləri keşsiz adlandırmaq lazımdır ki, hər bir istifadəçi faktiki məlumatları görə bilsin.

Parametrlərlə birlikdə çıxış dəyişdiricilərindən istifadə

Teqdə parametrlər varsa, onlar dəyişdiricidən dərhal sonra yazılmalıdır:

[[! getResources: default = `Bağışlayın, heç nə tapılmadı`? & tplFirst = `blogTpl` & valideynlər =` 2,3,4,8` & tvFilters = `blog_tags ==% [[! teq: htmlent]]%` & TV-lər = `1`]]

Fərdi dəyişdiricinin yaradılması

İstənilən fraqment çıxış dəyişdiricisi kimi istifadə edilə bilər. Bunu etmək üçün sadəcə olaraq dəyişdiricinin yerinə fraqment adını verin. Məsələn, çıxışa müəyyən sayda nida işarəsi əlavə edən bir parça [] yaradaq:

[[* pagetitle: makeExciting = `4`]]

Belə etiket çağırışı aşağıdakı parametrləri emal üçün makeExciting fraqmentinə ötürəcək:

Parametr Məna Misaldakı dəyər

Revolution-da şərti dəyişdiricilər sizə məlumatların teqlərdə təqdim edilməsi və ya təhlil edilməsi üsulunu manipulyasiya etməyə imkan verir. Onlar həmçinin şablonlarınızdakı dəyərləri dəyişdirməyə imkan verir.

Məsələn, bizdə MainSlide fraqmenti var (o MySql cədvəlləriŞəkillər slayderə):

Slayderi açıq göstərmək üçün ana səhifə MODX modifikatorundan istifadə edərək sadə bir şərt yaratmalısınız, bu qeyd-şərtsiz dəyişdirici yer tutucunun sətir olub-olmadığını yoxlayır:

[[+ PlSliderMain: notempty = `[[+ PlSliderMain]]`]]

Bu nümunədə məlumatları yer tutucuya qoyuruq və sonra dəyişdirici vasitəsilə yoxlayırıq, MODX sahələrini və yaradılmış əlavə sahələri də yoxlaya bilərsiniz:

Əgər a: then = ``: else = '' ifadəsində daha uzun kodunuz varsa və onu bir neçə sətirdə yerləşdirməklə onu daha oxunaqlı etmək istəyirsinizsə, bunu belə etməlisiniz:

[[+ yertutan: = `0`: sonra =`
// kod
`: else =`
// kod
`]]

Aşağıdakı siyahıda mövcud dəyişdiricilərin ən faydalı şərtləri sadalanır və onlardan istifadə nümunələri verilir. Çıxış modifikatorları istənilən MODx teqləri ilə istifadə edilə bilər.

Modifikator və ya, və

Çoxsaylı dəyərlərin yoxlanılması.

[[+ slide: is = `5`: və ya: is =` 6`: then = `Slayderdə məzmun var`: else =` Slayder boşdur`]]
[[+ slide: is = `5`: and: is =` 6`: then = `Slayderdə məzmun var`: else =` Slayder boşdur`]]

Modifikator edir

Teq dəyişdiriciyə bərabərdirsə.

[[* slayd: = `5`: sonra =` Kaydırıcıda məzmun var`]]
[[* slayd: is = `5`: sonra =` Slayderin məzmunu var`: else = `Slayder boşdur`]]

Modifikator yox

Teq dəyişdiriciyə bərabər deyilsə.

[[* id: ne = `1`: sonra =` Əsas səhifə deyil`: else = `Ana səhifə`]]

Modifikator qeyd boş

Dəyər boş deyilsə, müəyyən edilmiş dəyişdiricini qaytarır.

[[* məzmun: notempty = `[[* məzmun]]`]]

Modifikator gizlətmək, göstərmək

Şərt yerinə yetirildikdə və ya göstərildikdə elementi gizlədir.

Modifikator sonra, başqa

Vəziyyət, əgər etiket dəyişdirici ilə uyğun gəlirsə, mesajı göstərin.
Vəziyyət, əgər etiket dəyişdiriciyə uyğun gəlmirsə, mesaj göstərin. Yalnız "sonra" ilə birlikdə istifadə olunur

[[* id: is = `1`: sonra =` Slayderi göstərin`: else = `Slayder yalnız əsasdadır`]]