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

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Артикул состоит из букв и цифр. Пример: К10

Нужно сортировать как по цифре. То есть, чтоб сначала шло К3, К4, К5... К39, К40   а не K39, К4, К40...

Подумываю, что, при указании сортировки нужно бы удалить сначала все буквы, и потом уже сортировать. Но что-то у меня какая-то чушь получается.В файле user_config.php делаю примерно так...

Код: php
$sortean = 'product_ean';
$sortean = preg_replace("/[^0-9]/", '', $sortean);
$sortean = $sortean + 0;
$config->sorting_products_field_select = array(
    1=>'(prod.extra_field_1 + 0)',
    2=>'name',
3=>'prod.product_price',
4=> $sortean

И получаю чушь полную... :(
« Последнее редактирование: 25.05.2017, 13:05:26 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

effrit

  • Группа развития
  • 7564
  • 819
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #1 : 25.05.2017, 13:03:09 »
так если буквы разные, то их удаление хаос создаст ).
если буква - одна, то проще, наверно, заменить её на её код * 10000 и прибавить к нему (числовым сложением, а не строковым) остальную числовую часть.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #2 : 25.05.2017, 13:06:58 »
Буквы в каждой категории одни и те же. Например - куклы продаем - буква К. Бетон - буква Б. Ладно со способом - почему мой не работает?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

effrit

  • Группа развития
  • 7564
  • 819
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #3 : 25.05.2017, 13:11:07 »
а, ну тогда проще.
но что вот это такое тогда?
Код
$sortean = 'product_ean';
$sortean = preg_replace("/[^0-9]/", '', $sortean);

ты в строке "product_ean" ищешь цифры, их там явно нет, даже близорукий я это вижу :)
*

dmitry_stas

  • Профи
  • 10004
  • 948
Re: Настройка сортировки по артикулу
« Ответ #4 : 25.05.2017, 13:16:10 »
Цитировать
(prod.extra_field_1 + 0)
это не будет работать. это работает только если одни цифры. а буква всегда одна, и она всегда есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #5 : 25.05.2017, 13:26:12 »
dmitry_stas, этот характеристика, мы сейчас не про нее. Мы про product_ean

ты в строке "product_ean" ищешь цифры, их там явно нет, даже близорукий я это вижу :)

Ты видишь суслика?))) А он есть)
Мы сортируем не по этой строке, а по ее значению. Которое и соответствует артикулу.
« Последнее редактирование: 25.05.2017, 13:33:56 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #7 : 25.05.2017, 13:34:53 »
echo $sortean;
даст строку product_ean, а не значение переменно $product_ean
Воот я дуууура... счас
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #8 : 25.05.2017, 13:45:27 »
Нет, все равно не работает(

Антон, там через джумшоппинговские функции идет передача переменной, поэтому и получается непонятно что. В оригинале там

Код: php
$config->sorting_products_field_select = array(
    1=>'(prod.extra_field_1 + 0)',
    2=>'name',
    3=>'prod.product_price',
    4=>'product_ean'

и все работает
« Последнее редактирование: 25.05.2017, 13:49:36 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 10004
  • 948
Re: Настройка сортировки по артикулу
« Ответ #9 : 25.05.2017, 13:47:50 »
ну так... а что толку что-то делать с product_ean до запроса? :) вопрос прежний :) буква всегда одна, и она всегда есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #10 : 25.05.2017, 13:49:01 »
буква всегда одна, и она всегда есть?
Есть ли - будем исходить из ответа "Неизвестно заранее", буквы точно разные в разных категориях
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 10004
  • 948
Re: Настройка сортировки по артикулу
« Ответ #11 : 25.05.2017, 13:55:21 »
ну если неизвестно заранее, то попробуй

Код
4=>'LENGTH(product_ean),product_ean'
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #13 : 25.05.2017, 14:19:24 »
Дим, твое сработало. Это что за LENGHT такой? Рассказывай как пашет.

Антон, чем-то ты ее невкусным кормишь)

Спойлер
[свернуть]
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

effrit

  • Группа развития
  • 7564
  • 819
  • effrit.com
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #15 : 25.05.2017, 14:40:56 »
А кто тебе сказал, что буква будет только одна?))
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 10004
  • 948
Re: Настройка сортировки по артикулу
« Ответ #16 : 25.05.2017, 15:09:34 »
Это что за LENGHT такой? Рассказывай как пашет.
количество символов в строке. указываем 2 сортировки, сначала сортируется по длине строки, затем по алфавиту.

тогда вот так может сработать, наверно )
Код
4=>'SUBSTR(product_ean, 2)'
да, если знать что буква 1, и она всегда есть :) тогда этот вариант лучше, немного быстрее будет. хотя конечно на 1К, или даже на 10К товаров это будет незаметно. только надо будет к числу все равно привести
Код
4=>'SUBSTR(product_ean, 2) + 0'
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #17 : 25.05.2017, 17:00:26 »
Круто... До двойной сортировки я бы не додумалась(

LENGHT это стандартная функция php? Что-то я ее не нашла в справочниках...

И еще - сначала я делала вот так

Код: php
4=>'preg_replace("/[^0-9]/", 'product_ean') + 0'

Почему не сработало?
« Последнее редактирование: 25.05.2017, 17:03:31 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

effrit

  • Группа развития
  • 7564
  • 819
  • effrit.com
Re: Настройка сортировки по артикулу
« Ответ #18 : 25.05.2017, 17:08:29 »
эта функция передает параметры для MySQL, так что сюда можно только для неё синтаксис писать. регулярок по дефолту MySQL не поддерживает.
так что гугли "MySQL LENGHT"
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Настройка сортировки по артикулу
« Ответ #19 : 25.05.2017, 17:44:40 »
Дошло, пасиб)
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 10004
  • 948
Re: Настройка сортировки по артикулу
« Ответ #20 : 25.05.2017, 18:13:01 »
эта функция передает параметры для MySQL, так что сюда можно только для неё синтаксис писать. регулярок по дефолту MySQL не поддерживает.
угу угу. так и есть. можем только MySQL командами выкручиваться. которые как верно подмечено не знают что такое регулярки. хотя может оно и к лучшему :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройка отображения поиска

Автор Remake

Ответов: 1
Просмотров: 941
Последний ответ 30.07.2012, 12:48:22
от nevigen