Size: a a a

2020 June 02

VU

Vlad Umrikhin in Laravel Pro
Я сейчас пытаюсь придумать, как делать генерируемые страницы с произвольными разделами

Пока так Route::get('/{page_path}', 'PagesController@view')->where('page_path', '^(?!(admin|logout|login)(\/|$))[A-Za-z0-9+-_\/]+')->name('page');
Но мне не нравится, что url приходится вводить вручную. Но придумать правило роутинга для любой глубины у меня не выходит :/
источник

VU

Vlad Umrikhin in Laravel Pro
Пока сделано так
источник

VU

Vlad Umrikhin in Laravel Pro
Родительская страница нужна для хлебных крошек, предполагаю генерировать slug из названия. но
источник

ИФ

Иван Филатов... in Laravel Pro
а зачем роутинг делать специальный? пусть у вас url это slug страницы, и просто отдавайте ее по slug-у из базы
источник

VU

Vlad Umrikhin in Laravel Pro
это будет кусок url
источник

VU

Vlad Umrikhin in Laravel Pro
Иван Филатов
а зачем роутинг делать специальный? пусть у вас url это slug страницы, и просто отдавайте ее по slug-у из базы
для SEO лучше site.ru/about/dgsgdf
источник

VU

Vlad Umrikhin in Laravel Pro
источник

ИФ

Иван Филатов... in Laravel Pro
нет, я к тому что пусть у вас slug так и лежит в базе about/dsdasd
источник

ИФ

Иван Филатов... in Laravel Pro
вы берете select * ... where slug = 'about/asda'
источник

VU

Vlad Umrikhin in Laravel Pro
Иван Филатов
нет, я к тому что пусть у вас slug так и лежит в базе about/dsdasd
мне не нравится что его руками вводят
источник

VU

Vlad Umrikhin in Laravel Pro
Иван Филатов
вы берете select * ... where slug = 'about/asda'
угу отдача сейчас работает
источник

ИФ

Иван Филатов... in Laravel Pro
ну запретите вводить, конструируйте на лету на бэке
источник

ИФ

Иван Филатов... in Laravel Pro
храните просто одноуровнево
источник

VU

Vlad Umrikhin in Laravel Pro
Иван Филатов
ну запретите вводить, конструируйте на лету на бэке
ага, с поиском всех родительских...
источник

VU

Vlad Umrikhin in Laravel Pro
я ведь могу найти как в крошках вообще все родительские
и сам сгенерировать /xxx/ssss/ggg
источник

VU

Vlad Umrikhin in Laravel Pro
ща соображу как
источник

ИФ

Иван Филатов... in Laravel Pro
ну как по мне нет ничего сложного чтобы сделать рекурсивный поиск по слагу всех родительских страниц) ну вернее что-то сложное есть, но 100% это уже кто-то делал до вас и делился этим в гугле / софе
источник

ИФ

Иван Филатов... in Laravel Pro
да и если честно мне кажется что это не так чтобы сильно нагруженный проект, поэтому прокатит и отдельными запросами делать, нет смысла усложнять)
источник

VU

Vlad Umrikhin in Laravel Pro
Иван Филатов
ну как по мне нет ничего сложного чтобы сделать рекурсивный поиск по слагу всех родительских страниц) ну вернее что-то сложное есть, но 100% это уже кто-то делал до вас и делился этим в гугле / софе
    public function parent()
   {
       return $this->belongsTo('\App\Page', 'parent_id');
   }

   public function getBreadCrumbs()
   {
       $parents = [];

       $page = $this;
       while ($page->parent) {
           $parents[] = $page = $page->parent;
       }

       return array_reverse($parents);
   }


Ну как найти родителей уже знаю)
источник

VU

Vlad Umrikhin in Laravel Pro
На основе этого сгенерирую url разделов + slug из title
источник