15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
|
|
1 | |
ЧПУ на своем мини-сайте19.05.2017, 08:29. Показов 541. Ответов 7
Метки нет (Все метки)
Всем привет.
Делаю что-то типа своей мини-цмс, или фреймворка... Вырастет-само решит. Из интереса. Посмотрел материал по теме работы с адресами. Много где рассказывается как работать с параметрическими адресами, а вот с чпу материала мало, а по нужной мне структуре - не нашел. Мне нужно что-то вроде сайт.ру/обо мне/мои увлечения/первое увлечение/интересные случаи/случай . Что хотел показать этой структурой - произвольная вложенность. Так же хочется запилить сразу изменение структуры. Чтобы как в битриксе можно было изменять структуру разделов. Наверное, самая большая проблема. Есть в голове одна мысль, как хранить структуру чпу в бд, но она пока, так сказать, абстрактная - идея без подробностей. И в ней не вяжется как отслеживать порядок вложенности. По ее логике конечной странице можно обратиться опуская кусок вышестоящего адреса. Типа сайт.ру/мои увлечения/первое увлечение/интересные случаи/случай сайт.ру/первое увлечение/интересные случаи/случай сайт.ру/интересные случаи/случай ( интересные случаи типа категория, а случай - что-то типа элемента категории. тут хоть новости, хоть что угодно ) все будет вести на одну страницу и будет доступно, т.к. в таблице предполагается хранить пары "родитель - потомок", и проверять при обращении есть ли запрошенный кусок адреса в базе. В развитие этой мысли можно хранить уровень вложенности, и проверять если такой родитель есть, и его уровень совпадает с уровнем в запросе, то...и условия. Так же интересно будут ли особые сложности с реализацией чпу на кириллице. Именно с кириллическими символами при обработке. Очень интересны другие варианты реализации. Буду очень благодарен за подсказки. Спасибо
0
|
19.05.2017, 08:29 | |
Ответы с готовыми решениями:
7
Реализация мини ЧПУ Почта на своем сайте Заработок на своем сайте ЧПУ на сайте |
13 / 13 / 5
Регистрация: 29.03.2017
Сообщений: 82
|
|
19.05.2017, 08:34 | 2 |
Не хочу показаться оффтопером, но все уже придумано давно.
0
|
15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
|
|
19.05.2017, 08:43 [ТС] | 3 |
setrus52, и в чем сакральный смысл твоего ответа? "юзай готовый фреймворк"?
0
|
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
|
|||||||||||||||||
19.05.2017, 08:59 | 4 | ||||||||||||||||
При тыке "Сохранить" рекурсивно проходитесь по всему дереву, получаете полный URL и сохраняете в отдельное поле в БД.
Как-то так:
Это делается для удобства, один раз сохранили полный путь и не нужно делать сложный поиск - просто ищете запись с $_SERVER['REQUEST_URI'] === full_url.
0
|
13 / 13 / 5
Регистрация: 29.03.2017
Сообщений: 82
|
|
19.05.2017, 09:00 | 5 |
Да не обязательно Дырявые велосипеды это иногда весело
0
|
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
|
|
19.05.2017, 10:41 | 6 |
Наврал, просто берём full_url предка и добавляем текущий url.
А рекурсия понадобится чтобы обновить full_url у потомков всех уровней.
0
|
15 / 15 / 1
Регистрация: 19.10.2012
Сообщений: 570
|
|
19.05.2017, 14:55 [ТС] | 7 |
Jodah, Jodah, идея простая и надежная. но это слишком просто) при этом подходе проблематично будет изменить родительский раздел, к примеру. если ли более гибкие варианты?) приношу извинения за некоторую наглость)
0
|
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
|
|
19.05.2017, 15:15 | 8 |
Ничего сложного - как написал выше, создать функцию, которая рекурсивно проходится по всем потомкам категории и меняет full_url.
А этот недостаточно гибкий? В любом случае нужно придумывать какое-то хранилище полных URL для экономии ресурсов.
1
|
19.05.2017, 15:15 | |
19.05.2017, 15:15 | |
Помогаю со студенческими работами здесь
8
Реально ли заработать на своем сайте? Продажа ссылок на своем сайте Как заработать на своем сайте Подключение оплаты на своем сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |