Cms szürkületben általános elvei munka makrók

A makrók a rendszerünkben van egy egyszerű módja annak, hogy kapcsolják össze a különböző funkcionális blokkok egy weboldal, például hírcsatorna, fórum, katalógus, stb és különböző feldolgozási műveletek a vonalak, a végrehajtás matematikai függvények, és így tovább. Ötvözi makrók hozhat létre szinte minden funkciót, kezdetben hiányában a rendszer. Azonban a legtöbb dolog szükséges a webmester építeni a helyszínek már végrehajtották a rendszer a fejlesztők, és csak akkor kell hívni őket a megfelelő makro, állítsa be a paramétereket kulcsok és személyre szabni a design meghatározó hivatalos fájlokat, ha szükséges.

Makrók tárolja a sablon szerv vagy a tervei más makrók (fájlokat a Sablonok mappában) a fájl tartalmát (Content mappa) és e-mail értesítést sablonok (megkötésekkel). Biztonsági okokból minden makrók vannak írva az adatfájlok nem fog megvalósulni, és szövegként jelenik meg, úgy gondoljuk, hogy általában, az adatokat lehet generálni és egy űrlapot az oldalon. A kivétel a legegyszerűbb macrozamia (módszereket és minden más, ami a szögletes zárójelek nélkül).

Makrók le lehet tiltani bizonyos blokkok erőszakkal lokális macrozamia # 036; NOMACRO_START $ és # 036; NOMACRO_FINISH $. Ez általában használt dokumentációs és egyéb hasonló célra.

$ MacrosName # 091; kulcs1: value1; kulcs2: érték2;. ; szűrő: fieldname = fieldvalue; állapot: logikai; nocache: logikai # 093; $

Komplex szűrő. A string vesszővel felsorolja azokat a feltételeket, amelyek mellett a belépési átkerül a könyvtár, a minta további feldolgozásra.

A bal oldalon a feltétel (A érték) kell lennie név mezőt, melynek értékét fogja használni az összehasonlítás, és a jobb oldalon (B érték) lehet makro- és mereven előírt állandó.

  • A> B ( "több")
  • A!> B, A<=B ("не больше", синоним "меньше либо равно")
  • A
  • A!= B ( „legalább”, szinonimája a „nagyobb vagy egyenlő, mint”)
  • A = B ( "van")
  • A! = B ( "nem")
  • A B (A vonal belép a B vonal)
  • A! B (A sor nem tartalmazza a B vonal)
  • Rin A B, A B tartalmaz (fordított, a B-vonal szerepel a vonal, vagy ezzel egyenértékűen, A tartalmaz B)
  • A! Rin B, A! Tartalmaz B (nem fordul vissza, B vonal nem szerepel az A vonalat, vagy ezzel egyenértékűen, A nem tartalmaz B)

Ha A és B pozitív vagy negatív szám, vagy nulla, az összehasonlítási értéket kell elvégezni, mint egy numerikus (és amellett, hogy a feltételek rin). Tizedesvesszõ adott értékeknél és értékek az adatbázisból lehet, mint pontok és vesszők.

Ha A és B megfelelnek a maszk NN.HH.ÉÉÉÉ vagy hh: mm: ss DD.MM.YYYY. az összehasonlítás ebben a formában „dátum-idő” (amellett, hogy a körülmények és a rin).

Minden egyéb esetben a paraméterek képest karakterenként a string értéket.

Az érték a B nem keretezett idézőjelbe, mert idézetek figyelembe kell venni a rendszeres jellegű.

A B érték nem tartalmazhat vesszőt. Ezért, ha azok következtében lehetséges a makró vagy állandó, akkor ki kell cserélni a „\” (idézőjelek nélkül) a Cserélje makró.

Az érték a B tartalmazhat több kiviteli minősülő „logikai VAGY”, vessző „||”, vagyis A = B || B1 || B2. Ez a funkció ritkán használják, mert szinte teljes emuláció elérni a design a forma a „B.B1.B2”, ahol a pontok csak akkor szükséges, mint egy elválasztó különböző értékeket és azok helyett más is lehet (szóköz, kötőjel, stb) függően a projekt logika.

Az útmutató egy színes mező, amely lehet kék, piros, zöld. Mert chtog megjelenítéséhez rekordok értékeinek zöld és kék egy mintában meg kell írni egy kulcs szűrőt az alábbiak szerint:

Keresés: szín blue.green (helyett egy pont, akkor bármilyen karaktert, kivéve egy vessző, még egy szóköz).

Ha azt akarjuk, hogy a test több feltételek levelet vessző:

szűrő: szín blue.green, súly> = 20, tömege <=100, brand != Prada

Rendezés mód rekordokat. Vesszővel elválasztott listája három lehetősége van:

  • mező nevet, amellyel rendezi vagy több mező nevek / használati sorrendben, amikor válogatás;
  • ASC vagy desc (növekvő / csökkenő) válogató, ha több területen - több ASC vagy desc által / rendre adja meg az első paraméter mezők;
  • mód összehasonlítjuk értékek: szó (string), numerikus (szám), dátum (nn.hh.éééé), datetime (hh: mm: ss dd.mm.yyyy), auto (automata típusú észlelése az első bejegyzés a könyvtárban), amennyiben több területen - felsorolja néhány módok / mindegyikre.

Ha a kulcs nincs megadva, az alapértelmezett érték a „dátum szerint, csökkenő, auto”.

Továbbá, ez a lehetőség is különleges, „nem hármas” értékek:

  • véletlenszerű. felvétel a mintában keverhető véletlenszerűen (szűrés után);
  • visszafordítani. Bejegyzés jelenik meg fordított sorrendben.
  • extrafield. Bejegyzések vannak sorolva a röptében létrehozásra, a számított mező (csak a makro hírek).

rendezés: dátum szerint, csökkenő, auto
Sorrend: állami / létrehozott, csökkenő / növekvő, szó / auto
rendezés: véletlen
rendezési: fordított

Tartalmazza a mező nevét, amelynek tartalmát minden ismétli a minta törlésre kerül. Ha a mintát rekordok fedik teljes egészében vagy részben, akkor használja ezt a gombot, akkor meg egy mező nevét, amelynek értékét nem kell megismételni. Például, ha rekord 1 van neve (keresztnév kitölteni) Alex és rögzített 2 ugyanazt a nevet az azonos területen, a beállítás gombot elkülönült: keresztnev csak rekord jelenik meg a minta 1, a második pedig figyelmen kívül hagyja.

Vegyület állapot makróvégrehajtással. Speciális kulcs, ami általában végrehajtott bármilyen makró (de lehet jelen, ha nincs értelme, vagy ha a makró írta egy harmadik fél fejlesztő). Az érték átadott azt a logikai változók húr vesszővel elválasztva. Under logikai húr bármely olyan értéknek tekinti / 1 / igaz / igen. amelynek hatására a makro végrehajtott, vagy az érték „üres string” / 0 / hamis / nem. ami vezet az a tény, hogy a makró nem kerül végrehajtásra, és egy üres szöveg lesz látható helyett a makró. Ugyanakkor, ha a feltétel nem állítja be a kulcsot, a makró kerül végrehajtásra feltétel nélkül.

állapot: 986F8D3F0489456781060C37BECD297B = 125. =, $ Képesség: id $ = "123456"

„Logikai ÉS” körülmények makrók

Az állapot lehet átvinni egy feltétel kombináció, vesszővel elválasztva (vessző és egy hely után, amely figyelmen kívül hagyja). Minden feltétel együttes működése „logikai ÉS”, azaz az általános állapot lesz igaz, ha azok igazak minden alkatrészével együtt. Például a bejegyzés "feltétel: 1, 0, 1, 1" egyenértékű "feltétel: 0" és "állapot: az igen, 1, true" egyenértékű "feltétel: 1."

Így állapot megkönnyíti megvalósítani a helyzet, amikor a makró lefut, ha az összes feltétel igaz.

„Logikai VAGY” körülmények makrók és bonyolultabb kombinációi feltételek

A helyzet, amelyben a makrót kell végrehajtani, ha a fenti feltételek bármelyike ​​közvetlenül a legfőbb feltétel nem valósul meg, de meg lehet oldani az alábbi módokon:
- A felvétel több azonos makrók egymással, amelyek mindegyike lesz végrehajtva, ha bizonyos feltételek. Általában ez elég kényelmes szempontjából olvasni a kódot, de ha igaz Több feltétel, a makrók fog működni többször szükség. Ezért ez a módszer alkalmas nem mindig, de a helyzetek nagy többségét ez elegendő.
- Lehetőség van először kiszámítja a feltételeket, amelyeket más makrók, majd alkalmazza az eredményt a legfontosabb feltétele.

Például, van két attribútum $ Képesség: a $ és $ Képesség: b $, kapcsolódó területeken típusú négyzetet Central, ezért vesz az értékeket, vagy „üres karakterlánc.” Meg kell futtatni a makrót News egyszer feltéve VAGY (bármely feltétel igaz, vagy mindkettő). Írunk a sort attribútumok: $ Képesség: a $$ Képesség: b $, így onon húr. Ezután ezt a karaktersorozatot a makró $ NotEmpty # 091; # 093; $, ami a kiadási lesz „igazság” abban az esetben, bármely nem üres string, és ha mindkét jelző üres - az értéke „false”. Ennek eredményeként a kívánt eredményt érünk egy ilyen rekord:

$ News # 091; asztalra. ; design. ; állapot: $ NotEmpty # 091; $ Képesség: a $$ Képesség: b $ # 093; $ # 093; $

- Akkor speciális matematikai makro képessége, ami lehetővé teszi számunkra, hogy kiszámolja a logikai kifejezés a jelölést a Perl nyelvet, például, hogy jogilag lehet számítani egy kifejezés, mint (1 || 1) 0. Az egyetlen az összes paramétert, mint kifejezés, persze, kell lennie húrok, ami végezhető logikai műveletek, ebben az esetben a húr „1” vagy „0”.

feldolgozás makrók

- makrók kezeli „belülről kifelé”, azaz, ha egy makró ágyazva egy másik kerül először végrehajtásra fektetett, majd keretbe. Ugyanakkor, az összes makrót kell végrehajtani, ahogy azok megjelennek a szövegben olyan oldalt, amely a makró, amely közelebb van a lap tetején kerül először végrehajtásra.
- makró nem párhuzamosan futnak, ami azt jelenti, hogy minden olyan makrót, hogy végre befejezni a végrehajtás előtt megkezdi a végrehajtását egy másik makró.
- Ha a makró nem kap bemeneti néhány kritikus adatok, annak végrehajtása vezet a nyomtatási eredmény az oldalon szervezetben. Általában ez azt jelenti, hogy a hiba, hogy készül a fejlesztő, kritikus, de készül a szintaxis (például fordítási hiba, nem fut-time). Ezért, ha a fejlesztő nem túl okos felére, az ilyen hiba a látogatók nem fogják látni.

Írásban a saját makró

Kapcsolódó cikkek