Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 1184 Просмотров
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Столкнулся с такой задачей: выводить оценки фотографиям в тултипе (при наведении на рейтинг) не до сотых (2 знака после запятой) а до тысячных или более.
Дотошные пользователи попросили для фотоконкурса)))
Полвечера убил пока разобрался, где это править.
Если кому пригодится, делюсь, чтобы хоть людям время сэкономить)

Файл components/com_joomgallery/helpers/helper.php
Там в конце функция public static function getSQLRatingClause($tablealias = '')

В ней в 4 местах нужно поправить выделенные числа на нужное вам значение точности после запятой:

--------------------------------------------------
// Standard rating clause
    $clause = 'ROUND(LEAST(IF(imgvotes > 0, '.$imgvotesum.'/'.$imgvotes.', 0.0), '.(float)$maxvoting.'), 2)';

    // Advanced (weigthed) rating clause (Bayes)
    if($config->get('jg_ratingcalctype') == 1)
    {
      if(!$avgdone)
      {
        // Needed values for weighted rating calculation
        $query = $db->getQuery(true)
              ->select('count(*) As imgcount')
              ->select('SUM(imgvotes) As sumimgvotes')
              ->select('SUM(imgvotesum/imgvotes) As sumimgratings')
              ->from(_JOOM_TABLE_IMAGES)
              ->where('imgvotes > 0');
        $db->setQuery($query);

        $row = $db->loadObject();
        if($row != null)
        {
          if($row->imgcount > 0)
          {
            $avgimgvote   = round($row->sumimgvotes / $row->imgcount, 2 );
            $avgimgrating = round($row->sumimgratings / $row->imgcount, 2);
            $avgdone      = true;
          }
        }
      }
      if($avgdone)
      {
        $clause = 'ROUND(LEAST(IF(imgvotes > 0, (('.$avgimgvote.'*'.$avgimgrating.') + '.$imgvotesum.') / ('.$avgimgvote.' + '.$imgvotes.'), 0.0), '.(float)$maxvoting.'), 2)';
--------------------------------------------------

Но это ещё не всё! )))
Чтобы жизнь мёдом не казалась, разработчики ещё включили указание точности в языковой файл)
Идём в language/ru-RU/ru-RU.com_joomgallery.ini
В нём ищем строчку с COM_JOOMGALLERY_COMMON_RATING_TIPTEXT_VAR (или нечто похожее - в зависимости от версии).
И там меняем значение точности, выделенное цветом:

COM_JOOMGALLERY_COMMON_RATING_TIPTEXT_VAR="%1$.2f (%2$d голосов)"

При этом если просто увеличить в языковом файле, не трогая helper, то так, как надо, работать, естественно, не будет.
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

После обновления до JoomGallery 3.6 некорректно работает водяной знак

Автор Maffo

Ответов: 3
Просмотров: 1174
Последний ответ 23.08.2022, 06:21:58
от marksetter
JoomGallery 1.5.6.3 – блокировка повторного голосования - IP+cookie(обновлено) - Решение №2 (плагин)

Автор SDKiller

Ответов: 48
Просмотров: 16948
Последний ответ 11.08.2018, 22:03:14
от pH43
После изменения шаблона растянутые фото

Автор irina_2016

Ответов: 2
Просмотров: 1474
Последний ответ 12.12.2016, 00:01:00
от irina_2016
После установки JoomGallery на Joomla 2.5 вылетает множественная ошибка

Автор intedant

Ответов: 0
Просмотров: 1281
Последний ответ 11.01.2016, 05:18:05
от intedant
После подключения JoomGallery отвалился JQuery

Автор multiscripter

Ответов: 0
Просмотров: 1083
Последний ответ 13.05.2015, 22:31:34
от multiscripter