Joomla: исправление отображения количества статей |
|
Написал microsin
|
10.01.2008 |
При отображении списка категорий статей "не по-русски" выводится количество статей в категории - применятеся вместо слова "статья" в нужном падеже всегда одно и то же слово "элементы".
Например:
- HTML ( 36 элементы )
Кое-что по веб-дизайну.
- AVR ( 19 элементы )
С чего начать, примеры, советы по программированию.
- MSC51 ( 4 элементы )
Примеры применения микроконтроллеров семейства MCS51 с исходниками.
- PC ( 31 элементы )
Программирование для IBM PC, решение проблем, советы (...)
Проблема заключается в слишком простом коде отображения количества статей - не анализируется последняя цифра количества и не подставляется в зависимости от её значения нужный падеж (36 статей, 1 статья и т. д.), а также слово "элементы" тупо берется из константы _CHECKED_IN_ITEMS, определенной в файле language/russian.php. Исправить ошибку довольно просто - добавляем в файл components/com_content/content.html.php следующий код:
<?php
...
function PrintRusNumArticles ($num)
{
$remainder = $num % 100;
if (($remainder>=11)&&($remainder<=14))
{
return $num.' статей';
}
$remainder = $num % 10;
switch ($remainder)
{
case 0:
case 5:
case 6:
case 7:
case 8:
case 9:
return $num.' статей';
break;
case 1: return $num.' статья';
break;
case 2:
case 3:
case 4:
return $num.' статьи';
break;
}
}
...
<i>( <?php echo /*$row->numitems; echo _CHECKED_IN_ITEMS*/PrintRusNumArticles($row->numitems);?> )</i>
...
Функция PrintRusNumArticles возвращает корректно слово "статья" в нужном падеже в зависимости от количества статей (достаточно проанализировать последнюю цифру количества, для чего используется деление по модулю 10). Потом в том месте, где выводилась константа _CHECKED_IN_ITEMS, вставляется вызов функции PrintRusNumArticles. Теперь количество статей отображатся правильно:
- HTML ( 36 статей )
Кое-что по веб-дизайну.
- AVR ( 19 статей )
С чего начать, примеры, советы по программированию.
- MSC51 ( 4 статьи )
Примеры применения микроконтроллеров семейства MCS51 с исходниками.
- PC ( 31 статья )
Программирование для IBM PC, решение проблем, советы (...)
|
Последнее обновление ( 29.01.2010 )
|
Комментарии
2010-01-2901:59:09 В Joomla 1.5.15 я не смог найти файлов, которые здесь указаны. Часть такого кода через поиск по файлам тоже не нашел. Подскажите, где-то есть сейчас.
microsin: у меня, к сожалению, Joomla версии 1.0.12, и я не могу указать новые имена файлов. Неудивительно, что файлы кода теперь называются по-другому. Совет - ищите файлы не по именам, а по содержимому в них (ищите операторы кода, который отображает количество статей). Наверняка сам код изменился незначительно.