WikiDer > Анықтама: Үлгі - Википедия

Help:Template - Wikipedia

A шаблон - бұл басқа беттерге қосу үшін жасалған Википедия парағы. Үлгілер әдетте қайталанатын материалдан тұрады, оларды мақалалар мен беттердің кез-келген санында көрсету қажет болуы мүмкін. Олар әдетте қолданылады қазан хабарламалар, стандартталған ескертулер немесе хабарламалар, инфобокстар, навигациялық жәшіктер, және ұқсас мақсаттар.

Инклюзияның ең кең тараған әдісі деп аталады трансклюзия, қайда викитекст Мақсатты беттің үлгісіне сілтеме бар {{Үлгі атауы}} синтаксис. Тағы бір әдіс ауыстыру, онда шаблон мазмұны мақсатты парақтың викитекстіне сақталған кезде бір рет көшіріледі.

Анықтама: шаблондар туралы қысқаша нұсқаулық тақырыбына қысқаша кіріспе береді. МедиаВики мен Викимедианың қосымша көмегі бар mw: Анықтама: Үлгілер, m: Анықтама: Үлгі, және m: Анықтама: Кеңейтілген шаблондар.

Үлгіге шаблон сілтемесі

Шаблонның нақты толық атауын Википедия мақаласына мәтін ретінде (оның ішіндегі жақшаны қоса) енгізу үшін, қолданыңыз шаблон сілтемесі шаблон. Мұны істеудің негізгі ынтасы нұсқаулық пен құжаттамада. Қысқа мысал - код:

{{tl | foo}}
генерациялайды
{{ақымақ}}

Жалпы сипаттама

Шаблондардың қалай жұмыс істейтіні туралы негізгі шолу (8 минуттық видео)

Үлгілердің көпшілігі Үлгі аттары кеңістігі, бұл олардың «Үлгі:ХХХХ«. Алайда кез-келген аттар кеңістігінен ауыстырып, ауыстыруға болады,[a] сондықтан кейбір шаблон парақтары басқа аттар кеңістігінде орналастырылады, мысалы Пайдаланушының аттар кеңістігі. Үлгі беттері байланыстырылды талқылау беттері.

Үлгілерде кез-келген қажетті болуы мүмкін викитекст, оның ішінде басқа шаблондарға қоңырау шалу. Олардың кейбір шектеулі бағдарламалау мүмкіндіктері бар: теңшелетін мәндер (деп аталады) параметрлері); есептеу және тармақталу (қолдану талдау функциялары); және вики-арнайы айнымалыларға қол жеткізу (сиқырлы сөздер), мысалы, күндер, уақыттар және бет атаулары. Олардың құрамында болуы мүмкін тегтер шаблонды ауыстырған немесе ауыстырған кезде викитекстің қай бөліктерін қосу керектігін анықтайтын. Бұл дегеніміз, шаблон парағының өзі трансклюзияланған мазмұнмен бірдей болмауы керек (мысалы, онда шаблон үшін құжаттама, санаттар және т.б. болуы мүмкін).

Мұны қалай істеу керек: Үлгіні мақалаға немесе параққа ауыстыру үшін теріңіз {{Үлгі атауы}} шаблон пайда болатын жерде викитексте. Бірінші әріп немқұрайды түрде кіші немесе үлкен әріптермен жазылуы мүмкін.

Префикс Үлгі: шаблон атауы әдепкі болып табылады және оны қосу қажет емес. Алайда, басқа аттар кеңістігінде сақталған шаблондар үшін префикс, мысалы Қолданушы:, көрсетілуі керек. Бетті ауыстыру үшін негізгі кеңістік, тақырыбының алдында қос нүкте қойылады, сияқты {{:Беттің аты}}.

Ескерту: Жоқ шаблоны ауыстыруға тырысу а шығарады қызыл сілтеме, басқа кез келген басқа параққа сілтеме жасау сияқты. Сілтеме бойынша өту сол нақты үлгіні жасауға мүмкіндік береді. Жобалар арасында беттерді ауыстыру мүмкін емес (мысалы, әр түрлі тілдегі Уикипедия немесе МедиаВики) - басқа тілдік жобада шаблон пайдалану үшін шаблонның көшірмесі сол жобада жасалуы керек.

Пайдалану синтаксисі

Параметрлер

Жоғарыда келтірілген негізгі трансклюзия синтаксисін қосу арқылы кеңейтуге болады параметрлері, олар шаблонның шығуын басқару үшін қолданылады. Бұл үшін синтаксис{{Үлгі атауы|параметр|параметр|...}}қайда Үлгі атауы бұл шаблонның аты және әрқайсысы параметр құрамында тек мән болуы мүмкін (олар деп аталады) атаусыз параметрлер) немесе нысанда болуы мүмкін аты=мәні ( көрсетілген параметрлер). Бірінші, екінші, үшінші және т.б. атаусыз параметрлерге аттар беріледі 1, 2, 3және т.б.

Бос кеңістіктің таңбалары (бос орындар, қойындылар, қайтарулар) басынан және соңынан ажыратылады аталған параметр атаулары мен мәндері, бірақ ортасынан емес: осылайша {{... | myparam = бұл тест}} сияқты әсер етеді {{... | myparam = бұл тест}}. Бұл қолданылмайды атаусыз барлық кеңістік таңбалары сақталатын параметрлер.

Қандай параметрлер (егер бар болса) шаблонға берілуі мүмкін немесе берілуі керек және оларды қалай атауға болады, сол шаблонның кодталуына байланысты. Атаулы параметрлер кез-келген тәртіпте анықталуы мүмкін. Артық немесе дұрыс емес параметрлер еленбейді; анықталмаған параметрлерге әдепкі мәндер тағайындалады. Егер параметр бірнеше рет анықталса, соңғы мән күшіне енеді.

Параметр мәні бос жол болуы мүмкін, мысалы, құбыр немесе оған теңестіру белгісінен кейін келесі құбыр немесе жабу жақшалары келеді. Бұл параметрді мүлдем жіберіп алудан ерекшеленеді, бұл оны анықталмаған күйге қалдырады, дегенмен шаблондар екі жағдайда да бірдей әрекет ету үшін жиі кодталады.

Параметрлер шаблон кодында болмаса да, көрсетілуі мүмкін (және ештеңе жасамайды). Мысалға, | себеп = викисурста шаблонның не үшін қойылғанын қысқаша түсіндіру үшін жалған параметр ретінде жиі қолданылады.[b] Кейбір шаблондар қоңырау шалады Модуль: белгісіз параметрлерді тексеріңіз шаблон кодында ескерілмеген параметр қолданылып жатса, редакторға ескерту жасау; бұл көбіне қолданылады инфобокстар және күрделі параметрлердің көптігі бар басқа шаблондар, мұнда белгісіз біреудің болуы әдейі емес қателік болып табылады. Егер сіз осындай үлгіні жаңа параметрді қосу үшін жаңартсаңыз, оның модульге шақыруы да жаңа параметрді қосу үшін жаңартылуы керек.

Қоңырау шалу

Шаблонға қоңырау шалу а-ға ұқсамайды айнымалы немесе а функциясы бағдарламалау тілінде: оны сілтеме арқылы шақырыңыз, сонда ол мән береді ( шығу). Функциялар сияқты кейбір шаблондар нәтижені өзгертетін параметрлерді қабылдайды.

Жылы MediaWiki, wiki бағдарламалық жасақтамасы Wikipedia пайдаланатын, айнымалылар оларды шаблондардан ерекшелендіретін неғұрлым нақты мағынаға ие, бірақ олардың екеуі екі еселенген жақша {{ }} және олардың екеуі де мән береді.

MediaWiki айнымалы атауларының барлығы бас әріппен берілген, шаблон атаулары бірдей негізгі белгілерге ие және шектеулер барлығы сияқты бет атаулары: олар регистрге сезімтал (бірінші таңбаны қоспағанда); төменгі сызықтар талданды кеңістік ретінде; және оларда осы таңбалардың ешқайсысы болмауы керек: # < > [ ] | { }. Себебі, олар үшін сақталған уики белгілеу және HTML.

The сандық белгі # а деп аталады фрагмент идентификаторы өйткені ол а фрагмент немесе құжат бөлімі (мысалы бөлім Википедия мақаласында). Дегенмен пайдалануға болады шаблон парағының бөліміне сілтеме жасау үшін (мысалы Үлгі: Портал # Мысал), үлгі сілтемесіне фрагменттің идентификаторын немесе фрагменттің атын қоюға ешқандай себеп жоқ. Жылы {{Портал# Орын| Кітаптар}}мысалы, жіп # Орын мақсаты жоқ және осылайша еленбейді.

Ауыстыру

Үлгіні ауыстырған кезде оның мазмұны болады қатты кодталған емес, бетте ауыстырылды. Қалай және қалай екенін білу үшін қашан үлгіні ауыстыру үшін қараңыз Көмек: ауыстыру.

Үлгіні пайдаланудың негізгі мысалдары

Ескерту: Егер сіз осылардың кез-келгенімен тәжірибе жасағыңыз келсе, солардың бірін қолданыңыз шаблон құм жәшігі, Арнайы: Үлкейту немесе сіздің пайдаланушы бетіңіз немесе құм жәшігі.

Өте қарапайым шаблонның үлгісін мына жерден табуға болады Үлгі: Lambda, ол мәтіннің сол нүктесінде лямбда белгісін (λ) орналастыру үшін кеңейеді. Бағдарламашы шаблон деп айтар еді қайтарады лямбда белгісі (λ).

Басыңыз Үлгі: Lambda, содан кейін шаблон кодын (оның викитекстін) көру үшін «Көзді өңдеу» қойындысын нұқыңыз. Деп аталатын сол кодтың «белсенді» бөлігі кеңейту шаблон, бұл жалғыз сөз & лямбда;.[c] Уикитекстің қалдығы арасында орналасқан <жоқ> тегтер, сондықтан ол шаблон бетінде көрсетіледі, бірақ шаблон басқа бетте қолданылғанда (немесе шақырылғанда) көрсетілмейді.

Үлгі: Lambda-ны басқа параққа ауыстыру үшін (яғни оны басқа бетте қолдану үшін) теріңіз {{лямбда}} (немесе {{Ламбда}} - бірінші әріптің жағдайы маңызды емес) мақсатты беттің викитекстінде және басыңыз Алдын ала қарауды көрсету. Парақ шаблон қоңырауы викитекст нақты қамтылғандай, үлгінің кеңеюімен ауыстырылды & лямбда; сол кезде. Көрсетілген бетте «λ» мәтіні болады.

Мысалы, теріңіз Грек алфавитінің 11-әрпі - лямбда ({{лямбда}}) парақты алдын ала қарау кезінде немесе өзгерісті сақтағаннан кейін «грек алфавитінің 11-әрпі - лямбда (λ)» дегенді көресіз. Шаблондарды олардың кодының егжей-тегжейін білмей пайдалануға болады; олардың қандай нәтиже беретінін есте сақтау керек, бұл әдетте шаблон бетінде сипатталады.

Бұл үлгіні пайдаланудың тағы бір тәсілі: ауыстыру бұл. Егер сіз терсеңіз Грек алфавитінің 11-әрпі - лямбда ({{қосалқы: лямбда}}) парақты алдын ала қарап немесе сақтап қойсаңыз, «Грек алфавитінің 11-әрпі - лямбда (λ)» дегенді көресіз. Егер сіз сақталған викитекстке тағы бір қарасаңыз,[d] дегенмен, сіз парақты сақтаған кезде шаблон қоңыраулары шынымен үлгінің кеңеюімен ауыстырылғанын көресіз. Шығарылған мәтін мен шаблон арасындағы байланыс қазір үзіліп қалды, ал келесілерге шаблонның болашақ өзгерістері әсер етпейді (трансклюзия жағдайындағыдай).

Параметрлері бар мысалдар

Параметрлер қабылдайтын шаблонның мысалы - шаблон {{туралы}}. Теріп көріңіз {{туралы | шаблондарды қалай | модульдерді қалай пайдалану туралы | Анықтама: Модуль}} құм жәшігінде келесі мәтін пайда болады:

Үлгі {{туралы}} үшеуін қолданады атаусыз параметрлер Жоғарыда келтірілген мысалда келтірілген (позициялық параметрлер деп те аталады), бірақ сол шаблоны әртүрлі нәтижелер беру үшін әр түрлі параметрлер сандарымен де қолдануға болады. шаблон құжаттамасы. Мысалға, {{about || модульдерді қалай пайдалану керек | Анықтама: Модуль}}. Бос параметрдің қолданылуына назар аударыңыз - бұл жағдайда тізбектелген құбырлар шаблонға «жіберілген» бірінші параметр бос жол екенін білдіреді, ал бұл шаблонда оның алғашқы «туралы» сөйлемі алынып тасталынады. Бұл өндіреді:

Басқа шаблондар, әсіресе күрделірек, аталған параметрлерді немесе атаулы және атаусыздардың қоспасын алады. Қарапайым мысал Үлгі: Төлем матрицасы, 2-ден-2-ге дейін тор жасау үшін қолданылады. Мысалға:

ТүзетуРетінде көрсетеді
{{төлем матрицасы | UL = 5 | UR = 7 | DL = 2 | DR = 9 | Атауы = мысалдың қолданылуы}}
СолДұрыс
Жоғары57
Төмен29
Мысал пайдалану

Қараңыз шаблон беті көбірек мүмкіндіктер үшін. Бұл жерде шаблонның барлық мүмкін параметрлерін анықтамай қолданылатынына назар аударыңыз - анықталмаған параметрлерге әдепкі мәндер беріледі.

Параметрлердің алдындағы және кейінгі тең белгілердің айналасындағы кеңістіктер тек айқындылық үшін қолданылады - олар қажет емес және шаблон бағаланған кезде еленбейді (бірақ бұл атаусыз параметрлерге қатысты емес). Параметр атаулары болып табылады толық регистрге сезімтал; мысалы, ауыстыру мүмкін емес Доктор бірге доктор немесе dR жоғарыдағы мысалда. Үлгіде қолданылмайтын атаулары бар параметрлер жай еленбейді.

Шаблонның бастапқы кодын зерттеу стандартты кесте белгілеуін көрсетеді, бұл параметрлерді көрсететін қосымша үштік жақша нысандары бар:

{| id = «төлем матрицасы» стилі = «өң: ақ; өзгермелі: {{{Қалқымалы | оңға}}}; түсінікті: дұрыс; text-align: center; «align ={{{Қалқымалы | оңға}}} ұяшық аралығы = 0 ұяшық төсемесі = 8 ені ={{{Ені | 225}}}| - | стиль = «ені: 33%;» | | стилі = «ені: 33%; шекара-төменгі жағы: тұтас қара 1px;» | {{{2L | Солға}}}| стилі = «ені: 33%; шекара-төменгі жағы: тұтас қара 1px;» | {{{2R | Дұрыс}}}| - | style = «border-right: тұтас қара 1px; text-align: right;» | {{{1U | Жоғары}}}| style = «border-right: тұтас қара 1px; border-bottom: тұтас қара 1px; фон:{{{ULc | ақ}}}; қаріп өлшемі: 120%; «| {{{UL | 0, 0}}}| style = «border-right: тұтас қара 1px; border-bottom: тұтас қара 1px; фон:{{{URc | ақ}}}; қаріп өлшемі: 120%; «| {{{UR | 0, 0}}}| - | style = «border-right: тұтас қара 1px; text-align: right;» | {{{1D | Төмен}}}| style = «border-right: тұтас қара 1px; border-bottom: тұтас қара 1px; фон:{{{DLc | ақ}}}; қаріп өлшемі: 120%; «| {{{DL | 0, 0}}}| style = «border-right: тұтас қара 1px; border-bottom: тұтас қара 1px; фон:{{{DRc | ақ}}}; қаріп өлшемі: 120%; «| {{{DR | 0, 0}}}| - | style = «қаріп өлшемі: 90%;» colspan = 3 |''{{{Атауы | {{PAGENAME}}}}}''|}

Кәсіп {{{2L | Солға}}} шаблонға аталған параметрді қолдануға нұсқау береді 2L немесе мәтін Сол егер параметр қоңырауда болмаса.

Пайдалану туралы кеңестер мен шешімдер

Үлгілерді пайдалану кезінде келесі жайттарды ескеру қажет болуы мүмкін:

  • Атаусыз параметрде кәдімгі теңдеу белгісі болуы мүмкін емес, себебі бұл параметрді орнату деп түсіндіріледі.[e] Атаусыз параметрдегі теңдік белгісін беру үшін (мысалы, а URL мекен-жайы бірге атрибут-мән жұптары), теңдеу белгісін арнайы шаблонмен ауыстырыңыз {{=}}, ол түсіндірілмейтін теңдік белгісін қайтарады. Тағы бір әдіс - бұл атаусыз параметрді (және кез-келген келесі атаусыз параметрлерді) аталған параметрлермен ауыстыру - бірінші атаусыз параметр аталған параметрге тең |1= және тағы басқа. Шаблонға қоңырау шалу үшін {{жасалды}} бірге a = b бірінші параметрдің әріптік мәні ретінде де теріңіз {{дайын | а {{=}} b}} немесе {{дайын | 1 = a = b}}.
  • Сол сияқты, қарапайым құбыр таңбасын пайдалану мүмкін емес | шаблон параметрлерінде, өйткені ол сепаратор ретінде түсіндіріледі.[f] Бұл жолы мәселені сиқырлы сөз {{!}} құбырдың орнына, немесе - егер құбыр жоғары деңгейде талдануға арналмаған болса, - көмегімен HTML нысаны &#124;. Балама ретінде, ендіруге арналған wikitables шаблондарда қолдануға болады {{Уикипедия}} шамадан тыс болдырмау үшін {{!}}.
  • Бос кеңістіктегі таңбалар (бос орындар, қойындылар, кареткалардың қайтарылуы және жол берілімдері) атаусыз параметрлердің басынан және соңынан бастап автоматты түрде алынып тасталмайтынын ұмытпаңыз. Мұндай таңбаларды (немесе кез-келген басқа көрінбейтін символдарды) қосу кей жағдайда шаблонның мінез-құлқына күтпеген жолмен әсер етуі мүмкін. (Үлгі дизайнерлері қолдана алады {{Бос орын}} қажет емес кеңістікті атаусыз параметрлерден алып тастау.)
  • Құжаттамада және пікірталастарда көбінесе қаралып жатқан шаблонға сілтеме бар шаблон шақыру синтаксисін құру мүмкіндігі ыңғайлы, бірақ шаблонды нақты шақырмай. Мұны. Көмегімен оңай жасауға болады {{тл}} шаблон («ткүшейту лсия «шаблон). Мысалы, {{tl | Мысал}} шығарады {{Мысал}}. Бірнеше басқа шаблондарды байланыстыратын шаблондар әр түрлі функционалдық мүмкіндіктері бар.
  • Шаблон өзгертілген кезде (шаблон немесе оның субтемплянттарының бірі өңделгенде), өзгеріс шаблон ауыстырылған барлық беттерде көрініс табады. Алайда өзгеріс барлық беттерде бірден көрінбеуі мүмкін; шаблонның алдыңғы нұсқасына негізделген парақтың бұрын кэштелген нұсқасы біраз уақыт көрсетілуі мүмкін. Пайдаланыңыз тазарту шаблондардың соңғы нұсқаларын қолдана отырып, бетті көрсетуге мәжбүр ететін функция, оның ішінде шаблон бетінде, егер ол пайдалану мысалдары болса.
  • Беттердің ескі нұсқаларын қараған кезде, шаблондар қазіргі кездегідей аударылатынын ұмытпаңыз, ескі парақтың нұсқасы белсенді болған кездегідей емес.
  • Үлгі көшірілген барлық беттерді тізімдеу үшін пайдаланыңыз Мұнда сілтемелер шаблон бетінде. Бұл болады емес шаблон ауыстырылған беттерді қосыңыз.
  • Параққа ауыстырылған шаблондардың тізімін алу үшін «Өңдеу» батырмасын басыңыз және тізімді өңдеу терезесінің астынан табыңыз. Бұл тізімге сонымен қатар тікелей трансклюзивтелген шаблондар қолданатын субтемплиттер кіреді. Парақтың бөліміне, парақтың ескі нұсқасына осындай тізімді алу үшін,[g] немесе сақтамас бұрын жаңадан редакцияланған нұсқасын басыңыз Алдын ала қарауды көрсету тиісті редакциялау бетінде.
  • Мақалада болуы мүмкін шаблондардың саны мен күрделілігінде шектеулер бар. «Бөлімін қараңыз§ Шектерді кеңейту«осы мәселені шешуге көмектесетін бөлім.
  • Егер шаблон қалсын десеңіз уақыт мөрі немесе қолы, сіз жаза аласыз <noinclude><nowiki></noinclude>~~~~~<noinclude></nowiki></noinclude>, бірақ бұл шаблонды ауыстырған кезде ғана жұмыс істейді. Егер сіз оны ауыстырып тастасаңыз, ~ ~~~~ аласыз.
  • Оқу қабілетін жақсарту үшін, әдетте, бағдарламашылар кодты жаңа жолдармен бөліп, шегініс жасауды ұнатады. Өкінішке орай, MediaWiki бағдарламалық жасақтама бұл функционалдылыққа жол бермейді; көптеген жағдайларда бағдарламалық жасақтама осы мақсатқа арналған жаңа желілерді мазмұн ретінде қарастырады. Мүмкін болатын уақытша шешудің бірі - қосу <!-- әрбір жаңа жолдың таңбасы алдында және --> одан кейін, ол өндіреді HTML түсініктемесі.

Шаблондарды құру және редакциялау

Үлгілер кез-келген басқа парақ сияқты жасалады және өңделеді: сәйкес атын таңдап, сол бетке өтіңіз, содан кейін «Өңдеу» қойындысын нұқыңыз немесе қажет болған жағдайда жаңа бет жасаңыз. Жоғарыда айтылғандай, шаблондар әдетте Үлгі аттары кеңістігідегенмен, жеке пайдалануға немесе экспериментке арналған шаблондарды өзіңіз жасай аласыз пайдаланушы кеңістігі. Қалыпты параққа немесе мақалаға енгізуге болатын кез-келген нәрсені шаблонға, оның ішінде басқа шаблондарға қосуға болады (деп аталады) субтемплеттер). Үлгілер көбінесе бағдарламалау мүмкіндіктерін пайдаланады - параметрлер, талдау функциялары және басқалар сиқырлы сөздер- контекстке байланысты ауыстырылатын мазмұнның өзгеруіне мүмкіндік береді. Сондай-ақ, қай ақпараттың ауысып, қайсысының өтпейтіндігін басқаратын арнайы тегтер де бар.

Үлгіні жасамас бұрын, бар шаблондарды жылдам іздеңіз (мысалы, зерттеу арқылы) Санат: Википедия шаблондары) қазірдің өзінде сіз қалаған нәрсені жасайтын шаблоны немесе кодын көшіруге және өзгертуге (немесе орнында қалдыруға және кеңейтуге) болатын ұқсас шаблон бар-жоғын білу. Жаңа шаблонға негіз бола алатын жалпы шаблондарды іздеңіз; Мысалға, navbox шаблондарды генерикті шақыру арқылы оңай жасауға болады Үлгі: Navbox.

Үлгі үшін қандай атау таңдау керектігі туралы қатаң ереже жоқ - оны қысқа, бірақ ақылға қонымды етіп жасаңыз. Егер ұқсас шаблондар болса, атаудың тұрақты үлгісін ұстануға тырысыңыз. Шаблондардың атауларын өзгертпей өзгертуге болады трансклюзиялар (не деп аталады сыну) қарастырылған қайта бағыттау артында жаңа шаблон атауы қалды.

Қолданыстағы шаблондарды өңдеу кезінде өте абай болыңыз - өзгертулер көптеген беттерге әсер етуі мүмкін, көбінесе сіз күте алмайтын тәсілдермен. Осы себепті көп қолданылатын шаблондар көп қорғалған редакциялауға қарсы әкімшілер және шаблон редакторлары; басқа редакторлар талқылау бетінде өзгертулер ұсына алады. Кейбір үлгілер құм жәшігін және ұсынады сынақ жағдайлары эксперимент үшін.

Қолданылмаған немесе орынсыз шаблондарды немесе оңай біріктіруге болатын шаблондарды жоюды немесе біріктіруді ұсыну үшін мына сілтемеге өтіңіз: Талқылауға арналған шаблондар (TfD).

Параметрлерді өңдеу

Үлгіге берілуі мүмкін параметрлердің мәндері шаблон кодында арасында орналасқан элементтермен ұсынылған үштік жақшалар:

  • Код {{{xxx}}} атауы берілген параметр мәнімен ауыстырылады ххх. бұлар белгілі параметрс.
  • Кодтар {{{1}}}, {{{2}}}және т.с.с бірінші, екінші және т.б. ауыстырылады атаусыз параметр (немесе аталған параметр мәні 1, 2және т.б.); бұлар белгілі позициялық параметрс.

Егер параметрге мән берілмесе, онда ауыстыру болмайды; бұл параметр үшін ешқандай мән берілмесе дегенді білдіреді | ххх =, өрнектің мәні {{{xxx}}} шаблонның ішінде сөзбе-сөз болады {{{xxx}}}, сіз күткен «бос» емес. Әдепкі параметр мәндерін көрсету арқылы интуитивті тәртіпке қол жеткізуге болады. Бұл құбыр синтаксисі: {{{xxx | dflt}}} әдепкі мәнді көрсетеді dflt көрсетілген параметр үшін | ххх =, және {{{1 | dflt}}} әдепкі мәнді көрсетеді dflt бірінші атаусыз параметр үшін. Көбінесе бұл нөлдік әдепкі мәндерді көрсету үшін қолданылады {{{1|}}} немесе {{{xxx |}}}.

Параметрдің бүркеншік аттары - әдепкі мәндердің ерекше жағдайы. Мысалы, егер параметрлер болса |1=, | мәтін =, және хабарлама = бірдей параметрдің атаулары, содан кейін викитекст {{{хабарлама | {{{мәтін | {{{1 |}}}}}}}}} пайдалануға болатын еді. Егер сол параметрлердің біреуі берілген болса, онда хабар басымдыққа ие болады, содан кейін мәтінжәне, сайып келгенде, бірінші атаусыз параметр бойынша. Яғни, егер сол викитексті қамтитын шаблон параметрлерден өтсе | хабарлама = A | мәтін = B, викитекст кеңейеді A.

Екі жақты және үш жақтық синтаксисті бірнеше рет қолданғандықтан, өрнектер кейде екі мағыналы болуы мүмкін. Мұндай түсініксіздікті жою үшін бос орын қосу пайдалы немесе қажет болуы мүмкін. Мысалға, {{{{{xxx}}}}} немесе {{{{{xxx}}}}}, қатарынан бес жақшаны терудің орнына, адамға түсінікті болуы мүмкін. Алайда, үлгінің кеңеюінде қажетсіз бос кеңістіктің пайда болуын қадағалаңыз.

Ерекше жағдай: XML стиліндегі ашылу тегіндегі параметрлер

Олар оралған кезде параметрлер кеңейтілмейді <nowiki> тегтер. Олар нақты көлемде орналастырылған жағдайда да кеңейтілмейді XML-стильді ашу тегі. Осылайша, шаблон ішінде келесілер жұмыс істемейді:

  • <ref name={{{param}}}> Smith, Adam (1776)...</ref>

себебі параметр кеңейтілмеген. Оның орнына сіз {{# тег:}} талдауыш функциясы, мысалы, қолданылады {{sfn}} жасау <ref>...</ref> элемент; қараңыз Анықтама: Сиқырлы сөздер § Пішімдеу. Сондықтан келесі мысал жұмыс істейді:

  • {{#tag: ref | Смит, Адам (1776) ... | аты = {{{param}}}}}

Ескерту: URL мекен-жайларын кеңейту

Егер параметр мәні a болса (немесе аяқталса) URL мекен-жайы, сілтемені басу қате немесе сәтсіздікке әкелуі үшін, URL мекен-жайынан кейін бір немесе бірнеше таңбаға ұлғайған сілтемесі бар Википедияда көрсетілетіндігін тексеріңіз. Бағдарламалық жасақтамамен өңделгеннен кейін жұмсақ кеңістіктің болуын қамтамасыз етіңіз (емес а қатты немесе үзілмейтін кеңістік) URL мекен-жайы бойынша, сіз немесе пайдаланушы URL мекен-жайын бергеніне немесе ол автоматтандырылған өңдеу арқылы жасалғанына қарамастан. Мүмкін, бастапқы кодта өңдеу кезінде жойылатын бос орын болуы немесе шығаруы мүмкін немесе ол жерде бос орын болмауы мүмкін. Бастапқы кодты түзетіңіз, мүмкін URL мекенжайынан кейін жұмсақ кеңістікті көрсетіңіз. The {{кеңістіктер}} шаблон пайдалы болуы мүмкін.

Жүйелік айнымалылар және шартты логика

Үлгі коды жиі сипатталған айнымалылар мен талдаушы функцияларды пайдаланады Көмек: сиқырлы сөздер шаблонның әрекетін қоршаған ортаға (мысалы, ағымдағы уақытқа немесе аттар кеңістігіне) немесе оған берілетін параметр мәндеріне тәуелді ету үшін. Оларды арифметикалық есептеулер үшін де қолдануға болады, бірақ цикл және айнымалы тағайындау сияқты белгілі бір стандартты бағдарламалау мүмкіндіктері жоқ. Толық манипуляциялар да қол жетімді емес; осындай функционалдылықты қамтамасыз ететін кейбір шаблондар жасалды, бірақ олар тиімсіз және жетілмеген.

Кейбір жиі қолданылатын айнымалылар мен функциялар төменде келтірілген. Қосымша ақпаратты қараңыз Көмек: сиқырлы сөздер және MediaWiki беттеріндегі толық құжаттар mw: Анықтама: Сиқырлы сөздер және mw: Анықтама: Кеңейту: ParserFunctions.

Негізгі талдаушы функциясының мысалдары
СипаттамаМәтін енгізілдіНәтиже
Үлкен мәтін{{uc: Аспанға қайыр! }}БЕСТИ КӨКТЕР!
Мәтіннің кіші әріптері{{lc: Аспан БЕТСИ! }}аспанға!
Атаулар кеңістігінің атын алу{{NS: 1}}Әңгіме
Википедия URL мекенжайын алу{{fullurl: pagename}}//en.wikipedia.org/wiki/Pagename

ParserFunctions кеңейтімі бағдарламалауға бағытталған талдаушы функцияларын көбірек ұсынады.

Кеңейтуді талдау функциясының мысалдары
СипаттамаМәтін енгізілдіНәтиже
Екі жолдың (немесе параметрлердің) арасындағы теңдікті тексеру{{#ifeq: иә | иә | Ура ...! | Дарн ...! }}Ура ...!
{{#ifeq: иә | жоқ | Ура ...! | Дарн ...! }}Дарн ...!
Жолда (немесе параметрде) ештеңе жоқтығын тексеру (бос кеңістіктен басқа){{#if: {{{param |}}} | Ура ...! | Дарн ...! }}Дарн ...!
Есептеу жүргізу (математика)
[радиустың шеңберінің ауданы, 4 ондық таңбасына дейін]
{{#expr: (pi * 4 ^ 2) 3-тур}}50.265
Есептеу нәтижесін тексеру
[1230 жұп па, тақ па?]
{{#ifexpr: 1.23E + 3 mod 2 | Тақ | Тіпті}}Тіпті
Жүйелік айнымалылардың мысалдары
СипаттамаМәтін енгізілдіНәтиже (осы анықтама беті үшін)
Бет атаулары{{PAGENAME}}Үлгі
{{FULLPAGENAME}}Анықтама: Үлгі
Ағымдағы аттар кеңістігінің атауы{{NAMESPACE}}Көмектесіңдер
Тіркелген қолданушылар саны{{NUMBEROFUSERS}}40,532,064
Берілген санаттағы парақтар саны{{PAGESINCATEGORY: «Weird Al» Янковичтің альбомдары}}20
Ағымдағы бағдарламалық жасақтама нұсқасы{{CURRENTVERSION}}1.36.0-wmf.21 (d6a6c3b)
Соңғы қайта қарау уақыты{{REVISIONTIMESTAMP}}20201216141344

The {{PAGENAME}} және {{NAMESPACE}} айнымалылар мәнмәтінге негізделген шаблон әрекетін өзгерту үшін өте пайдалы және жиі қолданылады. Мысалы, егер үлгі санат сілтемесін қамтыса (мысалы, бетті тазартуды қажет ететін бет ретінде санаттайтын сілтемені ауыстыратын тазалау шаблондары), ол көбінесе {{NAMESPACE}} сөйлесу беттерінің, пайдаланушы беттерінің немесе кез келген басқа жерде тегтің орналастырылуы мүмкін екендігіне көз жеткізу үшін айнымалы, оларды тазартуды қажет ететін беттер санатына жатқызуға болмайды.

Ұялау шаблондары

Үлгілерде басқа шаблондар болуы мүмкін - бұл әдетте осылай аталады ұя салу. Шаблон өңделген кезде, кез-келген ұяшық шаблоны жасаған викитекст ұя ұясына енеді, осылайша түпкілікті өнім ең терең ендірілген шаблоннан өңделеді. Қолдану өте қарапайым болғанымен, оған назар аударарлықтай қызықтар мен қулықтар жатады.

Параметр мәнін кірістірілген шаблонға жіберу үшін параметр тегін кірістірілген шаблон параметрлерінің біреуінің мәні ретінде орналастырыңыз.

Мысалдар:
Үлгі: A бар «тез қоңыр {{B | {{{3}}}}} секіреді ...» Бұл Template: A үшінші позициялық параметріне берілген мәнді қабылдайды және оны Template: B-тің бірінші позициялық параметрі ретінде береді, содан кейін В жасаған викитекстені фразаның бөлігі ретінде қайтарады.
Үлгі: A бар «жылдам қоңыр {{B | waldo = {{{3}}}}} секіреді ...» Бұрынғыдай, шаблонның үшінші позициялық параметрінен басқа: A шаблонның «waldo» параметріне беріледі: B.

Үлгі параметрлерінің өзін шартты түрде таңдауға болады.

Мысалдар:
Үлгі: A бар жылдам қоңыр {{B | {{{3}}} = түлкі}} секіреді ... Үлгі: A «түлкі» сөзін Template: B атаулы параметрі ретінде жібереді, оның аты А-ның үшінші позициялық параметрі.
{{#if: сынақ жолы | егер сынақ жолы бос болмаса, мән | {{#if: сынақ жолы | егер сынақ жолы бос болмаса, мән | егер сынақ жолы бос болса (немесе бос орын ғана болса) }} }}

Шаблон өзіне қоңырау шала алады, бірақ шексіз циклдың алдын алу үшін бір қайталанғаннан кейін тоқтайды.

Кірістірілген шаблонда сәйкес келмейтін жақшалар болған кезде - сол сияқты {{фунт}}}- сәйкестендірілмеген жақшалар өңдеу кезінде мәтін ретінде қарастырылады және ұя салу шаблонындағы жақшалардың талдануына әсер етпейді. Егер кірістірілген шаблон ауыстырылған болса, онда ауыстыру алдымен өңделеді және бұл болады ұяшық шаблонында жақшалардың қалай талданатынын өзгерту. Мұның практикалық қолдануы аз, бірақ кейде күтпеген қателіктер жіберуі мүмкін.

Қараңыз мета: Анықтама: Кеңейтілген шаблондар және мета: Анықтама: викитекстің рекурсивті түрлендірілуі қосымша ақпарат алу үшін. Сияқты беттерде әдеттен тыс қоңыраулар туралы ақпарат бар {{шаблон {{{параметр |}}}}}.

Инклюзияға бақылау: тек кірмейді, тек қана қосады

Әдепкі бойынша, шаблон болған кезде ауыстырылды (немесе ауыстырылды), шаблон парағының барлық викитекст (код) мақсатты беттің құрамына енеді. Дегенмен, шаблон кодының қай бөліктерін қосу керек екенін көрсететін тегтерді қолдана отырып, бұл әрекетті өзгертуге болады. Бұл шаблон бетінде ғана көрсетуге арналған ақпаратты, мысалы, шаблонның {{сияқты) трансклюзиясын болдырмауға мүмкіндік береді.құжаттама}}, санаттар, және интервики сілтемелері. Сондай-ақ кодтың бөліктерін ауыстыруға болады, бірақ емес шаблон бетінде өңделеді (мысалы, шаблонға қолданылмайтын мақсатты беттерге қолданылатын санаттар). Тегтер келесідей:

  • <жоқ> ... - тегтер арасындағы мәтін болады емес шаблон ауыстырылған (ауыстырылған) кезде қосылады, бірақ болады шаблон парағында өңделеді; жалпыға арналған пайдалану шаблондардағы құжаттама.
  • <тек қосыңыз> ... - Бұл парақта ештеңе жоқ екенін анықтайды қоспағанда тегтер арасында пайда болатын нәрсе ауыстырылады (ауыстырылады).
  • <тек кіреді> ... - тегтер арасындағы мәтін болады ауыстырылған (ауыстырылған), бірақ болады емес шаблонның жеке парағында өңделеді.
ВикитекстНе көрсетіледі Мұнда (бастапқы бет)Не ауыстырылды Ана жерде (тағайындалған бет)
text1 text2мәтін1 мәтін2мәтін2
text1 text2мәтін1 мәтін2мәтін1
text1 text2мәтін2мәтін1 мәтін2
text1 text2мәтін2мәтін1

Мүмкін, осы блоктарды пайдаланудың ең көп тараған мәселесі қажетсіз кеңістіктер немесе сызықтар болуы мүмкін. Бұл тегтердің әсері алдыңғы жолға немесе алдыңғы көрінетін таңбаға емес, бірінші бұрыштық кронштейнге дейін басталатынын есте ұстаған жөн; сол сияқты әсер келесі жолда немесе келесі көрінетін таңбамен емес, соңғы бұрыштық жақшадан кейін бірден аяқталады. Мысалға:

<тек кіреді>
}} <кіреді>
}}
<includeonly>
<жоқ>
}} <кірмейді>
}}
<noinclude>
</includeonly><жоқ>
{{шаблон}}
{{шаблон}}
<noinclude>

Бұл тегтер бір-біріне орналастырылуы мүмкін, дегенмен (берілген бет үшін) бұл шынымен де қолданылады <тек қосыңыз> тег; ұя салу <тек кіреді> және <жоқ> тегтер мағынасыз. Алайда тегтерді дұрыс орналастыру үшін абай болыңыз. Ұқсас құрылыстар <тек қосыңыз>abc<тек кіреді>деф</onlyinclude>гхи</includeonly> болады емес күткендей жұмыс жасау. HTML / XML үшін стандартты «бірінші ашылған, соңғы жабық» ережені қолданыңыз.

Мәселелер мен шешімдер

  • Егер шаблонмен жасалған бірінші таңба немесе талдауыш функциясы вики белгілеудің төрт таңбасының бірі -:, ;, *, #[h]- содан кейін ол шаблон тегі болмаса да, жолдың басындағыдай өңделеді. Бұл шаблондарда әрдайым тізім үшін дұрыс жерде болмауы мүмкін шаблондарда әр түрлі тізімдер жасауға мүмкіндік береді. Бұған жол бермеу үшін не қолданыңыз <nowiki /> белгілеуден бұрын немесе HTML субъектілер &#58;, &#59;, &#42;, және &#35; сәйкесінше. Кейбір жағдайларда HTML нысандары келесі кезде жұмыс істейді <nowiki /> жоқ. Мәселе көбінесе шаблон қоңырауындағы параметр мәні төрт таңбаның біреуінен басталған кезде пайда болады.
  • Шаблондарды ауыстырумен байланысты мәселелер, мысалы, субтемплиттердің ауыстырылатындығын, сондай-ақ ата-аналық шаблонның орнын ауыстырған кезде қалай басқарылатынын біліңіз. Көмек: ауыстыру.
  • Үлгі {{Бос орын}} кез келген бастапқы немесе соңғы бос кеңістікті атаусыз параметрлер мәндерінен алып тастау үшін қолдануға болады, егер бұл қиындық тудырса; аталған параметр мәндері автоматты түрде осылайша алынып тасталады.
  • Шаблондарды жөндеу үшін келесі әдістер пайдалы болады:
    • Пайдаланыңыз қосалқы: шаблонды ауыстырған кезде не болып жатқанын нақтырақ көрсете алатын үлгіні ауыстыру (оны ауыстырғаннан гөрі); қараңыз Көмек: ауыстыру.
    • Пайдаланыңыз msgnw: (қысқаша «мeссаже, nowекі «) өңделген мазмұннан гөрі шаблон парағының викитекстін көп немесе аз аудару үшін. Бұл өте жақсы емес: тізімдер келтіріліп, түсініктемелер алынып тасталады және жаңа жаңа жолдар бос орындармен ауыстырылады (бұл әсіресе викитексті ауыстырған кезде түсініксіз) кестелер).
    • Пайдаланыңыз Арнайы: Үлкейту бір немесе бірнеше шаблондардың толық рекурсивті кеңеюін көру.
  • Сервер ресурстарын қорғау және шексіз циклдарды болдырмау үшін, талдау тереңдетілген трансклюзия ұясына және кеңейтілген шаблондармен парақ өлшеміне белгілі бір шектеулер қояды. Бұл өте күрделі шаблондарды пайдалану кезінде парақтардың бұзылуына әкелуі мүмкін, әсіресе бір бетте осындай шаблондар көп болса. Қосымша ақпарат алу үшін қараңыз Уикипедия: Үлгі шектеулері. Парақтың серверге жалпы жүктелуін параққа арналған HTML-ді қарап, іздеу арқылы тексеруге болады NewPP шегі туралы есеп түсініктемелер.
  • Қолданбаңыз = мақала кеңістігінде қолдануға арналған шаблон ішінде бөлім тақырыптарын жасауға арналған wikimarkup; бұл жасайды [өңдеу] аударылған кезде, өңдеу үшін үлгіні түсініксіз түрде ашатын сілтеме.
    • Сіз аулақ бола аласыз [өңдеу] қосу арқылы шаблонға сілтемелер <includeonly>__NOEDITSECTION__</includeonly>.

Құжаттама

Үлгіні санаттарға бөлу және оның дұрыс қолданылуын құжаттау басқа редакторлардың іздеуін және қолдануын жеңілдетеді.

Пайдаланушыларға арналған құжаттама шаблон санаттарымен бірге шаблон кодынан кейін, әдетте, ішіне орналастырылады <noinclude>...</noinclude> тегтер. Әдетте саңылауды қою керек <noinclude> код аяқталғаннан кейін дереу бос кеңістікті болдырмау үшін бос орындар мен жаңа сызықтарсыз белгілеңіз.

Күрделі шаблондарға қатысты құжаттама (санаттарымен бірге) көбінесе бөлек сақталады ішкі бет шаблон парағының атауы («Үлгі:ХХХ/ doc «). Бұл көпшілікке де қатысты қорғалған шаблондар, бұл ақпаратты администратор емес редакциялауға мүмкіндік береді. Бұл орналастыру арқылы қол жеткізіледі {{Құжаттама}} шаблон негізгі шаблон кодынан кейін және ішінде <noinclude>...</noinclude> тегтер. Егер «/ doc» ішкі беті болмаса, оны жасауға мүмкіндік беретін сілтеме пайда болады.

Санаттарға бөлу

Үлгілерді қосу арқылы беттерді санатқа бөлу

Кейбір үлгілер мақсатты беттерді белгілі бір санаттарға орналастыруға арналғандықтан, олардың кодында санаттар анықтамалары бар. Бұл көбінесе техникалық қызмет көрсету санаттарымен жасалады (мақалаларды қарапайым мазмұн санаттарына орналастыру ұсынылмайды). Мұны жасағанда оны қолдану қажет болуы мүмкін <includeonly>...</includeonly> үлгінің өзін санатқа қоспау үшін тегтер. Санатты қолдануға арналған шаблонды әзірлеу, сынау, құм жәшігінде көрсету немесе көрсету кезінде әр санатты уақыт санатымен ауыстырыңыз ( X1, X2, немесе X3) немесе санаттауды басу (қараңыз) шаблондардағы санатты басу).

Үлгілерді санаттарға бөлу

Санаттар бойынша декларация [[Санат: Кейбір тақырыптық шаблондар]] шаблонның құжаттама бетіне (немесе ішіне) орналастырылуы керек <noinclude>...</noinclude> тегтер егер құжаттамалық парақ болмаса) трансглюзивті беттерді ластамау үшін.

Бүркеншік аттар

Бүркеншік аттарды жасауға болады бағыттаулар. Мысалға, Үлгі: Tsh қайта бағыттаулар Үлгі: Үлгіге сілтеме. Содан кейін жаза аласыз {{тш|ақымақ}} орнына {{Үлгі таңбашасы|ақымақ}}.

Бос кеңістіктегі және бас әріптен ерекшеленетін шаблон бүркеншік аттарын дайындаған дұрыс. Мысалы, шаблон бар {{Уикисөздікті қараңыз}}. «W» - бұл бас әріп, өйткені «Wiktionary» сөзі солай, бірақ қайта бағыттау {{Уикисөздікті қараңыз}} with lower "w" exists because users may type the latter instead.

Үлгі шектеулері

"Post-expand include size" limit. When templates are rendered or expanded to HTML for viewing in your browser, they use memory. This is called the "post-expand include size" and has a limit of 2,048,000 bytes. This size is included as an invisible comment in the HTML output—use your browser's view source feature to show the raw HTML and search for "newpp". The report will look like:

<!--NewPP limit reportPreprocessor node count: 2382/1000000Post-expand include size: 63476/2048000 bytesTemplate argument size: 9517/2048000 bytesExpensive parser function count: 2/500-->

The example shows that template expansion is using 63,476 bytes out of 2,048,000 bytes of available memory.

Display problem. If too many templates are included on a page, the post-expand include size may exceed the limit. When this happens, templates after the limit will no longer expand and will instead display as a wikilink (for example, Үлгі:Template name). Common causes are the inclusion of too many citation templates and/or flag templates. To resolve this problem ауыстыру templates, remove templates, or Сызат the page.

Non-rendered tranclusions still count towards limit. For example, a page which contains only {{#if:{{:Main Page}}}} would still have a post-expand include size even though it would have no output at all.

Дәл осыларға қатысты Scribunto modules. Мысалға, {{#invoke:Test|main}} would still increase post-expand include size even if Module:Test were simply:

mw.getCurrentFrame():preprocess "{{msgnw::Main Page}}" -- remove this line and post-expand include size becomes zeroқайту {негізгі = функциясы() Соңы} -- p.main() has no return value

Lua бағдарламалау тілі

Since February 2013, the Lua бағдарламалау тілі is available for use through the Scribunto MediaWiki extension. Lua code can be embedded into templates by employing the {{#invoke:}} functionality of the Scribunto MediaWiki extension. The Lua бастапқы код is stored in pages called modules, and these individual modules are then invoked on template pages. Мысалға, Module:Example can be invoked using the code {{#invoke:Example|hello}} to print the text "Hello World!".

Template search

As an alternative to using this index linked above, you can search the Template namespace using the Арнайы: іздеу box below:

Сондай-ақ қараңыз

Анықтама беттеріManual pagesАрнайы беттерOther pages not for direct viewing

Ескертулер

  1. ^ Namespaces from which transclusion is not allowed are specified on a wiki by the variable $wgNonincludableNamespaces.
  2. ^ Some templates, such as {{Requested move}}, have code to display | себеп = as visible output; whether to do so is determined on a template-by-template basis.
  3. ^ & лямбда; болып табылады HTML таңбасы for the Greek letter (λ).
  4. ^ Since the new wikitext itself needs to be reviewed, and new wikitext itself cannot be previewed during source editing, previewing the page will not illustrate the result of the template substitution in the wikitext.
  5. ^ This does not apply if the equals sign comes within another template call or other item which the parser handles separately.
  6. ^ Again, this does not apply if it comes within another separately parsed item, such as a piped wikilink.
  7. ^ For an old version, the subtemplate tree will be constructed according to the templates' current state.
  8. ^ These are defined in the doBlockLevels function of Parser.php.