Privacy Policy Cookie Policy Terms and Conditions Обсуждение шаблона:Ifdef — Википедия

Обсуждение шаблона:Ifdef

Материал из Википедии — свободной энциклопедии

Условный шаблон {{ifdef}}:

{{ifdef|выражение1|выражение2}}

Значением шаблона будет выражение2, если выражение1 - не пустая строка. В противном случае шаблон возвратит пустую строку.

Содержание

[править] Примеры

{{ifdef | | привет, ''Мир!!!''}}
ВНИМАНИЕ!
Шаблон ifdef устарел и не больше не используется. Вместо него надо использовать функции парсера.
 {{ifdef | здесь есть текст | привет, ''Мир!!!''}}
ВНИМАНИЕ!
Шаблон ifdef устарел и не больше не используется. Вместо него надо использовать функции парсера.

gruzd 08:22, 9 декабря 2005 (UTC)

[править] Ограничения

выражение1 и выражение2 не должны включать в себя в нераскрытом виде символы «=» и «|». Если необходимо использовать символ «=», лучше взять Шаблон:Qif. Maxim Razin 11:31, 11 февраля 2006 (UTC)


[править] Дефект в реализации

Нужно заменить на {{switch|1={{{1|}}}|case: {{{1}}}={{{2}}}| case: =}}, иначе шаблон работает неверно, если первый параметр содержит знак равенства: {{ifdef|1=a=b|2=show this}} вычисляется в «

ВНИМАНИЕ!
Шаблон ifdef устарел и не больше не используется. Вместо него надо использовать функции парсера.

», а должен в «show this». — doublep 17:44, 7 января 2006 (UTC)

Кроме того, |case: = можно вообще убрать, случай по умолчанию и без того пустая строка. — doublep 17:45, 7 января 2006 (UTC)
Заменил --ajvol 20:48, 7 января 2006 (UTC)
Это не работает, я (как и автор) не учёл, что case: {{{1}}}={{{2}}} разворачивается, например, в «case: a=b=show this», и в итоге опять ничего не получается из-за неправильного названия параметра. Новое предложение: переделать через Шаблон:qif{{qif|test={{{1|}}}|then={{{2|}}}}}. — doublep 21:45, 7 января 2006 (UTC)
Подожди секунду - твой вариант создаёт лишний уровень раскрытия шаблонов, а конструкция {{ifdef|1=a=b|2=show this}} всё равно никуда не годится. Лучше задокументировать ограничение, что внутри параметров не должно быть символа '=' (а иначе рекомендовать пользоваться qif). Maxim Razin 22:20, 7 января 2006 (UTC)
Что значит «никуда не годится»? Имеется в виду, что «a=b» вылезло из раскрытия другого шаблона. Не надо ограничений в таких низкоуровневых шаблонах, ты их потом в жизни не отследишь, когда начнутся глюки в чём нибудь вроде Шаблон:Страна. Если не нравится лиший уровень, можно скопировать qif cюда и прооптимизировать для пустого параметра else. (Кстати, почему «qif», а не просто «if»?) — doublep 22:35, 7 января 2006 (UTC)
Ответ себе: у англичан есть и qif и if, с другой функциональностью, так что лучше ничего не переименовывать. — doublep 11:33, 8 января 2006 (UTC)

Может вообще удалить этот шаблон и рекомендовать использовать Qif? Например, в английской вике нет такого шаблона. --ajvol 11:22, 8 января 2006 (UTC)

Думаю, лучше оставить. Он уже используется и в нём не надо указывать имена параметров (хотя это и может приводить к глюкам при наличии знаков равенства в значениях…). Давай заменим реализацию на {{{1{{{1|}}}|{{{2|}}}}}}. — doublep 11:32, 8 января 2006 (UTC)
Надо было сразу предложить писать шаблоны на лиспе :) --ajvol 10:00, 9 января 2006 (UTC)
Ага, я был бы не против :). — doublep 10:14, 9 января 2006 (UTC)
Вроде нормально теперь? --ajvol 10:02, 9 января 2006 (UTC)
Да, похоже теперь всё в порядке. — doublep 10:14, 9 января 2006 (UTC)

[править] Как такое сделать у себя

Хороший шаблон, только в своей (локальной версии) не понимаю куда и что писать для создания шабона (ведь это не обычный шаблон)? Понимаю что вопрос задавать не сюда, но тогда куда? --Allexander 14:42, 13 января 2006 (UTC)

Поддерживаю вопрос, мне тоже интересно как такое сделать. --Phoenix 14:10, 10 февраля 2006 (UTC)

[править] Почему не получается?

Я попробовал вставить в Шаблон:Город Франции, но почему-то ничего не показывается, даже когда параметр есть. Что такое? --PlatypeanArchcow 03:52, 10 февраля 2006 (UTC)

ifdef почему-то работает только в самых простых случаях, лучше пользоваться qif. А сложные части желательно выносить в отдельные подшаблоны. Посмотрите, как сделан Шаблон:Станция метрополитена. Maxim Razin 00:03, 11 февраля 2006 (UTC)
Разобрался - в параметрах не должно быть символа "=", иначе они воспринимаются как ключевые. Maxim Razin 11:26, 11 февраля 2006 (UTC)
 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu