Tehnologia formării dinamice a conținutului static @

Versiune imprimabilă

Tehnologie: Dynamic Static

Problema conținutului static

Cu aspectul oricărui site, există o problemă simplă care, în ciuda simplității sale, necesită o soluție. Aceasta este problema conținutului static.







Conținutul static într-un mediu dinamic este într-un fel diferit. De regulă, paginile statice sunt realizate la fel ca și dinamica, pur și simplu în corpul lor există pur și simplu o marcare HTML a unui conținut. Dar asta este problema, și anume, că, atunci când încercați să schimbați aspectul site-ului au pereverstyvat fiecare pagină a staticii. Și faceți-o oh cât de leneș programator, obișnuiți cu piei și șabloane =)

adresare

Soluția la această problemă este de a introduce un nivel suplimentar de abstractizare și de a separa conținutul de afișaj. Pentru a face acest lucru, puteți utiliza mai multe tehnologii.

  1. Scrieți un CMS și stocați textele în dinamică;
  2. Completați întregul text cu comenzile utilizatorului;
  3. Utilizați XML;

Dintre aceste metode, utilizarea tehnologiilor XML și a celor conexe pare a fi cea mai convenabilă, deoarece în acest caz munca de programare este minimă. Și este statică pentru asta și statică, să o atingi cât mai puțin posibil, nu se schimbă. Pe de altă parte, editarea XML nu este mai puțin convenabilă decât editarea codului HTML. Deci nu vom fi răniți nicăieri.

Pentru a susține decizia noastră, vom lua mai mulți pași:

  1. Formați conținutul nostru ca un document XML;
  2. Creați un șablon XSLT pentru generarea de cod HTML parțial din XML;
  3. Creați un șablon ASP.NET pentru a sprijini paginile de bază și genera ieșire;
  4. Creați un HttpHandler pentru a sprijini SFU (Search Friendly Url);

Document XML

Începutul progresului constă în formarea schemei de documente XML. Această sarcină este simplă, dar creativă =) Documentul trebuie să conțină setul de etichete semantice care vor fi folosite pentru a structura materialul. Consolarea poate fi aceea că nu este necesar să se formeze întreaga schemă dintr-o dată, este suficient să se aloce un set minim și să se extindă în timp ce problema progresează. De exemplu, un document poate fi:

În acest exemplu, eticheta articol definește containerul documentului rădăcină, eticheta antetului specifică antetul și eticheta text specifică textul paragraful articolului. Pentru a începe cu suficient, altele vor adăuga mai târziu, dacă este nevoie.

XSLT șablon

Puteți afișa un document dintr-un fișier XML în mai multe moduri diferite. Cea mai promițătoare este folosirea tehnologiei XSLT, pentru că ne-am împrăștiat în lumea XML, așa că hai să mergem în picioare!

Pentru a forma nivelul prezentării, vom compila șablonul XSLT, al cărui scop va fi formarea marcajului HTML al conținutului nostru static. Șablonul XSLT poate fi, de exemplu, următorul:

Acesta este cu siguranță cel mai simplu șablon, dar pentru acest exemplu nu avem nevoie de mai mult. Merită să acordați atenție următoarelor caracteristici ale șablonului:

Șablonul ASP.NET

Următorul pas trebuie să fie acela de a reuni piesele și formarea unui întreg frumos și pur întreg.) Deoarece tehnologiile dinamice sunt folosite, pagina va fi de asemenea dinamică. Sarcina sa este de a traduce XML folosind șablonul nostru. Pagina va fi, de exemplu, aceasta:

Aceasta este și cea mai simplă pagină, dar, totuși, își îndeplinește funcția. Ea înscrie conținutul nostru static într-un șablon dinamic și, în același timp, pregătește conținutul așa cum am cerut.

Structura directorului

Pagina noastră vizează prelucrarea adresei URL a speciei

/articles/article.aspx?code=topic pentru a afișa articolul

/articles/topic/article.xml. Pentru a sprijini funcționarea acestuia, creați următoarea structură de fișiere și directoare:

/ articole - dosar pentru articole;
  • /articles/topic/article.xml - fișier al unui anumit articol;
  • /articles/article.aspx - fișier șablon ASP.NET;
  • /articles/article.xslt - fișier șablon XSLT;







  • HttpHandler

    Sa dovedit destul de bine, dar există ceva care deranjează =) Nici utilizatorii, nici motoarele de căutare ca url-uri cu cgi-cozi. Este, desigur, normal, dar ar fi fost mai bine dacă adresele URL erau normale, doar adresele URL și adresele URL. Cei care sunt numiți și motoare de căutare prietenoase și înțelese de om.

    Pentru a rezolva această problemă vom folosi tehnologia servlet, pe care am analizat-o în timp ce studiază Java. Toate posibilitățile pentru acest lucru pe care le avem în .NET sunt disponibile, datorită lui Billy =)

    Pentru a gestiona cererile de conținut, vom scrie cel mai simplu handler, singura care va fi direcționarea interogărilor către statică. Operatorul poate fi, de exemplu, următorul:

    Scopul acestui manipulator este de a direcționa cererea. Cererile din formular

    /articles/topic/article.aspx (nu există o astfel de pagină în sistemul nostru) vor fi traduse în

    /articles/article.aspx?code=topic. Pentru acele interogări pentru care există un XML adecvat. Solicitările pentru XML inexistent vor fi redirecționate către pagina cu o listă de articole. Managerul trebuie să fie înregistrat în web.config, de exemplu:

    Acum cererile vor fi interceptate de manipulatorul nostru și trimise la un singur șablon care va traduce documentul XML dorit.

    Astfel, am redus dublarea codului la minim. Acum rămâne doar să înregistrați un articol cu ​​o adresă URL inexistentă =) în fișierul nostru SiteMap "și vom fi onorați".

    Lingurile nu există

    Acest exemplu demonstrează modul în care tehnologiile dinamice vă pot ajuta să lucrați cu statica. Modificarea uneia dintre componente va afecta afișarea tuturor paginilor statice. Și acest lucru este bun, pentru că el mimează activitatea programatorului cu privire la sarcini non-programatice. De asemenea, exemplul arată valoarea arhitecturilor pe mai multe niveluri, una dintre cele mai importante realizări pentru ziua de azi.

    Puteți să copiați conținutul prezentat pe această pagină, să-l republicați, să efectuați modificări, să schimbați designul (cu condiția să plasați pagina copiată de orice culoare, mărime și stil al fontului linkului indexat în orice loc:

    Versiune imprimabilă







    Articole similare

    Trimiteți-le prietenilor: