снипет для сортировки товаров

Есть товары, у которых alias — числовое значение, оно же и служит для порядка сортировки, но проблема в том, что этот алиас считывает как строку и сортировка не правильна. как можно это победить?

как вариант, было предложения через запрос в БД
SELECT
CAST(modx_site_content.alias AS UNSIGNED) AS alias
  , 
  modx_ms2_products.id
FROM
  modx_ms2_products
  LEFT JOIN
  modx_site_content
  ON 
    modx_ms2_products.id = modx_site_content.id
  ORDER BY alias DESC
но как это сделать через снипет, например? или лучше другие варианты?
alexandr.skyrda
10 марта 2023, 14:12
modx.pro
501
0

Комментарии: 6

    alexandr.skyrda
    10 марта 2023, 20:36
    0
    не совсем понимаю, как это из этого сделать снипет и как в итоге использовать его для сортировки?
      Алексей Смирнов
      10 марта 2023, 22:04
      0
      зачем вам сниппет? Точнее есть же msProduct сниппет, просто задать верную сортировку для alias.
        alexandr.skyrda
        11 марта 2023, 01:10
        0
        писал же выше, что алиас считывает как строку и сортировка не правильна
          Алексей Смирнов
          11 марта 2023, 10:38
          +1
          Ну дык нужно в сниппете том же в сортировке указать этот CAST и будет сортировать как нужно.
          Примерно такой формат:
          'sortby' => '{"CAST(`msProduct`.`alias` AS DECIMAL (10,2))": "ASC"}'
          или
          'sortby' => '{"CAST(alias AS DECIMAL (10,2))": "ASC"}'
          сниппет естественно msProduct
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
6