форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Друзья, вопрос не существенный, но очень хочется преодолеть реальность желанием и сделать не просто хорошо, а очень хорошо )
Стандартный txp:comments_count выводит бездушную цифру: количество комментариев. ОЧень хочется сделать такую схему:
Если комментариев нет: так и пишем «нет комментариев»,
но 1 комментарий / 2 комментария / 5 комментариев . Т.е., правильное, человеческое окончание, чтобы русский язык оставался русским, а не языком роботов. ) По идее txp:variable name может помочь с решением, но я в голове не могу представить как это описать и заставить работать.
Ещё очень важно, чтобы при любых числах окончание оставалось правильным, их всего 3 получается. Если X1 — комментарий, если Х2 / Х3 / Х4 — комментария, всё, что больше — комментариев.
Неактивен
а 21, 31, 41...?
Неактивен
я так и написал, если X1 — комментарий
Неактивен
Плагин типа описанного для даты. $thisarticle[comments_count ] - число комментариев. При разборе сначала обработать 0, хх11-хх19, а потом по последней цифре.
Неактивен
Ну вот я такой написал побыстряку, поэтому помощи в нём нет.
# Name: act_plural v0.1 # Type: Client side plugin # Правильное множественное число для русского языка # Author: AngryCAT # URL: http://angrycat.info # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMDp7czo0OiJuYW1lIjtzOjEwOiJhY3RfcGx1cmFsIjtzOjY6ImF1dGhvciI7czo4OiJB bmdyeUNBVCI7czoxMDoiYXV0aG9yX3VyaSI7czoyMDoiaHR0cDovL2FuZ3J5Y2F0LmluZm8i O3M6NzoidmVyc2lvbiI7czozOiIwLjEiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjkzOiLQn9GA 0LDQstC40LvRjNC90L7QtSDQvNC90L7QttC10YHRgtCy0LXQvdC90L7QtSDRh9C40YHQu9C+ INC00LvRjyDRgNGD0YHRgdC60L7Qs9C+INGP0LfRi9C60LAiO3M6NDoiY29kZSI7czo0MjA6 ImZ1bmN0aW9uIGFjdF9wbHVyYWwoJGF0dHMpew0KCQ0KCWV4dHJhY3QobEF0dHMoYXJyYXko DQoJCSduJyA9PiAnJywgLy8g0LrQvtC70LjRh9C10YHRgtCy0L4NCgkJJ2Zvcm0xJyA9PiAn JywgLy/Qv9C40YHRjNC80L4NCgkJJ2Zvcm0yJyA9PiAnJywgLy/Qv9C40YHRjNC80LANCgkJ J2Zvcm01JyA9PiAnJyAvL9C/0LjRgdC10LwNCgkpLCAkYXR0cykpOw0KCQ0KICAgICRuID0g KGludCkkbjsNCiAgICAkbiA9IGFicygkbikgJSAxMDA7IA0KICAgICRuMSA9ICRuICUgMTA7 IA0KICAgIGlmICgkbiA+IDEwICYmICRuIDwgMjApIHJldHVybiAkZm9ybTU7IA0KICAgIGlm ICgkbjEgPiAxICYmICRuMSA8IDUpIHJldHVybiAkZm9ybTI7IA0KICAgIGlmICgkbjEgPT0g MSkgcmV0dXJuICRmb3JtMTsgDQogICAgcmV0dXJuICRmb3JtNTsgCQ0KfSI7czo0OiJ0eXBl IjtzOjE6IjAiO3M6NToib3JkZXIiO3M6MToiNSI7czo0OiJoZWxwIjtiOjA7czozOiJtZDUi O3M6MzI6ImE2MTIzMTU5YzFlNTU2ZDliMzAzNThiNjQzMjcwZjBlIjt9
Пользоваться элементарно
<txp:act_plural n="Сюда передаём число" form1="Комментарий" form2="Комментария" form5="Комментариев" />
Неактивен
работает как надо, спасибо AngryCAT
Неактивен