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

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Прошу помощи спецов! Это просто какая-то засада и бред!

На хостинге не работает сортировка товаров в VirtueMart. Причем перестает сортировать, как только у названий товаров совпадают символы 1-10 включительно. Т.е. два товара с именами "12345678901" и "12345678902" уже не сортируются на хостинге. А товары с именами "1234567891" и "1234567892" ещё сортируются.
Полтергейст в том, что локально на денвере точная копия сайта - нормально сортируются имена товаров любой длины.

Уже всё перелопатил. У меня даже нет вариантов в сторону чего смотреть. >:(

VirtueMart 1.1.5
Joomla 1.5.21

Буду благодарен любым идеям и мыслям!
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
да действительно, полтергейст.а чпу включено?а товары так реально и называются  - "12345678901" - или это как пример, а товары из русских букав?а в базе нормально все отображается?

вот че-то есть подозрение, что дело в кодировках
« Последнее редактирование: 07.12.2010, 00:39:04 от Diiimonn »
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
ЧПУ включено. Попробовал отключать - ничего не меняется.
Да, имена специально такие числовые завел, чтобы отбросить возможные проблемы из-за русских букв.
В базе всё нормально с кодировкой.
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
а попробуйте без нуля но 11 чисел

хотя не гоню, короче спать пора уже  ^-^
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Не поможет.

Вот живьем моя проблема:
http://magazin-tut.by/magazin/category/26/avariynie-prinadlegnosti/gileti

Порядок этих имен уже не меняется:
12345678991
12345678992

А эти ещё сортируются:
1234567891
1234567892
« Последнее редактирование: 07.12.2010, 00:54:57 от cinemax »
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Кто силен в MySQL?
эта фраза может быть как-то связана с моей проблемой?
"Istr индексирует только первые 10 символов"
http://www.sql.ru/Forum/actualthread.aspx?bid=6&tid=132701&hl=
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Оказалось всё гораздо хуже. VirtueMart и Joomla ни при чём.

Для демонстрации проблемы создал в базе таблицу bak_vm_product с четырьмя тестовыми строками.

Делаю выборку с сортировкой:
SELECT *
FROM `bak_vm_product`
ORDER BY `bak_vm_product`.`product_name` ASC

Получаю:
1234567891
1234567892
12345678992
12345678991

Т.е. поле product_name сортируется неверно - только по первым 10 символам.
Анализ запроса показывает параметр: Using filesort - возможно дело в его настройках?

Локально делаю ту же операцию на денвере, всё сортируется нормально:
1234567891
1234567892
12345678991
12345678992

Кто-нибудь может помочь?
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
для наглядности добавь еще значений:
1234567891
1234567892
1234567894
1234567897
12345678991
12345678992
12345678994
12345678997
а параметры полей идентичные?(text,int,...)

--
я конечно не спец, но вдвоем все ж веселее)

кстати, посмотрел у себя, нормально все сортируется(хотя вообще сортировку по названиям за ненадобностью не использую), но у меня j 1.0 + vm 1.1.3

есть еще вариант попробовать на другом хосте потестить, мож с мускулом у них чето
« Последнее редактирование: 07.12.2010, 13:30:09 от Diiimonn »
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
-- Structure`bak_vm_product`
CREATE TABLE IF NOT EXISTS `bak_vm_product` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `product_name` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`product_id`),
  KEY `idx_product_name` (`product_name`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='All products are stored here.' AUTO_INCREMENT=12 ;

-- Dump table `bak_vm_product`
INSERT INTO `bak_vm_product` (`product_id`, `product_name`) VALUES
(7, '12345678992'),
(3, '1234567891'),
(6, '12345678991'),
(5, '1234567892'),
(8, '12345678997'),
(9, '12345678994'),
(10, '1234567897'),
(11, '1234567894');



SELECT *
FROM `bak_vm_product`
ORDER BY `bak_vm_product`.`product_name` ASC

1234567891
1234567892
1234567894
1234567897
12345678992
12345678991
12345678997
12345678994



SELECT *
FROM `bak_vm_product`
ORDER BY `bak_vm_product`.`product_name` DESC

12345678992
12345678991
12345678997
12345678994
1234567897
1234567894
1234567892
1234567891
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
ток что сортирнул у себя -  все норм
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Локально и у меня всё нормально. А вот у хостера проблема :(((

Платформа:    Linux vh36.hoster.by 2.6.18-294.17.1.el5.lve0.7.40 #1 SMP Sat Oct 9 17:58:50 EEST 2010 x86_64
Версия MySQL:    5.1.49-rel11.3
Сравнение БД:    utf8_general_ci
Версия PHP:    5.2.14
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
не не локально, на своем действующем арендном хосте,
    * Версия MySQL-клиента: 5.0.45


SELECT *
FROM `bak_vm_product`
ORDER BY `bak_vm_product`.`product_name` ASC

product_id  product_name
   3    1234567891
   5    1234567892
   11    1234567894
   10    1234567897
   6    12345678991
   7    12345678992
   9    12345678994
   8    12345678997

так что бей бубен хостеру ;D
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Спасибо!

Значит дело в hoster.by Написал о проблеме хостеру.
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Ответ хостера просто отличный:
Цитировать
День добрый.
Это не баг, это настройка, и у нас стоит не 10 а 20 первых символов.
И мы не используем версию с mysql.com.
Увеличили до 30.

Спасибо за то, что обратились к нам!



Поскольку у таблицы кодировка utf8, один символ занимает 2 байта.
20 байт как раз равны 10 символам обычного текста. Выходит что при такой настройке нет возможности сортировать товары по наименованиям.
Как это можно называть "настройкой" когда происходит неправильная сортировка? Это ведь никак не проконтролируешь. Он что-то отсортирует, а что-то нет.

И как быть в этой ситуации?
*

Diiimonn

  • Захожу иногда
  • 234
  • 29 / 0
тебе решать, можно извратиться и сделать какнить сортировку средствами php, а можно поменять хостинг, а еще можно вырубить сортировку по названиям, или пусть увеличат лимит до 100 скажем
Создание расширений для Joomla
Skype: diiimonn
ICQ: 351181332
*

cinemax

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Есть ли возможность увеличить хотя бы до 100? (50 символов в utf8)?
Цитировать
Добрый день!

К сожалению нет. Такие ограничения у нас указаны в Приложении №1 к Публичному договору.

--
С уважением,
Личко Игорь Станиславович
Начальник службы технической поддержки
Белорусский портал TUT.BY | HOSTER.BY

Отличные ребята.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart 1.1.4 и https дополнительные фото товаров

Автор Sergey1984

Ответов: 0
Просмотров: 353
Последний ответ 23.10.2018, 19:58:44
от Sergey1984
JComments + VirtueMart (решение проблемы рейтинга товаров)

Автор Oleksii

Ответов: 9
Просмотров: 2546
Последний ответ 13.09.2018, 23:26:17
от bgg87
Сортировка в админке VirtueMart

Автор r_sosnovskiy

Ответов: 2
Просмотров: 376
Последний ответ 20.05.2018, 23:56:05
от r_sosnovskiy
VMExport YML - Компонент для управления экспортом товаров из VirtueMart 1.1.x на Яндекс.Маркет

Автор jeka5555

Ответов: 5
Просмотров: 3011
Последний ответ 02.07.2017, 21:25:46
от vipiusss
VirtueMart каталог не показывает все категории товаров

Автор vasyun

Ответов: 1
Просмотров: 550
Последний ответ 14.06.2017, 20:30:51
от vasyun