Joomla: исправление отображения количества статей |
|
Добавил(а) microsin
|
При отображении списка категорий статей "не по-русски" выводится количество статей в категории - применяется вместо слова "статья" в нужном падеже всегда одно и то же слово "элементы".
Например:
- 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, решение проблем, советы (...)
|
Комментарии
microsin: у меня, к сожалению, Joomla версии 1.0.12, и я не могу указать новые имена файлов. Неудивительно, что файлы кода теперь называются по-другому. Совет - ищите файлы не по именам, а по содержимому в них (ищите операторы кода, который отображает количество статей). Наверняка сам код изменился незначительно.
RSS лента комментариев этой записи