Taglister не сортирует как надо

Здравствуйте! Ребят трабл от дополнения taglister, он не сортирует по алфавиту «нормально». Букву Ё кидает в начало. Как решить??? Можно ли в ручную выставить порядок букв???
Zazh
12 июля 2016, 09:25
modx.pro
1 398
0

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

Марат Марабар
12 июля 2016, 15:42
+1
Покажи вызов taglister
    Марат Марабар
    12 июля 2016, 15:57
    +1
    Да собственно не надо вызов.
    Открой сниппет taglister, найди этот кусок кода на 142 строке
    /* sort */
    switch ($sortBy.'-'.$sortDir) {
        case 'publishedon-DESC': case 'publishedon-ASC': break;
        case 'tag-ASC': ksort($tagList); break;
        case 'tag-DESC': krsort($tagList); break;
        case 'count-DESC': asort($tagList); break;
        case 'count-ASC': default: arsort($tagList); break;
        case 'rand-ASC': case 'random-ASC': case 'rand()-asc': $tagList = $tagLister->ashuffle($tagList); break;
    }
    и замени его следующим
    /* sort */
    setlocale(LC_ALL, 'ru_RU.UTF8');
    switch ($sortBy.'-'.$sortDir) {
        case 'publishedon-DESC':
        case 'publishedon-ASC':
            break;
            
        case 'tag-ASC':
            ksort($tagList, SORT_LOCALE_STRING);
            break;
            
        case 'tag-DESC':
            krsort($tagList, SORT_LOCALE_STRING);
            break;
        
        case 'count-DESC':
            asort($tagList, SORT_LOCALE_STRING);
            break;
            
        case 'count-ASC':
            default:
                arsort($tagList, SORT_LOCALE_STRING);
                break;
                
        case 'rand-ASC': case 'random-ASC': case 'rand()-asc': $tagList = $tagLister->ashuffle($tagList); break;
    }
    Переименуй сниппет и не забудь указать новое название в вызове этого сниппета.
      Zazh
      12 июля 2016, 16:16
      0
      Код чанка
      joxi.ru/Q2KLbOPF9ZDE9A

      Вот такой трабл
      joxi.ru/GrqvW3nFNvgqJm

      + у меня еще язык казахский, он символы не адекватно выводит, то в начало то в конец.
      Возможно ли его как то задать им сортировку?
        Марат Марабар
        12 июля 2016, 16:19
        0
        А локаль какая?
        И что с моими изминениями тоже не выводит?
          Zazh
          12 июля 2016, 16:28
          0
          joxi.ru/L21XNMxI6lYBYm
          Помогло! Почти, пара симоволов не нашли свое место (( Ә например. и возможно ли решить проблему с Регистром букв, он большие выдает за один тег, маленькие за другой
            Марат Марабар
            12 июля 2016, 16:42
            0
            Офигеть. А зачем тебе вперемешку два языка?
              Zazh
              12 июля 2016, 16:46
              0
              Это не вперемешку))) Казахский алфавит такой же как и русский, разница в 10 символах. Сайт 2 язычный. Рус — Каз. Соответственно и алфавит
        Zazh
        12 июля 2016, 16:19
        0
        Помогло!!! Спасибо Ё нашел свое место)))) Как быть с казахским алфавитом???)))
          Марат Марабар
          12 июля 2016, 16:27
          0
          Устанавливать казахскую локаль по такому же принципу.
          У тебя алфавиты же разными вызывами выводятся, правильно? Если так, то в сниппет нужно передать требуемую локаль.

          Наверно так.
            Zazh
            12 июля 2016, 16:29
            0
            /* sort */
            setlocale(LC_ALL, 'ru_RU.UTF8');
            switch ($sortBy.'-'.$sortDir) {
                case 'publishedon-DESC':
                case 'publishedon-ASC':
                    break;
            заменить на
            /* sort */
            setlocale(LC_ALL, 'kz_KZ.UTF8');
            switch ($sortBy.'-'.$sortDir) {
                case 'publishedon-DESC':
                case 'publishedon-ASC':
                    break;
            так?
              Марат Марабар
              12 июля 2016, 16:33
              0
              Тогда русская слетит.
              Ну ты пробуй — казахский устанавливается так?
                Zazh
                12 июля 2016, 16:36
                0
                /* sort */
                setlocale(LC_ALL, 'kz_KZ.UTF8');
                switch ($sortBy.'-'.$sortDir) {
                    case 'publishedon-DESC':
                    case 'publishedon-ASC':
                        break;
                Поставил все слетело, joxi.ru/a2XKLMBUyPXewm
                И перестали отображаться символы.
                  Zazh
                  12 июля 2016, 16:41
                  0
                  Как сделать чтобы не учитывал регистр, и перестал выводить тег с малой буквы за один тег, и с большой за другой тег?
                    Марат Марабар
                    12 июля 2016, 16:47
                    -1
                    Слушай, я не понимаю что ты пытаешься сделать.
                    Ты же сам указываешь эти теги, и большие, и маленькие — может какой-то один выбрать вариант.
                      Zazh
                      12 июля 2016, 16:50
                      0
                      Для сайта на каз языке выводиться алфавит на казахском языке. Для рус на русском. Ресурсы создаю через importX и случайно, иногда залетают тв поля с маленькими буквами.
                        Марат Марабар
                        12 июля 2016, 17:53
                        0
                        Так вот на том этапе и нужно приводить к единому регистру, а не сейчас отсеивать.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          16