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

AHTEPO

  • Захожу иногда
  • 60
  • 5 / 0
Добре друзья!
Нашёл такую ошибку в 2.0.20: при настройке "Порядок сортировки по умолчанию: Цена" в карточке любого товара вылазит ошибка:
Цитировать
vmError: getNeighborProducts Unknown column 'product_price' in 'order clause' SQL=SELECT `l`.`virtuemart_product_id`, `l`.`product_name` FROM `jm_virtuemart_products` as `p` JOIN `jm_virtuemart_products_ru_ru` as `l` using (`virtuemart_product_id`) JOIN `jm_virtuemart_product_categories` as `pc` using (`virtuemart_product_id`)   LEFT JOIN `jm_virtuemart_product_shoppergroups` as `psgr` on (`psgr`.`virtuemart_product_id`=`l`.`virtuemart_product_id`)   WHERE `virtuemart_category_id` = 16 and `slug` < "название товара" AND ( psgr.`virtuemart_shoppergroup_id`= "2" OR psgr.`virtuemart_shoppergroup_id` IS NULL ) AND p.`published`= 1 ORDER BY product_price DESC LIMIT 0,1

vmError: getNeighborProducts Unknown column 'product_price' in 'order clause' SQL=SELECT `l`.`virtuemart_product_id`, `l`.`product_name` FROM `jm_virtuemart_products` as `p` JOIN `jm_virtuemart_products_ru_ru` as `l` using (`virtuemart_product_id`) JOIN `jm_virtuemart_product_categories` as `pc` using (`virtuemart_product_id`)   LEFT JOIN `jm_virtuemart_product_shoppergroups` as `psgr` on (`psgr`.`virtuemart_product_id`=`l`.`virtuemart_product_id`)   WHERE `virtuemart_category_id` = 16 and `slug` > "название товара" AND ( psgr.`virtuemart_shoppergroup_id`= "2" OR psgr.`virtuemart_shoppergroup_id` IS NULL ) AND p.`published`= 1 ORDER BY product_price ASC LIMIT 0,1

Кто-нить встречал такое?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В вашем запросе нет столбца "product_price", которрый, насколько я помню, находится в таблице "#__virtuemart_product_prices".
Не будь паразитом, сделай что-нибудь самостоятельно!
*

AHTEPO

  • Захожу иногда
  • 60
  • 5 / 0
И как бороться с этой ошибкой? Нашёл ряд сообщений в Google, она проскальзывает у обновившихся на 2.0.20
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Обновите до 2.0.20b.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

AHTEPO

  • Захожу иногда
  • 60
  • 5 / 0
Именно в ней эта ошибка и вылезла...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Странно, у меня та же версия и нет вашей проблемы. Специально проверил administrator\components\com_virtuemart\models\product.php, все на месте
стр.385-388
Код: php-brief
case 'product_price':
//$filters[] = 'p.`virtuemart_product_id` = p.`virtuemart_product_id`';
$orderBy = ' ORDER BY `product_price` ';
$joinPrice = TRUE;
стр.462-464
Код: php-brief
if ($joinPrice == TRUE) {
$joinedTables .= ' LEFT JOIN `#__virtuemart_product_prices` as pp ON p.`virtuemart_product_id` = pp.`virtuemart_product_id` ';
}
Не будь паразитом, сделай что-нибудь самостоятельно!
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Добрый день!

Подобная проблема, может уже кто разрешал её.
VirtueMart 3.0.9
Применил сортировку по цене, потом решил открыть карточку товара и получил страницу со следующей ошибкой:
Цитировать
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Фукс" на натуральном камне" ORDER BY product_price ASC LI' at line 1 SQL=SELECT p.`virtuemart_product_id`, `l`.`product_name` FROM `ytgb1_virtuemart_products` as p INNER JOIN `ytgb1_virtuemart_products_ru_ru` as l using (`virtuemart_product_id`) LEFT JOIN `ytgb1_virtuemart_product_shoppergroups` as ps ON p.`virtuemart_product_id` = `ps`.`virtuemart_product_id` LEFT JOIN `ytgb1_virtuemart_product_categories` as pc ON p.`virtuemart_product_id` = `pc`.`virtuemart_product_id` LEFT JOIN `ytgb1_virtuemart_product_prices` as pp ON p.`virtuemart_product_id` = pp.`virtuemart_product_id`
WHERE ( `pc`.`virtuemart_category_id` = 2 AND ( `ps`.`virtuemart_shoppergroup_id`= "1" OR `ps`.`virtuemart_shoppergroup_id` IS NULL ) AND p.`published`="1" ) AND p.`virtuemart_product_id`!="4011" AND product_price >= "Статуэтка "Фукс" на натуральном камне" ORDER BY product_price ASC LIMIT 1
как видно выражение product_price >= "Статуэтка "Фукс" совсем не к месту в построенном запросе.
Кто-нибудь сталкивался, почему так происходит?

Чтобы исправить ошибку вы должны открыть \administrator\components\com_virtuemart\models\product.php и в public function getNeighborProducts
перед кодом:
Код
foreach ($neighbors as &$neighbor) {
вставить код:
Код
            if($whereorderByName=="product_price")
                foreach($product->allPrices as $key=>$value){
                    if($value['virtuemart_shoppergroup_id'] == Х ) {
                        $orderByValue = $value['product_price'];
                        break;
                    }
                }
где Х - это требуемое значение shoppergroup_id для искомой цены
« Последнее редактирование: 08.07.2015, 16:14:45 от borro »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Код
Странно, у меня та же версия и нет вашей проблемы. 
А вполне нормально что может и не быть такой ошибки...
Это скорее всего там стоит модуль который переопределяет некоторые методы в модели product...
По отключайте все модули и смотрите на каком вылетит ошибка тот и виноват....

Скорее все либо mod под старую версию или под более новую... (что мало вероятно...)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка: "JFolder: :delete: Путь ведёт не к каталогу." во время обновления VM

Автор Igoritaly

Ответов: 7
Просмотров: 2053
Последний ответ 22.06.2021, 15:46:54
от АлексейНиколаев
Ошибка 1054 при оформлении заказа

Автор phoenix85

Ответов: 9
Просмотров: 1912
Последний ответ 28.04.2018, 21:52:23
от Director.Gq
Ошибка Our suggested path is for your system 'Y:\home\estate\vmfiles\'.

Автор RazarioAgro

Ответов: 3
Просмотров: 4767
Последний ответ 27.07.2017, 16:34:27
от Вадим888
В админке обрезанная страница товара без CSS, полей и кнопок

Автор Ivan_Af

Ответов: 1
Просмотров: 1151
Последний ответ 04.04.2017, 01:29:53
от gartes
VM 3.018 Не показывает цены в карточке товара и корзине

Автор horstmann

Ответов: 3
Просмотров: 1224
Последний ответ 26.12.2016, 17:19:20
от gartes