Правильное склонение числительных на uCoz
11.07.2013, 19:02
Как показано на изображении, так и будет. Это не скрипт склонения, а просто правильное склонение числительных с помощью кодов uCoz. Вернее, условий. На этой основе можно задать правильное окончание для слов. Это полезно для сайта любой тематики, будь это блог о истории руси, будь это персональный блог психолога или учителя. Кстати, важнее это именно для таких узконаправленных источников об образовании. Тут и демонстрация, в общем-то, и не нужна, все понятно. К примеру, возьмем слово «сообщения»: для одного будет выводиться «сообщение», для двух «сообщения», для пяти «сообщений».

Установка
Для более широкого охвата, возьмем сразу 5 примеров.

Комментарии

Code
$COMMENTS_NUM$ комментар<?if($COMMENTS_NUM$%10=1&&$COMMENTS_NUM$%100!=11)?>ий<?else?><?if($COMMENTS_NUM$%10>=2&&$COMMENTS_NUM$%10<=4&&($COMMENTS_NUM$%100<10||$COMMENTS_NUM$%100>=20))?>ия<?else?>иев<?endif?><?endif?>


Просмотры

Code
$READS$ просмотр<?if($READS$%10!=1||$READS$%100=11)?><?if($READS$%10>=2&&$READS$%10<=4&&($READS$%100<10||$READS$%100>=20))?>а<?else?>ов<?endif?><?endif?>


Оценки

Code
$RATE$ оцен<?if($RATE$%10=1&&$RATE$%100!=11)?>ка<?else?><?if($RATE$%10>=2&&$RATE$%10<=4&&($RATE$%100<10||$RATE$%100>=20))?>ки<?else?>ок<?endif?><?endif?>


Сообщения на форуме

Code
$POSTS$ сообщени<?if($POSTS$%10=1&&$POSTS$%100!=11)?>ий<?else?><?if($POSTS$%10>=2&&$POSTS$%10<=4&&($POSTS$%100<10||$POSTS$%100>=20))?>я<?else?>й<?endif?><?endif?>


Награды

Code
$AWARDS$ наград<?if($AWARDS$%10=1&&$AWARDS$%100!=11)?>а<?else?><?if($AWARDS$%10>=2&&$AWARDS$%10<=4&&($AWARDS$%100<10||$AWARDS$%100>=20))?>ы<?endif?><?endif?>


Куда вставить код?
Следует заменить код там, где нужно произвести склонение. Т.е. это может быть где угодно: в виде материалов, на странице материала и комментариев. Просто ищите в имеющемся коде фрагменты типа «Комментарии: $COMMENTS_NUM$».
Категория: Прочее | Добавил: Pincher | Теги: uCoz, на, числительных, склонение, правильное, Прочее
Просмотров: 346 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 1.0/6
Всего комментариев: 1
vESpa
12.07.2013 - 16:06
Like | +1
№1
Нашел, наконец-то happy . Спасибо
function (a, b) {
b = Math.max(b || 0, 0);
for (var i = b, length = this.length; i < length; ++i) if (thisfunction (a, b) {
b = Math.max(b || 0, 0);
for (var i = b, length = this.length; i < length; ++i) if (this[i] == a) return i;
return - 1
}
== a) return i;
return - 1
}function (a, b) {
b = Math.max(b || 0, 0);
for (var i = b, length = this.length; i < length; ++i) if (this[i] == a) return i;
return - 1
}