dmylogi.com

Hoe om `n MediaWiki-vel van nuuts af te skep

Baie webwerwe gebruik MediaWiki-sagteware, en wikiHow is een van hulle! Soos u kan sien, alhoewel MediaWiki reeds met `n stel vel gereed is om te gebruik, besluit baie webwerwe, soos wikiHow, om hul eie vel te skep om die webwerf `n unieke voorkoms te gee. Daar is baie maniere om die voorkoms van `n webwerf op grond van MediaWiki aan te pas, en almal behels skins. Gewoonlik is dit nie nodig om `n nuwe vel van nuuts af te skep vir baie persoonlike vlakke nie. In ander gevalle sal dit genoeg wees om `n reeds bestaande vel aan te pas wat dit aanpas by die behoeftes van elkeen. As jy egter `n radikale verandering in die ontwerp van die wiki wil maak, sal dit nodig wees om jou eie vel van nuuts af te skep. Hierdie artikel sal u lei sodat u dit op `n georganiseerde, eenvoudige en sistematiese wyse kan doen.

Vir demonstrasiedoeleindes sal die artikel aanvaar dat u nuwe vel genoem sal word TrialSkin. U moet alle verwysings na "TrialSkin" vervang met die naam van u vel.

stappe

1
Skep die basiese lêer struktuur wat nodig is vir jou nuwe vel. Dit behels die skep van die volgende lêers en dopgehou (alles moet by die gids gevoeg word) skins van jou MediaWiki-installasie):
  • `N TrialSkin.php lêer. Dit is waar jy die meeste van die kode sal plaas en die ontwerp van die bladsye moet definieer.
  • `N TrialSkin.deps.php lêer. Dit is `n standaard lêer wat waarskynlik dieselfde kode bevat. Dit is geskep om enige probleem met die PHP-lêer op te los.
  • Die proefskerm gids. In hierdie gids sal die res van die lêers wat verband hou met jou vel, insluitend stylvelle en beelde, gestoor word.
  • `N Lêer / skins / skyfskyf / skyfie, wat die hoofstylvel vir die vel bevat. Hierdie lêer is opsioneel, maar dit is baie waarskynlik dat jy dit moet gebruik.
  • Blaaier-spesifieke herstelstyllêers, soos /skins/trialskin/IE60Fixes.css. Hierdie lêers is opsioneel, maar dit word aanbeveel om dit te gebruik.
  • 2
    Voeg die initialisasie kode soos later geïllustreer in die "Initialiseringskode" -afdeling van hierdie artikel. vervang TrialSkin Met die naam van jou vel en trialskin met die naam van jou vel nadat jy al die letters in kleinletters omgeskakel het.
  • 3
    Voeg die kode "Vaste kategorie lys" soos in die ooreenstemmende onderafdeling van hierdie artikel.
  • 4
    Definieer die funksie uitvoer (), wat genoem sal word om die inhoud van die bladsye in die blaaiers van die kliënte uit te voer.
  • 5
    Verklaar die globale veranderlike $ wgUser in die funksie uitvoer () en gebruik die getSkin () metode om `n voorwerp of veranderlike $ vel te kry. Sekerlik, jy het daardie veranderlike nodig. As jy dit egter nie nodig het nie, hoef jy nie hierdie stap te doen nie. U sal `n tipiese voorbeeld vind oor hoe om die funksie uit te voer () met die mees gebruikte kode in die onderafdeling "Verklaring van die funksie uitvoer ()".
  • 6
    Begin deur kode (beide PHP en XHTML) by te voeg om bladsye in u wiki te skep. Selfs in die geval waar u `n radikale verandering in die ontwerp wil maak, sal u waarskynlik dieselfde stel data moet skep wat normale skins gebruik (miskien met sekere veranderinge). Die mees algemene elemente, komponente en blokke vir `n bladsy is (sien die ooreenstemmende onderafdelings vir meer besonderhede of voorbeeldkodes):
  • Die XHTML-kode wat die HTML-uitset wat na die kliënt se blaaier gestuur word, oopmaak (en uiteindelik sluit)
  • Die hoofelement, wat stylbladsye, skrifte invoer, definieer die metadata van die bladsy en bepaal die titel wat in die titelbalk van die blaaier vertoon word vir die spesifieke bladsy wat besigtig word.
  • Die etiket wat die begin van die liggaam aandui. Hierdie merker maak die liggaamselement van die bladsy oop en spesifiseer wat gebeur wanneer die bladsy laai of dubbel geklik word, as die hanteerder bestaan.
  • Die naamblok van die werf
  • Die beeld van die webwerf logo
  • Die slagspreuk van die werf
  • Werfkennisgewingblok
  • Gebruikersboodskap-kennisgewingblok (indien nodig)
  • Die gebruiker se nutsbalk
  • Intra-bladsy navigasie blok
  • soek
  • Gereedskap
  • Taal skakels
  • Naam van die bladsy
  • Ondertitel van die bladsy
  • Bladsy herstel kennisgewing
  • Inhoud van die bladsy
  • Kategorie skakels
  • Toolbar van die bladsy
  • Footer
  • Sluitingsnommer
  • Metode 1

    Initialiseringskode

    Vervang SkinTrialSkin met SkinDie naam van jou vel, proefskin deur thetupielnaam en TrialSkinTemplate by TemplateDie naam van jou vel.

     SkinName = `trialskin` - $ this-> stylename = `trialskin` - $ this-> sjabloon = `TrialSkinTemplate` -}} klas TrialSkinTemplate strek QuickTemplate {// ander afdelings van die kode is bygevoeg om die liggaam van hierdie soort

    Metode 2

    Stel kode vir kategorielys vas
    • Net kopieer en plak die volgende kode in die liggaam van die sjabloon klas (TrialSkinTemplate vir hierdie voorbeeld), verkieslik na die initialisasie kode.
    / * Kategorie funksies verkry om `n toepaslike lys * / funksie getCategories skep () {$ catlinks = $ this-> getCategoryLinks () - as (leë ($ catlinks)) {return "{$ catlinks}" -} } funksie getCategoryLinks () {globale $ wgOut, $ wgUser, $ wgTitle, $ wgUseCategoryBrowser-globale $ wgContLang-as (telling ($ wgOut-> mCategoryLinks) == 0) terugkeer `` - $ vel = $ wgUser-> getSkin ( ) - # separator $ September = "" - // Unicode bidi gebou met behulp van oortrek karakters // om te verseker dat die skakels nie aan mekaar raak so deurmekaar $ r = $ wgContLang-> isRTL ()? `rtl`: `ltr` - $ embed = "
  • mCategoryLinks) $ pop- $ msg = wfMsgExt (. `Pagecategories` array ( `parsemag "," ontsnapping "), tel ($ wgOut-> mCategoryLinks)) -. $ s = $ vel-> makeLinkObj (Titel :: newFromText (wfMsgForContent (` pagecategorieslink `)), $ msg) $ t # kategorisering soortgelyk aan dmoz links (opsioneel), word hieronder # lys kategorieë waaraan `n artikel as ($ wgUseCategoryBrowser) {$ s behoort getoon. = `

    `- # kry `n groot boom onder ouer $ parenttree = $ wgTitle-> getParentCategoryTree () - # die vel voorwerp oorgedra word deur verwysing en wat nie kan verkry word binne die metode # subfunksie drawCategoryBrowser $ tempout = ontplof ( " n "Skin :: drawCategoryBrowser ($ parenttree, $ hierdie)) - # skoon die eerste dummy inskrywing en bestellings ontstel ($ tempout [0]) - asort ($ tempout) - # een getoon deur line = $ s. implodeer ("
    n ", $ tempout) -} retour $ s-}
  • Metode 3

    Kode van die belangrikste metode uitgevoer ()
    • As u nie die lyne sal gebruik wat $ wgUser, $ wgSitename en $ skin verklaar nie, kan u dit verwyder.
    VOER funksie () {// verklaring van globale veranderlikes en die verkryging van vel voorwerp in die geval wat jy nodig het om dit te gebruik tardeglobal $ wgUser, wgSitename- $ $ $ wgUser- vel => getSkin () - // $ webwerf naam herstel hierdie-> stel ( `SITENAME` $ wgSitename) - // waarskuwings onderdruk om kruip waarskuwings oor verlore $ this-> datawfSuppressWarnings () te voorkom -

    Metode 4

    Kode van die struktuur Hoof XHTML
    • Opening kode Hier vertel jy die vel om die HTML-tag uit te voer en al die nodige XHTML-naamruimtes te verklaar. Die volgende kode is `n tipiese stelling wat u kan aanpas as u wil, maar dit is waarskynlik nie nodig nie.
    ?> data [`xhtmlnamespaces`] as $ tag => $ ns) {?> xmlns: teks (`lang`)?> "lang =" text (`lang`)?> "dir =" text (`dir`)?>
    • Die kopelement. Hier uitvoer jy die hoofelement saam met al die inhoud daarvan. Dit sluit in skakels na style sheets, kliënt kant skrifte en metadata vir robots en blaaiers. Die kode wat hier ingesluit is, is `n tipiese kode wat u dalk moet wysig om enige aangepaste skrif of stylblad in te sluit.
    • Vir hierdie kode om te werk soos verwag, moet u die volgende lêers hê (as u dit nie benodig nie, kan u die lyne verwyder waar enige van hierdie style sheets ingevoer word):
    • /common/commonPrint.css. Stylvel vir die druk van bladsye. As jy nie die standaarddrukstylvel wil gebruik nie, kan jy die pad verander waar dit is.
    • main.css, contents.css. Die belangrikste stylvelle vir jou vel. Hierdie moet in u velmap (/ skins / proefskink in hierdie voorbeeld wees)
    • handheld.css. `N Stylvel wat gebruik word met draagbare toestelle.
    • IE50Fixes.css, IE55Fixes.css, IE60Fixes.css, IE70Fixes.css. Reëlings vir verskillende blaaiers. U kan hierdie lêers kopieer van dié van `n bestaande vel, aangesien u waarskynlik niks hoef te verander nie.
    • Die laaste lyne, begin in "/ *** Verskeie skrifte en style wat verband hou met MediaWiki *** /" sluit stylvelle spesifiek vir die gebruiker, die bladsy en die breedte van die bladsy in. As jy nie hierdie funksies gaan gebruik nie, moet jy net alles verwyder wat bo die kommentaar is .
    • Dit is waargeneem dat die oproep $ this-> html (`headscripts`) in sommige gevalle tot foute lei, so as iets nie goed werk nie, probeer om dit te verwyder.
    • As die kode vir een of ander rede nie behoorlik werk nie, kan jy heeltemal uitlaat hierdie kode en skryf jou eie kode, insluitend skakels na style sheets, draaiboeke en titel tag, alles op jou eie!
    • teks (`mimetype`)?> - charset =teks (`charset`)?> "/> html (`headlinks`)?><? php $ this-> text (`pagetitle`)?>data [`printable`]))) (?> media = "print" text (`stylepath`)?> / common / commonPrint.css? data) -?> data [`jsvarurl`]) {?> data [`pagecss`]) {?> data [`usercss`]) {?> data [`userjs`]) {?> data [`userjsprev`]) {?> data [`trackbackhtml`]) druk $ this-> data [`trackbackhtml`] -?> html (`headscripts`)?>
      • Die openingsteken van die liggaam. Skep die openingsteken van die liggaam. Die kans is dat jy dit nie moet verander nie, tensy jy die lyfstyl op die etiket wil kodeer.
      data [`body_ondblclick`]) {?> ondblclick = " teks (`body_ondblclick`)?> " data [`body_onload`]) {?> onload = " teks (`body_onload`)?> " teks (`nsclass`)?>  text (`dir`)?>  teks (`page class`)?>
      • Sluitingsnommer. Dit word bygevoeg aan die einde van die lêer. Maak enige etiket, skrip of PHP-kode wat oop is, oop. Al die kode wat hier volg moet voor dit geplaas word, dit moet die laaste reël van die vellêer wees.
       html (`bottomscripts`) - / * JS oproepe runBodyonloadHook * /?> html (`report time`)?> data [`debug`]):?>

      Metode 5

      Algemene elemente van die werfkode
      • Let op die gebruik van $ this-> teks ($ msg) en $ this-> html ($ msg). Hulle sal baie langs die vel gebruik word.
      • Naam van die webwerf:
       teks (`site name`)?>
      • Beeld van die webwerf logo
      • Site slagspreuk:

      msg (`tagline`)?>

      • Terrein waarskuwingsblok. Die inhoud van die webwerf word gewoonlik gewysig en bygevoeg aan die WikiMedia-bladsyboodskap: Sitenotice.
       data [`sitenotice`]) {?>
      html (`sitenotice`)?>
    • Gebruikersboodskap-kennisgewingblok:
     data [`newtalk`]) {?>
    html (`newtalk`)?>
  • Intra-bladsy navigasie blok (opsioneel):
  •  data [`showjumplinks`]) {?>


    msg (`jumpto`)?> msg (`jumptonavigation`)?>, msg (`jumptosearch`)?>
    Metode 6Algemene elemente van die bladsy kode
    • Naam van die bladsy:
    • Ondertitel van die bladsy:
    html (`subtitle`)?>
    • Inhoud van die bladsy:
     html (`body text`)?>
    • Kategorie skakels:
     data [`catlinks`]) {?>
    html (`cat links`)?>
  • Footer. Hierdie kode is iteratief, dus jy moet versigtig wees wanneer jy dit kopieer!
  • data [`poweredbyico`]) {?>
    html (`poweredbyico`)?>
    data [`copyrightico`]) {?>
    html (`copyright`)?>
    data [$ aLink]) $ this-> data [$ aLink]) {?> html ($ aLink)?>

    Metode 7

    Kode van algemene werkbalke
    • Gebruiker se nutsbalk Hierdie kode skep die gebruiker se navigasie skakels soos die gebruiker se bladsy, besprekingsblad, sluitingstydperk, ens.
    msg (`personal tools`)?>
      data [`personal_urls`] as $ key => $ item) {?> tooltipAndAccesskey (`pt -`. $ key)?>
    • Toolbar van die bladsy. Hierdie kode bevat die redigering-, skeppings- en besprekings skakels, saam met ander afhangende van die gebruiker se groep.
    msg (`views`)?>
      data [`content_actions`] as $ key => $ tab) {?> tooltipAndAccesskey (`ca -`. $ key)?>
    • Kennisgewing van bladsy herstel. As die bladsy voorheen verwyder is en die gebruiker die bladsye kan ophaal, moet hierdie skakel verskyn (as jy kies)
     data [`undelete`]) {?>
    html (`undelete`)?>
    Metode 8Portlets (hoof navigasie blokke)
    • Soek portlet (die soekkassie). Dit is `n implementering met die minimum inhoud wat net wys wat moet uitgaan vir die soekbalk om te werk.
    • Toolbar portlet:
    msg (`toolbox`)?>
    • Taal skakels
     data [`language_urls`]) {?>
    msg (`other languages`)?>
      data [`language_urls`] as $ langlink) {?>

    waarskuwings

    • Voordat u jou nuwe vel wil skep of verander, moet u altyd `n rugsteun van die databasis, die installeringsgids en enige ander element verwant aan u MediaWiki maak.
    • Hierdie prosedure moet gedoen word deur iemand (of ten minste onder toesig van iemand) wat `n matige kennis van die MediaWiki-sagteware en die PHP-taal het. Foute in die kode kan foute en onverwagte resultate oplewer.

    wenke

    • Soos u kode groei, kan dit gerieflik wees om `n deel daarvan in `n ander lêer te skei en dit dan in die hooflêer van u vel in te sluit.
    • U kan afsonderlike funksies gebruik om spesifieke dele van die koppelvlak te skep. Dit is veral nuttig vir partye wat `n groot hoeveelheid kode benodig en veranderinge van u kant vereis.
    • Dit kan nuttig wees om `n vel met die minimum inhoud te implementeer en dit dan as `n basisklas vir die res van jou velle te gebruik.
    • Al die kode wat in hierdie artikel getoon word, bied `n minimum standaard implementering. Dit is bedoel om die leser te wys hoe om inligting uit die vel sjabloon klas te onttrek en wat om te oorweeg vir elke stuk inligting. U kan (en sekerlik) die standaard gedrag wat by hierdie implementering ingesluit word, verander.
    Deel op sosiale netwerke:

    Verwante
    Hoe om `n fotografie webwerf te skepHoe om `n fotografie webwerf te skep
    Hoe om `n webwerf te skep sonder om HTML te gebruikHoe om `n webwerf te skep sonder om HTML te gebruik
    Hoe om `n gratis webblad te skepHoe om `n gratis webblad te skep
    Hoe om `n webwerf te ontwerp wat professioneel gratis lykHoe om `n webwerf te ontwerp wat professioneel gratis lyk
    Hoe om `n sjabloon vir `n webwerf te ontwerpHoe om `n sjabloon vir `n webwerf te ontwerp
    Hoe om RPM pakkette te onttrekHoe om RPM pakkette te onttrek
    Hoe om geld te maak met `n wikiHoe om geld te maak met `n wiki
    Hoe om `n webwerf te maak met behulp van WordPressHoe om `n webwerf te maak met behulp van WordPress
    Hoe om `n Wiki in minder as 20 minute te installeerHoe om `n Wiki in minder as 20 minute te installeer
    Hoe om die posisionering van jou bladsy in Google en Alexa te verbeterHoe om die posisionering van jou bladsy in Google en Alexa te verbeter
    » » Hoe om `n MediaWiki-vel van nuuts af te skep
    © 2024 dmylogi.com