Обсуждение Википедии:Функции парсера
Арифметические действия над таблицами или переменными
правитьА можно ли теперь производить арифметические действия над таблицами или переменными? Например, чтобы во всяких сложных таблицах с цифрами автоматом считалось бы "итого". Или, например, чтобы при изменении переменной с численностью населения страны автоматом менялась бы плотность населения? --Ctac (Стас Козловский) 19:43, 15 апреля 2006 (UTC)
- Эти функции можно использовать в шаблонах и в выражениях можно использоать параметры шаблона. Если среди параметров шаблона есть численность населения и площадь страны, то можно посчитать плотность населения. --SergV 19:57, 15 апреля 2006 (UTC)
- Классно! Вроде бы работает:--Ctac (Стас Козловский) 20:21, 15 апреля 2006 (UTC)
Десятичная точка
правитьОбычная проблема с точкой и запятой. Интересно, можно как-нибудь исправить? --SergV 12:35, 16 апреля 2006 (UTC)
- Боюсь, что никак. :( Надо писать разработчику. --Ctac (Стас Козловский) 14:54, 16 апреля 2006 (UTC)
Н-да, вот ещё: {{#expr: 1000000000000}}
= 1000000000000. Ох уж эти программисты! :). В общем, пользоваться можно, но осторожно. И либо пинать автора, либо делать шаблоны для форматирования результата. --SergV 19:46, 16 апреля 2006 (UTC)
rand
правитьrand не работает (уже?), на английской странице его тоже нет… — *** 05:18, 7 августа 2006 (UTC)
- Функция rand входит не в расширение Parser Functions, а в m:Dynamic Functions, притом сильно ломает кэширование страниц. Есть не очень хороший аналог — шаблон {{rand2}}. Ed 06:45, 7 августа 2006 (UTC)
- Там «Expression error: unrecognised punctuation character „[“». Да и производить вычисления с NUMBEROFARTICLES что-то не получается по той же причине. — *** 10:03, 7 августа 2006 (UTC)
- Сорри, исправил (там есть специальная запись {{NUMBEROFARTICLES:R}}, которая ранее записывалась через вертикальную черту вместо двоеточия — число статей без разделителя). Ed 11:01, 7 августа 2006 (UTC)
- Там «Expression error: unrecognised punctuation character „[“». Да и производить вычисления с NUMBEROFARTICLES что-то не получается по той же причине. — *** 10:03, 7 августа 2006 (UTC)
#time
правитьС товарищами делаем свой вики-ресурс. Скачали файлы Expr.php и ParserFunctions.php. Все функции работали нормально, но с #time страница вообще не выводилась. Попробовал в своей вики на локальном компе, где установлен вывод ошибок. После вставки #time PHP грязно выругался:
Warning: ExtParserFunctions::time(C:\Apache2\wiki\extensions\ParserFunctions/SprintfDateCompat.php) [<a href='function.time'>function.time</a>]: failed to open stream: No such file or directory in C:\Apache2\wiki\extensions\ParserFunctions\ParserFunctions.php on line 138
Fatal error: ExtParserFunctions::time() [<a href='function.require'>function.require</a>]: Failed opening required 'C:\Apache2\wiki\extensions\ParserFunctions/SprintfDateCompat.php' (include_path='C:\Apache2\wiki;C:\Apache2\wiki/includes;C:\Apache2\wiki/languages;.;C:\php5\pear') in C:\Apache2\wiki\extensions\ParserFunctions\ParserFunctions.php on line 138
Пошел по сслыке, где предлагают посмотреть древо кода, увидел там этот SprintfDateCompat.php, скачал, все заработало.
Поэтому рекомендую добавить этот файл к списку нужных для установки функций
// Libach 19:35, 29 сентября 2006 (UTC)
Аргумент "time"
правитьНужно дополнить статью информацией о том, в каком формате следует задавать аргумент "time". --MMH 20:02, 27 июня 2015 (UTC)
Падежи названий месяцев
правитьЭта собака выдает мне на
{{ #time: m | 20070101 10:00}}
вместо "январь" - "января"
Эта собака выдает мне на
{{ #time: m | 20070101}}
вместо "январь" - "декабрь"
Они слышали о наших падежах?
\\Wintik
Не работает Оператор #if
правитьПодскажите, пожалуйста, почему у меня на чужом вики-проекте работает эта конструкция в шаблоне, а у меня не работает?:
{| class="infobox" | '''Таблица''' {{#if:{{{место|}}}| '''Место:''' {{{место|}}}}}
у меня вместо результата выполнения шаблона на странице печатается исходный код шаблона. Sarmat6687 21:13, 8 мая 2011 (UTC)
Таблица в аргументах
правитьНеужели нет способа заэскейпить знаки | при передаче таблицы аргументом шаблона, и её всегда нужно переделывать в теги? А при передачи шаблона с аргументами аргументом другого шаблона скобки нормально воспринимаются, и вертикальная черта не рвёт вложенное обращение к шаблону? Может, это баг, а не фича? --Nashev 13:33, 10 апреля 2012 (UTC)
- К сожалению, пока такова техническая реализация этих функций. Возможно в более свежих версиях ПО это как-то и исправят, но пока все пользуются таким способом - вертикальную черту заменяют на шаблон {{!}}, который адекватно воспринимается функциями парсера, но при формировании страницы движком MediaWiki раскрывается в вертикальную черту, формирующую таблицу. Dmitry89 14:00, 10 апреля 2012 (UTC)
- Поддерживаю. Давно пора менять! Ядерный Трамвай 11:10, 15 июля 2015 (UTC)
#time по русски не работает
правитьРусский месяц на вход не принимает ни в каком падеже, даже с конкретным указанием рус. локали:
{{#time:j xg Y|14 июня 2015}}
выдаёт: Ошибка: неправильное время{{#time:j xg Y|14 июня 2015|ru}}
выдаёт: Ошибка: неправильное время{{#time:j F Y|14 июнь 2015|ru}}
выдаёт: Ошибка: неправильное время
Выдача русская если на вход дать месяц на англ. Но по нерусски в рунете никто не пишет:
{{#time:j xg Y|14 june 2015|ru}}
выдаёт: 14 июня 2015{{#time:j F Y|14 june 2015|ru}}
выдаёт: 14 июня 2015
Написал на багтрэкере. Сомнения, что исправят в ближайшие годы. --Vladis13 11:51, 14 ноября 2015 (UTC)
- «Аргумент
time
принимает дату в форматегггг-мм-чч
, гдегггг
— год,мм
— номер месяца,чч
— число месяца. Если аргументtime
не задан, то используется текущее время и дата». --MMH 12:01, 14 ноября 2015 (UTC) - Также мною было замечено, что
#time
нормально принимает дату в форматечч.мм.гггг
(код:{{#time:j xg Y|14.06.2015|ru}}
, результат: 14 июня 2015). О том, что дату можно задавать в указанном Вами формате не знал. Спасибо за информацию. --MMH 12:08, 14 ноября 2015 (UTC)- На багтрекере ответили, что #time как и тождественная функция Lua, является обёрткой PHP функции, и принимает только месяцы на английски языке. Функцию можно использовать для конвертации числового ввода в буквенный русский. Для конвертации словесного можно дополнить Модуль:Dates функцией парсящией строку. --Vladis13 19:22, 16 ноября 2015 (UTC)
Актуальность
править@Загребин Илья, привет :)
- Почему так будет удобнее? У нас тут устаревшая и неверная инфа.
- Если ее сохраняете, можете тогда и ее поддержкой заняться, проверить на актуальность и поправить?
С уважением, Iniquity 13:33, 27 мая 2022 (UTC)
- Iniquity, можете удалять, но я скопирую в ЛП. Просто, здесь описываются базовые функции парсера и к ним легко перейти. В Медиавики описаны все функции парсера, переменные и так далее. Чтобы найти нужную инструкцию по применению в Медиавики нужно перерыть половину той огромной страницы, где они описаны. Загребин Илья(обсуждение) 14:01, 27 мая 2022 (UTC)
- @Загребин Илья, я сейчас глянул, там же по идее такой же порядок как и тут? Просто немного другое оформление? С уважением, Iniquity 14:05, 27 мая 2022 (UTC)
- Iniquity, можете отменять мою правку. Если так удобно только мне, то я сохраню это у себя в ЛП. Загребин Илья(обсуждение) 14:07, 27 мая 2022 (UTC)
- @Загребин Илья, я как раз хочу понять почему вам так удобнее. Может стоит некоторые функции тут сохранить в малом объеме или отдельно для каждой редирект сделать. С уважением, Iniquity 14:08, 27 мая 2022 (UTC)
- Iniquity, по-моему, здесь нужно оставить информацию только о базовых функциях. Для остальных можно перенаправление сделать. Загребин Илья(обсуждение) 14:11, 27 мая 2022 (UTC)
- @Загребин Илья, они все базовые, вы про какие именно?:) С уважением, Iniquity 14:12, 27 мая 2022 (UTC)
- Iniquity, по-моему, здесь нужно оставить информацию только о базовых функциях. Для остальных можно перенаправление сделать. Загребин Илья(обсуждение) 14:11, 27 мая 2022 (UTC)
- @Загребин Илья, я как раз хочу понять почему вам так удобнее. Может стоит некоторые функции тут сохранить в малом объеме или отдельно для каждой редирект сделать. С уважением, Iniquity 14:08, 27 мая 2022 (UTC)
- Iniquity, можете отменять мою правку. Если так удобно только мне, то я сохраню это у себя в ЛП. Загребин Илья(обсуждение) 14:07, 27 мая 2022 (UTC)
- @Загребин Илья, я сейчас глянул, там же по идее такой же порядок как и тут? Просто немного другое оформление? С уважением, Iniquity 14:05, 27 мая 2022 (UTC)
- #expr
- #if
- #ifeq
- #ifexist
- #ifexpr
- #switch
- Остальные, вроде бы, используются реже. Загребин Илья(обсуждение) 14:17, 27 мая 2022 (UTC)
- @MMH, добрый день! Если вы возвращаете устаревший текст, можете, пожалуйста, его актуализировать? Iniquity (обс.) 12:15, 3 ноября 2022 (UTC)
- Чем Вам не нравится этот? Я им пользуюсь — всё работает. — MMH (обс.) 08:43, 4 ноября 2022 (UTC)
- Если, например, взять
#expr
, то нет информации об ошибках, неочевидная информация про булеву алгебру, нет информации про одиночные значения. И это только про#expr
. Iniquity (обс.) 15:11, 4 ноября 2022 (UTC)
- То, что информация не полная, не повод удалять её вообще. Удалять следует только ошибки. А не полную информацию можно дополнять. Для ссылок на более полную информацию сужществует шаблон {{main}}. — MMH (обс.) 09:22, 6 ноября 2022 (UTC)
- Информацию никто не удаляет, она есть в развернутом виде в mw:Help:Extension:ParserFunctions/ru Iniquity (обс.) 14:12, 6 ноября 2022 (UTC)
- Вы именно удаляете. МедиВики - это другой ресурс. — MMH (обс.) 06:14, 9 ноября 2022 (UTC)
- @MMH И что? mediawiki.org — ресурс, располагающийся на серверах Фонда Викимедиа, также как и Википедия. Есть консенсусная практика переноса или перенаправления содержимого Википедии в более подходящие проекты Викимедиа (Викисловарь, Викисклад или вот mediawiki.org). У mediawiki.org есть активное сообщество, которое следит за актуальностью основных справок и руководств, включая это. Лучшим решением представляется именно давать ссылку на страницу mediawiki.org. С уважением, DecabristM (обс.) 09:46, 21 ноября 2022 (UTC)
- Вы именно удаляете. МедиВики - это другой ресурс. — MMH (обс.) 06:14, 9 ноября 2022 (UTC)
- Второй момент, учитывая что эта страница не обновлялась от 6 до 10 лет, у вас есть ресурсы её проверить и точно заявить, что все работает? Iniquity (обс.) 14:13, 6 ноября 2022 (UTC)
- Почему я должен что-то проверять? Вам нужно - Вы и проверяйте. Вы удаляете чужую работу, потому что Вам так захотелось, и ещё возмущаетесь. У Вас есть ресурсы проверить все статьи Википедии и удостовериться, что в них нет ложной информации? — MMH (обс.) 06:14, 9 ноября 2022 (UTC)
- 1) Проверять вы ничего не должны, но тогда и не препятствуйте тому, чтобы перенаправлять участников на актуальную справку в более подходящем проекте. Пространство Википедии не предназначено для того, чтобы размещать здесь over 9000000 справок по технической части на все случаи жизни, потому что 99% из этого применимо ко всем сайтам на MediaWiki. Сообщество одного проекта, даже такого большого, как Википедия, скорее всего не сможет всё это поддерживать в актуальном состоянии. Поэтому существует проект mediawiki.org, который объединяет сообщество всех пользователей MediaWiki, а не только одной вики.
2) «Вы удаляете чужую работу» — когда это кого-то в Википедии волновало... На ВП:КУ могут запросто удалить даже интересную статью, на которую автор потратил уйму времени. Здесь в принципе нет чужих работ. С уважением, DecabristM (обс.) 10:05, 21 ноября 2022 (UTC)
- 1) Проверять вы ничего не должны, но тогда и не препятствуйте тому, чтобы перенаправлять участников на актуальную справку в более подходящем проекте. Пространство Википедии не предназначено для того, чтобы размещать здесь over 9000000 справок по технической части на все случаи жизни, потому что 99% из этого применимо ко всем сайтам на MediaWiki. Сообщество одного проекта, даже такого большого, как Википедия, скорее всего не сможет всё это поддерживать в актуальном состоянии. Поэтому существует проект mediawiki.org, который объединяет сообщество всех пользователей MediaWiki, а не только одной вики.
- Ну вот и удаляйте через ВП:КУ, а так это вандализм. Нет консенсуса. — MMH (обс.) 12:52, 21 ноября 2022 (UTC);
- 1) ВП:КУ предназначена для обсуждения удаления страниц (техническое действие, на которое уполномочены подводящие итоги и администраторы), а не удаления части содержимого страниц. Не надо это путать.
2) Пожалуйста, не жонглируйте вики-терминами, такими как ВП:Вандализм и ВП:Консенсус. Удаление устаревшего и неподходящего для Википедии контента с перенаправлением на подходящий проект с аналогичным содержанием вандализмом не является (и я считаю, что это именно тот случай). И консенсуса нет, потому что спорим только мы и Iniquity с вами. Чтоб был консенсус, надо либо что одна из сторон согласилась с другой, либо обратить внимание других людей на это обсуждение. С уважением, DecabristM (обс.) 21:26, 21 ноября 2022 (UTC)- Почти полное удаление содержания справки [1] [2] почти равнозначно её полному удалению. — MMH (обс.) 10:47, 22 ноября 2022 (UTC)
- 1) ВП:КУ предназначена для обсуждения удаления страниц (техническое действие, на которое уполномочены подводящие итоги и администраторы), а не удаления части содержимого страниц. Не надо это путать.
- Она актуальная, просто не полная. Если замечу ошибки - исправлю. Про шаблон {{main}} я вам уже писал. — MMH (обс.) 13:00, 21 ноября 2022 (UTC)
- Что мешает вам пользоваться уже актуальной и полной справкой mediawiki.org? Чего в справке MediaWiki нету такого, что есть в этой? Мне правда интересно это. Я пока что не понимаю причин, почему вы отказываетесь от mediawiki.org. С уважением, DecabristM (обс.) 21:31, 21 ноября 2022 (UTC)
- Эта справка удобна именно своим малым объёмом. Как верно заметил участник Загребин Илья: «здесь описываются базовые функции парсера и к ним легко перейти. В Медиавики описаны все функции парсера, переменные и так далее. Чтобы найти нужную инструкцию по применению в Медиавики нужно перерыть половину той огромной страницы, где они описаны». — MMH (обс.) 10:38, 22 ноября 2022 (UTC)
- Если участник знает, какую функцию он ищет, он просто перейдет к нужному разделу через оглавление. Здесь нет никаких проблем у справки mediawiki.org. Если не знает, то в справках mediawiki.org он с более высокой вероятностью найдет то, что он ищет, чем в устаревшей справке здесь. С уважением, DecabristM (обс.) 06:35, 23 ноября 2022 (UTC)
- Эта справка удобна именно своим малым объёмом. Как верно заметил участник Загребин Илья: «здесь описываются базовые функции парсера и к ним легко перейти. В Медиавики описаны все функции парсера, переменные и так далее. Чтобы найти нужную инструкцию по применению в Медиавики нужно перерыть половину той огромной страницы, где они описаны». — MMH (обс.) 10:38, 22 ноября 2022 (UTC)
- Что мешает вам пользоваться уже актуальной и полной справкой mediawiki.org? Чего в справке MediaWiki нету такого, что есть в этой? Мне правда интересно это. Я пока что не понимаю причин, почему вы отказываетесь от mediawiki.org. С уважением, DecabristM (обс.) 21:31, 21 ноября 2022 (UTC)
- Ну вот и удаляйте через ВП:КУ, а так это вандализм. Нет консенсуса. — MMH (обс.) 12:52, 21 ноября 2022 (UTC);
- Почему я должен что-то проверять? Вам нужно - Вы и проверяйте. Вы удаляете чужую работу, потому что Вам так захотелось, и ещё возмущаетесь. У Вас есть ресурсы проверить все статьи Википедии и удостовериться, что в них нет ложной информации? — MMH (обс.) 06:14, 9 ноября 2022 (UTC)
- То, что информация не полная, не повод удалять её вообще. Удалять следует только ошибки. А не полную информацию можно дополнять. Для ссылок на более полную информацию сужществует шаблон {{main}}. — MMH (обс.) 09:22, 6 ноября 2022 (UTC)
- Если, например, взять
- Чем Вам не нравится этот? Я им пользуюсь — всё работает. — MMH (обс.) 08:43, 4 ноября 2022 (UTC)