Ü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
- Arxivi yükləyin və açın.
Yeniləyin
- Arxivi yükləyin və açın.
- / assets / plugins / phx kataloqunun adını / assets / plugins / phx-old olaraq dəyişdirin
- / assets / plugins qovluğunda "phx" kataloqu yaradın.
- FTP vasitəsilə yükləyin və ya sadəcə arxivin məzmununu / assets / plugins / phx-ə köçürün
- 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.
- "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.
və
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
Modifikator | Təsvir | Misal |
---|---|---|
və ya | Məntiqi VƏ əlaqəsini təşkil etmək üçün sətir dəyişdiriciləri ilə istifadə edilə bilər | |
və | 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
Modifikator | Təsvir | Misal |
---|---|---|
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`]] |
və | Çoxlu dəyişdiriciləri bir-birinə bağlamaq VƏ | [[+ 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`]]