itholoinfo.com.com

Cum se creează o temă Zero MediaWiki

Multe site-uri utilizează software-ul MediaWiki, inclusiv wikiHow! După cum probabil ați observat, deși MediaWiki vin cu mai multe skin-uri (teme) gata de utilizare, multe site-uri, cum ar fi wikiHow, prefera sa creeze propria piele pentru a oferi un vizual și o experiență unică. Puteți personaliza aspectul unui site web bazat pe MediaWiki într-o varietate de moduri atunci când utilizați skin-uri. În majoritatea cazurilor, nu este necesar să creați o piele de la zero pentru a obține rezultatul dorit. Puteți alege pentru a crea o piele folosind una care există deja ca o bază, ca MonoBook, și ajustați-l la nevoile tale. Cu toate acestea, dacă doriți cu adevărat să schimbați complet formatul Wiki, este posibil să aveți nevoie să creați propriul dvs. piele de la zero. Acest articol vă va ghida prin proces într-un mod sistematic, organizat și simplu! Pentru demonstrație, vom presupune că numele pieii noi va fi TrialSkin

. Trebuie să modificați toate aparițiile numelui "TrialSkin" cu numele ales.

pași

  1. 1
    Creați structura de bază a fișierului pielii. Aceasta include crearea fișierelor și folderelor de mai jos (acestea ar trebui să fie toate în dosar piei Instalarea programului MediaWiki):
    • Fișierul TrialSkin.php - în acesta, veți plasa cea mai mare parte a codului și veți defini aspectul paginilor.
    • Fișierul TrialSkin.deps.php - fișierul implicit, care va avea întotdeauna același cod. Este conceput pentru a fixa a gândac din PHP.
    • Dosarul Trialskin - toate celelalte fișiere legate de piele trebuie să se afle în acel director, inclusiv foile de stil (CSS) și imaginile.
    • Fișier /skins/trialskin/main.css - va conține foaia principală a stilului pielii - [este opțional, dar probabil că veți avea nevoie.]
    • Căutați remedierile pentru foile de stil, cum ar fi cea oferită de /skins/trialskin/IE60Fixes.css - [opțional, dar recomandat.]
  2. 2
    Adăugați codul de boot de mai jos în subsecțiunea "Cod de pornire" al acestui articol. înlocui TrialSkin de numele ales pentru piele și trialskin cu același nume, dar de data aceasta doar cu litere mici.
  3. 3
    Adăugați codul de fixare a categoriilor de categorii, așa cum se arată în subsecțiunea corespunzătoare de mai jos.
  4. 4
    Setați funcția execute (), care va fi apelată pentru a furniza conținutul paginilor browserului client.
  5. 5
    Declarați variabila globală $ wgUser în funcția execute () și utilizați metoda getSkin () pentru a obține un obiect sau variabilă $ skin. Probabil că aveți nevoie de această variabilă, dar dacă nu este cazul, treceți peste acest pas. Veți găsi un exemplu standard al instrucțiunii funcției execute () în subcapitolul "Codul principal al funcției execute ()".
  6. 6
    Începeți adăugarea codurilor PHP și XHTML pentru a efectua redarea wiki. Chiar dacă aveți nevoie să schimbați foarte mult aspectul implicit, este posibil să trebuiască să redați aceleași seturi de informații pe care skin-urile implicite le fac (poate cu unele modificări). Elementele, componentele și blocurile care sunt cel mai des adăugate paginilor pot fi găsite mai jos. De asemenea, puteți consulta secțiunea corespunzătoare pentru a vedea detaliile sau a obține coduri eșantion:
    • Codul XHTML, care deschide (și în cele din urmă închide) ieșirea HTML care va fi trimisă browserului client.
    • Elementul cap (antet), care importează foi de stil și scripturi, stabilește meta date pentru pagină și specifică titlul de afișat în bara de browser când este vizionat.
    • Eticheta de deschidere corp (corp), care pornește elementul capului paginii și specifică ce se întâmplă când se încarcă sau se verifică când există stivuitoare (operatori de eroare).
    • Blocul care conține numele site-ului.
    • Imaginea care conține sigla site-ului.
    • Sloganul site-ului.
    • Blocul mesajelor.
    • Blocul de notificare a mesajului pentru utilizator (dacă este necesar).
    • Bara de sarcini a utilizatorului.
    • Bloc de navigare în cadrul paginii în sine.
    • Căutare.
    • Instrumente de lucru.
    • Legături către alte limbi.
    • Numele paginii.
    • Subtitlul paginii.
    • Anunț de recuperare pagină.
    • Conținutul paginii.
    • Legături către categorii.
    • Bara de activități pentru pagină.
    • Subsol.
    • Codurile finale.

Metoda 1
Codul de pornire

  • Comercial SkinTrialSkin de pieleNumele lui Sucker, testskin de Numele tău și TrialSkinTemplate de către Numele lui SuckerFormat.
skinname = `trialskin` - $ this-> styleName = `trialskin` - $ this-> template = `TrialSkinTemplate` -}} class TrialSkinTemplate extinde QuickTemplate {// Alte secțiuni de cod sunt adăugate la corpul clasei

Metoda 2
Codul de corectare a listei de coduri

  • Trebuie doar să copiați și să inserați codul de mai jos în corpul clasei șablonului (care este clasa TrialSkinTemplate, în acest exemplu), preferabil după codul de inițializare.
/ * Obține categoria de funcții pentru a crea o listă corespunzătoare GetCategories * / function () {$ catlinks = $ this-> getCategoryLinks () - (! Empty ($ catlinks)) în cazul în care {return "
    {$ catlinks}
„- getCategoryLinks}} function () {$ wgOut generală, $ wgUser, wgTitle $, $ $ wgUseCategoryBrowser-globala-wgContLang if (count ($ wgOut-> mCategoryLinks) == 0) întoarcere `` - = $ $ piele wgUser- > getSkin () - # $ separator sep = "" - // folosesc caractere Unicode încorporate caracter bidi suprapunere // pentru a se asigura că legăturile nu sunt murdar pe ecran $ dir = $ wgContLang-> isRTL) `rtl` (? : `ltr` - $ embed = "
  • "- $ pop = `
  • `- $ t = $ încorporați. implozie ( "{$ pop} {} {$ sep $ embed}" $ wgOut-> mCategoryLinks). Msg $ = $ pop wfMsgExt (matrice `pagecategories` ( `parsemag`,“evadare `), count ($ wgOut-> mCategoryLinks)) - $ s $ = pieleii> makeLinkObj (Titlu :: newFromText (wfMsgForContent (` pagecategorieslink `)), $ msg). T # $ opțional - categorii Explorer, cum ar fi dmoz - apar în lista de categorii # căruia îi aparține un articol în cazul în care ($ wgUseCategoryBrowser) {$ s =“.

    „- # a crea o gamă largă de axe (părinte) $ $ wgTitle- parenttree => getParentCategoryTree () - # Obiectul trebuie să fie trecut prin referință, deoarece nu pot fi accesate în cadrul # Sub drawCategoryBrowser de $ tempout = exploda ( " n" piele :: drawCategoryBrowser ($ parenttree, $ acest lucru)) - # curăța intrarea fals inițială și ordinul de unset ($ tempout [0]) - asort ($ tempout) - # imprimare câte unul pe fiecare linie $ s = implode ("
    n ", temp template) -} retur $ s-}

    Metoda 3
    Codul principal al funcției execute ()

    • Puteți elimina liniile care declară variabilele $ wgUser, $ wgSitename și $, dacă nu le folosiți.
    Funcția run () {// declararea variabilelor globale si obtinerea pielii de obiecte în cazul în care este necesar în futuroglobal $ wgUser, wgSitename- $ $ $ wgUser- piele => getSkin () - // obține numele site-ului $ this-> set ( `numesite` $ wgSitename) - // sterge avertismentele pentru a preveni notificări indicii care nu se găsesc în $ this-> datawfSuppressWarnings () -

    Metoda 4
    Structura principală a codului XHTML

    • Codul inițial - aici veți configura pielii pentru a scrie etichetele HTML și pentru a declara spațiul de nume XHTML necesar. Codul de mai jos este o declarație standard. Puteți să o schimbați, dar probabil că nu va fi necesar.
    ?>data [`xhtmlnamespaces`] ca $ tag => $ ns) {?> xmlns:text (`lang`)?> "lang ="text (`lang`)?> "dir ="text ("dir")?> ">
    • Elementul cap - aici, veți scrie conținutul elementului cap. Aceasta include linkuri către foi de stil, scripturi de pe partea clientului și meta date pentru roboți și browsere. Codul inclus aici este implicit, deci este posibil să trebuiască să îl modificați pentru a include script-uri personalizate sau foi de stil.
      • Pentru ca codul să funcționeze corect, va trebui să aveți fișierele de mai jos (puteți elimina linia care importează oricare dintre aceste foi de stil dacă nu aveți nevoie de ele):
        • /common/commonPrint.css - foaie de stil pentru afișarea paginilor. Aveți posibilitatea să modificați calea pentru această foaie de stil dacă nu doriți să utilizați versiunea implicită.
        • main.css, contents.css - piele. Ar trebui să fie în dosarul principal al pielii (/ skins / trialskin, în acest exemplu).
        • handheld.css - o foaie de stil pentru manipularea dispozitivelor mobile.
        • IE50Fixes.css, IE55Fixes.css, IE60Fixes.css, IE70Fixes.css - Corecții de erori pentru diferite browsere. Puteți să copiați aceste fișiere din oricare dintre piei existente și să le lipiți, deoarece probabil că nu va trebui să modificați nimic în ele.
      • În ultimele rânduri, care încep în comentariu "/ *** Diferite scripturi și stiluri legate de MediaWiki *** /, puteți găsi foi de stil specifice pentru utilizatori, pentru pagini și pentru întregul site. Dacă nu doriți să implementați aceste funcții, pur și simplu mutați rândurile corespunzătoare în secțiunea comentată care începe în comentariu.
      • Sa constatat că apelul $ this-> html (`headscripts`) poate provoca probleme în cele din urmă. Deci, dacă ceva nu merge bine, încercați să îl eliminați.
      • Dacă codul nu funcționează dintr-un anumit motiv, încercați să uitați acest cod și să scrieți propriul dvs. prin adăugarea de link-uri către foi de stil, scripturi și etichete!
    html (`link-uri`)?><?php $this->text ("pagetitle")?>/ *text ("stylepath")?> /text (`stylename`)?> / main.css?text ("stylepath")?> /text ("stylename")?> / contents.css?date [`printable`]))) {?> media = "print"text ("stylepath")?> / common / commonPrint.css?text (`stylename`)?> / handheld.css?data) -?>date [`jsvarurl`]) {?>date [`pagecss`]) {?>data [`usercss`]) {?>date [`userjs`]] {?>data [`userjsprev`]) {?>date [`trackbackhtml`]) tipăriți $ this-> data [`trackbackhtml`] -?>html (`headscripts`)?>
    • Eticheta care efectuează redarea corpului (corpului) codului. Tu, probabil, nu va trebui să modificați această secțiune cu excepția cazului în care doriți să modificați stilurile corpului de cod în cadrul tag-ul în sine, care poate fi considerat un pic „hardcoded“ prea.
    date [`body_ondblclick`]) {?> ondblclick = "text (`body_ondblclick`)?> "date [`body_onload`]) {?> onload = "text (`body_onload`)?> "text (`nsclass`)?> text ("dir")?> text ("clasa de pagină")?> ">
    • Codurile finale - se adaugă la sfârșitul fișierului. Ei închid etichetele deschise, scripturile, codurile PHP și așa mai departe. Toate codurile afișate aici trebuie plasate înaintea acestor linii, care ar trebui să fie ultimele din fișier.
    html (`bottomscripts`) - / * JS apel la runBodyonloadHook * /?>html (`reporttime`)?>date [`debug`]):?>

    Metoda 5
    Codul implicit pentru elementele site-ului

    • Rețineți utilizarea apelurilor $ this-> text ($ msg) și $ this-> html ($ msg). Ele vor apărea foarte mult în piele.
    • Numele site-ului:
    text ("sitename")?>
    • Logo-ul site-ului:

    Metoda 6
    Codul implicit pentru elementele de pagină

     
    Distribuiți pe rețelele sociale:

    înrudit
    » » Cum se creează o temă Zero MediaWiki
    © 2021 itholoinfo.com.com