yiuryumtsev Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Господа выручайте, все перерыл немогу понять! Пытаюсь ссылки модуля статьи привести к другому виду. в данный момент вот так: mysite.ru/{URL категории, задаются в настройка категории}/{название статьи}-r{id статьи}/ хотелось бы к примеру вот так: mysite.ru/{URL категории, задаются в настройка категории}/{id статьи}.html Где, что прописать? Спасибо!
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Это можно делать вручную при создании статьи. Скрытый текст 1
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 при создании статьи можно сделать индивидуально для каждой статьи, а как сделать массово на подобии переопределения для ЧПУ?
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Просто так это не изменить, в любом случае нужно лезть в код или писать плагин. 1
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 Только что, anufmikh сказал: Просто так это не изменить, в любом случае нужно лезть в код или писать плагин. Собственно в этом и вопрос! Куда именно в код?
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Откройте файл applications\cms\sources\Records\Records.php Найдите строку: preg_match( '#-r(\d+?)$#', $slug, $matches ); Замените на: preg_match( '#(\d+?).html$#', $slug, $matches ); Найдите строку: $recordSlug = ! $this->record_static_furl ? $this->record_dynamic_furl . '-r' . $this->primary_id_field : $this->record_static_furl; Замените на: $recordSlug = ! $this->record_static_furl ? $this->primary_id_field . '.html' : $this->record_static_furl; 1
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 Спасибо! Работает! Пытаюсь переделать под себя, чет туплю: Хочу вот так: 1-bla-bla-bla.html preg_match( '#(\d+?)-[a-z-]+\.html$#', $slug, $matches ); var_dump($matches) возвращяет array(2) { [0]=> string(18) "1-bla-bla-bla.html" [1]=> string(1) "1" } а все равно не работает!
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Ошибка какая? Нужно изменить тогда и код где собирается URL-адрес записи. 2 часа назад, anufmikh сказал: $recordSlug = ! $this->record_static_furl ? $this->primary_id_field . '.html' : $this->record_static_furl; $recordSlug = ! $this->record_static_furl ? $this->primary_id_field . '-' . $this->record_dynamic_furl . '.html' : $this->record_static_furl; 1
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 вообщем упростил задачу, исключил переменную: собираем URL: $recordSlug = ! $this->record_static_furl ? $this->primary_id_field . '-blabla.html' : $this->record_static_furl; переходим по ссылке, вот с этим кодом: preg_match( '#(\d+?)\-blabla.html$#', $slug, $matches ); var_dump($matches); получаю: Скрытый текст комментирую вар дамп: preg_match( '#(\d+?)\-blabla.html$#', $slug, $matches ); //var_dump($matches); получаю страница не доступна: Скрытый текст вот сам URL Скрытый текст Где собака зарыта?
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 регулярка вроде правильная regex101.com/r/wfS4nn/1
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Ошибка "Сайт ... выполнил переадресацию слишком много раз."? 1
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Выражение не верное, и абы лишь бы нельзя подставлять слова. Название статьи должно совпадать со значением в базе данных. Иначе IPS пытается переадресовать Вас на правильный URL-адрес, но натыкается опять на неверный, итак происходит бесконечно. 1
anufmikh Опубликовано 2 декабря, 2018 Опубликовано 2 декабря, 2018 Выражение preg_match( '#(\d+?)-(.*).html$#', $slug, $matches ); Формирование URL-адреса $recordSlug = ! $this->record_static_furl ? $this->primary_id_field . '-' . $this->record_dynamic_furl . '.html' : $this->record_static_furl; И еще найдите фрагмент условия urldecode( str_replace( $matches[0], '', $slug ) ) !== $record->record_dynamic_furl и замените на urldecode( $matches[2] ) !== $record->record_dynamic_furl 1
yiuryumtsev Опубликовано 2 декабря, 2018 Автор Опубликовано 2 декабря, 2018 Отлично, помогло! Очередной вопрос, как все остальные ссылки "страница, база данных, категория" привести к тому же виду. т.е. в корне страницы, категории и базы данных должно прибавляться .html
Рекомендуемые сообщения
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти