Разные ссылки из поля Автоссылка и в фильтре

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 8 декабря 2020 в 09:28
Добрый день. Возникла серьезная проблема и я не могу ее понять. Есть поле "Список: мультивыбор" с предустановленными значениями типа

1010|Блок 1
1020|Блок 2
1030|Блок 3
...
В общем то все стандартно, при клике с фронтэнда по этим ссылкам (к примеру по первому из списка) мы получаем ссылку вида /heroes?bafy=1
НО подборка по автоссылке не работает, т.е выводятся абсолютно все записи без соответствия требованиям автоссылки. А когда я выбираю этот же пункт в фильтре, то получается ссылка типа /heroes?bafy%5B%5D=1010 И вот она уже фильтрует как надо, НО УРЛ то другой почему то. У меня три вопроса.

1. Почему не работает автоссылка
2. Почему различаются УРЛы если это одно и то же
3. Как это поправить корректно.
Пробовал и в дефолтном шаблоне и существующем, никакой разницы, ошибка как была так и есть. МОжет я что не так настроил. Подскажите пожалуйста.
Вот собственно сам ресурс с фильтром
raid-legends.ru/heroes
Прикрепленный файл
01_9cflo.png 10 Кб
#2 12 декабря 2020 в 11:33
UP
Ребят. Ну реально нужна помощь в этом плане, как корректно настроить автоссылку чтоб работало. lookМожет есть какое то дополнение к полю, типо указать свою ссылку по умолчанию как это реализовано в Фильтре типа контента (см. скрин)?.. Хоть за благодарочку. Спасибо.
Прикрепленный файл
111_r985k.png 21 Кб
#3 12 декабря 2020 в 16:10
Clear, поробуйте в файле system\fields\listbitmask.php найти:
  1.  
  2. .$this->name.'='.urlencode($pos+1).
  3.  
и заменить на:
  1.  
  2. .$this->name.'[]='.urlencode($key).
  3.  
----------
Учтите: предлагает ламер. Не обессудьте, если что…
#4 12 декабря 2020 в 17:17

поробуйте в файле system\fields\listbitmask.php найти

Олег Васильевич я
Заменил, Ок сработала выборка при переходе поавтоссылке. Теперь работает автоподбор записей, но при этом ссылки различаются

/heroes?bafy%5B%5D=1130 — это при выборе чекбокса в фильтре
/heroes?bafy=1130 — а такая ссылка при переходе по автоссылке

Не понимаю откуда из фильтра подставляются эти символы %5B%5D
#5 12 декабря 2020 в 18:17

Не понимаю откуда из фильтра подставляются эти символы %5B%5D

Clear
%5B%5D — это квадратные скобки [].
Вы, похоже, их не вставили в коде, который я приводил. Вот их и нет при переходе по автоссылке
#6 12 декабря 2020 в 18:30


Не понимаю откуда из фильтра подставляются эти символы %5B%5D

Clear
%5B%5D — это квадратные скобки [].
Вы, похоже, их не вставили в коде, который я приводил. Вот их и нет при переходе по автоссылке

Олег Васильевич я
Аа, ну посмотрю, а зачем они вообще нужны в ссылке то? без них то красивее УРЛ выглядит. Может их лучше убрать из фильтра? Только не понятно в каком файле,
#7 12 декабря 2020 в 18:44

Может их лучше убрать из фильтра ?

Clear
А может лучше не создавать себе лишних проблем? laugh

Пока ведь не факт, что мы нашли правильное решение
#8 12 декабря 2020 в 18:55


Может их лучше убрать из фильтра ?

Clear
А может лучше не создавать себе лишних проблем? laugh

Олег Васильевич я

Возможно, но это просто Бред какой то, подставил квадратные скобки как вы показали, все работает и автоссылки и выборка через фильтр, НО ссылки все равно РАЗНЫЕ. Почемууууу? Разве так должно быть? Сейчас выводятся с кодировкой через ссылку и без через фильтр. Ой блиин...

/heroes?bafy%5B%5D=1130
и так
/heroes?bafy[]=1130

что за ерунда, это в движке так по умолчанию или что? Почему не выводиться везде одинаковая обычная типа
/heroes?bafy=1130 без лишних символов. А еще лучше через slug как в фильтре типа контента. указал на скрине выше. Единый URL везде
#9 12 декабря 2020 в 19:11
Clear, вы прежде чем негодовать, с матчастью разберитесь. Это к вопросу о "лишних символах".
Две скобки [] замените на %5B%5D

  1. $this->name.'%5B%5D='.urlencode($key)
и будут одинаковые ссылки. Но к слову сказать, Яндекс, Гугл и другие поисковики прекрасно понимают что такое скобки и почему %5B%5D и [] это одно и то же.

А еще лучше через slug как в фильтре типа контента. указал на скрине выше. Единый URL везде

Clear
Сделайте как вам необходимо и поделитесь со всеми, запушив на гит решение. Как вам такое?
Ну а раз нет, то когда помогают, обычно говорят спасибо.
#10 12 декабря 2020 в 19:29

Но к слову сказать, Яндекс, Гугл и другие поисковики прекрасно понимают что такое скобки и почему %5B%5D и [] это одно и то же.

Fuze
Несколько иное, но тот же Firefox в url выводит []

когда помогают, обычно говорят спасибо

Fuze
Не послали помощников. И на том спасибо))
#11 12 декабря 2020 в 19:46

Ну а раз нет, то когда помогают, обычно говорят спасибо.

Fuze
Я прекрасно ценю добро и помщь, так воспитан. Просто еще в процессе решения вопроса. Олегу конечно же спасибо. т.к. он пока один тут помогает.
Fuze
Я очень щепетилен в подобных мелочах и мне нравиться когда смысл ссылки один а значит и значения у них должны быть идентичны, как вам такое? Не согласны? Это же ничего не стоит просто сделать одинаково и убрать из ссылки лишнее.

Я даже подозреваю что можно сделать в переменной $key можно подставлять не только цифры а латинские символы в списке типа znachenie|Значение вот и все, и уже ссылка будет читабельна site.ru/znachenie и не придется в частых случаях использовать инструмент Фильтр в типах контента где можно указать свой УРЛ и Свои описания зачастую. Везде будет одна ссылка, И это я считаю правильным и вполне логичным решением. Меньше разных ссылок, а вданным момент у меня их аж целых ТРИ варианта а цель одна.

/heroes?bafy%5B%5D=1130 (через фильтр)
/heroes?bafy=1130 (через автоссылку)
/heroes/znachenie (через инструмент фильтр в типе контента)

И все ведут на одну страницу. Уффф…
#12 12 декабря 2020 в 19:51
Fuze — очень надеюсь что это недоразумение пофиксят. Спасибо за всЁ!
#13 12 декабря 2020 в 19:56

/heroes?bafy%5B%5D=1130 (через фильтр)
/heroes?bafy=1130 (через автоссылку)
/heroes/znachenie (через инструмент фильтр в типе контента)

Clear
Если б вы ещё потрудились посмотреть на эти ссылки в разных браузерах, вы б тут вообще простыню изобразили.
Clear, бросьте! Щепетильность — хорошо. Но щепетильность маразму не сестра.
#14 12 декабря 2020 в 20:00

бросьте! Щепетильность — хорошо. Но щепетильность маразму не сестра.

Олег Васильевич я
Да я все понимаю. Просто на мой взгляд было бы качественнее иметь одну ссылку.
Грубо говоря по логике:
Если $key не пустое выводим /$key иначе ?$pos+1
вот и все, кому надо сделают сами slug/key свой
#15 12 декабря 2020 в 20:34

Если $key не пустое выводим

Clear
  1.  
  2. foreach($items as $key => $item){
  3.  
И в каком случае $key будет пустым? Приведите, пожалуйста, пример.
----------------------------------------------
Потихоньку становится понятной цель темы: надо было не решить проблему автоссылок в конкретном поле, а сделать мир лучше в целом.
Удачи!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.