Не работает, не знаю что делать =(
Не появляется картинка на соответствующую оценку.
Картинку не удалял. В коде не копался.
Причём, что странно: в детальном описании всё работает, но картинка от другого стиля.
Не работает, не знаю что делать =(
Не появляется картинка на соответствующую оценку.
Картинку не удалял. В коде не копался.
Причём, что странно: в детальном описании всё работает, но картинка от другого стиля.
Если бы мы ко всему прочему были бы ещё и экстрасенсами, то с удовольствием попробовали бы Вам помочь Какая версия магазина? Какой шаблон стоит? Из какого шаблона показывается рейтинг?
Последний раз редактировалось Leer; 24.08.2009 в 22:58.
Могу предположить на 99%, что у Вас скрипт установлен из дистрибутива скаченного с офсайта разработчиков месяца так 2 назад... Уже как-то разбирали такой случай + был патч. Если у Вас дистрибутив 3.6 "не первой свежести" (иногда обновляется по нескольку раз в месяц, в зависимости от выходящих патчей), то ищите и устанавливайте патч или, если проект не рабочий, а тестовый, переустановите из более "свежей" версии дистрибутива.
В русской локализованной версии Viart Shop так же всё показывается корректно при соответствующих настройках.
Поставил патчи, но не помогло =(
Патчи:
3-6-09 Patch for error shown when you click 'rate it' option
Block Products List is updated and a few bugs fixed for products list
3-23-09 The Patch for va_functions.php file
Кусок кода block_product_list.php,
________________________________
if ($reviews_allowed_view == 1 || ($reviews_allowed_view == 2 && strlen($user_id))
|| $reviews_allowed_post == 1 || ($reviews_allowed_post == 2 && strlen($user_id)))
{
$votes = $db->f("votes");
print_r($votes);
$points = $db->f("points");
print_r($points);
$rating_float = $votes ? round($points / $votes, 2) : 0;
$rating_int = round($rating_float, 0);
if ($rating_int)
{
$rating_alt = $rating_float;
$rating_image = "rating-" . $rating_int;
}
else
{
$rating_alt = RATE_IT_BUTTON;
$rating_image = "not-rated";
}
$t->set_var("rating_image", $rating_image);
$t->set_var("rating_alt", $rating_alt);
$t->sparse("reviews", false);
}
__________________________________________________
на print_r($votes); и print_r($points); пишет "0"
Последний раз редактировалось Leer; 25.08.2009 в 12:38.
Немного потерпите - делаем новые шаблоны - на дивах, с семантической версткой и по всем стандартам
Если это рабочий проект, попробуйте локально поставить последнюю версию скрипта и попробовать. Если вы уверены, что не правились файлы шаблонов и прочие, которые могут быть связаны с этой функцией, то получается, что дело в БД, возможно, произошла какая-то ошибка при первоначальной установке, или, как было в моей практике, какой-то файл был "потерян".
Можно тогда задать вопрос по синтаксису php?
Почему если вставить код в block_product_list.php в районе 958 строки:
$sql= " SELECT COUNT(*) FROM " . $table_prefix . "reviews WHERE approved=1 AND item_id=" . $db->tosql($item_id, INTEGER);
print_r($sql);
$votes = get_db_value($sql);
print_r($votes);
в списке товаров выводится только один товар. Т.е. прекращается дальше выполняться пхп?
print_r($votes); - пишет 2... так и должно быть...
Причём если закоментить $votes = get_db_value($sql); то всё нормально работает, но print_r($sql); выдаёт sql запрос.
Последний раз редактировалось Leer; 25.08.2009 в 21:31.
По поводу основного вопроса. Странно, но не могу найти тему на форуме, хотя точно помню, что я её создавал и там же рассказал, как такое решается.
Надо вносить изменения в базу через phpMyAdmin.
Если не пугает, то постараюсь вспомнить, что и как
PS Вопрос, куда делась тема с обсуждением?
А по поводу вопросов по php и sql может отдельный раздел сделать?
Тема в результатах поиска почему-то не находится, но по ссылке можно ее найти.
У меня та же проблема - в списке товаров рейтинг отображается только у товаров, у которых он был проставлен на версии 3.5, на детальной странице товара рейтинг отображается нормально. Изменение таблицы va_items мне не помогло. Но случайно, обнаружил, что это связано с настройками отзывов. Если в настройках отзывов включена проверка отзывов администратором, то после одобрения администратором отзыва обновляется рейтинг только на детальной странице. Если разрешено публиковать отзывы без проверки автоматически, то рейтинг тогда проставляется и отображается нормально и в списке товаров и на детальной странице.
Не находится потому, что это не тема форума, а тема проекта.
Так я тогда тоже смотрел, что там такое, так вот, на самом деле тот рейтинг, что на детальной странице и тот, что в списке это РАЗНЫЕ рейтинги, зачем это так сделано непонятно, но факт остается фактом. Один из рейтингов берется из таблицы товаров, а второй из таблицы отзывов. Так, что если поставить патчь, то те рейтинги которые были проставлены до патча и не должны появиться, т.к. патч только исправляет занесение изменений.
---------- Добавлено в 20:52 ---------- Предыдущее сообщение было написано в 20:29 ----------
А что вы хотите сделать этим куском кода? А скрипт прекращает работу по одной простой причине, вы сбиваете выборку. Если полистать наверх, то поймёте, что вы находитесь внутри цикла, а для организации цикла используется глобальная переменная $db и эта-же переменная используется в функции get_db_value() и тоже глобальную.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)
Социальные закладки