Баг с добавлением дроби

#1 2 марта 2015 в 15:36
Нашел баг, кто столкнулся подскажите где поправить, в title записи при заполнении если добавить / (знак), добавляется в url соответственно и браузеры и движок считают что это другая страница.
#2 2 марта 2015 в 16:00
Это не баг, если я правильно понял, о чем речь. Поскольку движок строит имя страницы именно из поля title, слеш и воспринимается браузерами как другая страница. Такова жестокая cgi...

Другими словами, слеш в поле title является запрещенным символом (как знак подчеркивания, вопросительный знак и амперсанд, кстати). Юзайте минус…
#3 2 марта 2015 в 16:05

Другими словами, слеш в поле title является запрещенным символом

— Так в том то и дело что он его не переименовывает и пишет в url, я как то считал что в url он не должен его записывать, а он пишет.
#4 2 марта 2015 в 16:17
тогда пишите хак, чтобы заменял слеш на минус. например, на основе регулярного выражения, или на основе палочки-выручалочки — функции php str_replace('/', '-', $string_title)
#5 2 марта 2015 в 16:33
Так и есть, просто посчитал что ни я один такой и может кто натыкался уже и поправил стандартную функцию формирования урла.
У меня например в типах контента в title пишется адреса домов с номерами, и очень часто такое может встречаться что дом через дробь идет.
#6 2 марта 2015 в 17:00
jorgovich, попросите r2 внести исправления в будущий релиз)))
#7 2 марта 2015 в 17:28

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

Val
даже АрТу не сможет исправить cgi, вы че, смеетесь или издеваетесь?
#8 2 марта 2015 в 17:43
Да тут не cgi надо править а функцию по формированию url, Шаблон генерации URL состоит же из полей которые мы можем в админке Типа контента править, а вот туда затисаться может любой запрещенный симбвол, вот только не могу найти в каком файле описывается код этого шаблона? Или он из базы его просто берет?
#9 2 марта 2015 в 18:09
jorgovich, файл \wikipro\system\languages\ru\functions.php строка 47
  1. $slug = preg_replace ('/[^a-zA-Zа-яА-Я0-9\-\/]/u', '-', $string);
говорит, что все знаки не входящие в квадратные скобки заменяются на "минус",
сделайте так и проверьте на других страницах его работоспособность
  1. $slug = preg_replace ('/[^a-zA-Zа-яА-Я0-9\-]/u', '-', $string);
#10 2 марта 2015 в 18:58
Loadырь, ага спасибо, она самая, как всегда выручаете, завтра еще материал добавим посмотрим. Сейчас нормально ссылку сформировал.
#11 2 марта 2015 в 19:45

даже АрТу не сможет исправить cgi, вы че, смеетесь или издеваетесь?

Странник
Странник, конечно же нет! Я имел ввиду сообщить r2 чтобы он поправил функцию проверки поля title перед сохранением в БД на знак "/" — менять его на "минус", "подчеркивание" или еще что нибудь))))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.