Создание CMS на php — 32 урок (Theme, Создание меню, Вывод меню)

Автор Maksim Inshakov
Создание CMS на php — 32 урок (Theme, Создание меню, Вывод меню)

Всем привет мы продолжаем писать нашу семью мастер эфире второй урок тема которого будет создание меню в прошлом уроке мы начали создавать таблицу в базе данных мы её создали, но здесь не ещё одного поля для начала — это Link то есть ссылка по которой будет переходить человек который нажмёт на допустим на ссылку в меню и давайте я сейчас с моего добавим и вот мы добавили новый столбец в нашу таблицу меню название столбца Link тип varchar 255 и по умолчанию решетку.

Я теперь нам нужно как-то работать с этой таблицей и у нас уже предусмотрено такая система как модели и мы зайдём мы создадим модель то есть отдельно создадим сущность и отдельно создадим репозиторий чтобы вы не то мы будем создавать модель который будет относиться к системным моделям они изменяться никак не будут то есть разработчики которая будет разрабатывать темы или расширение для системы они не буду вмешиваться в работу этой модели поэтому сущность будет создаваться единоразово. И если вдруг потом в какой-то версии этой системы она будет обновляться то обратно вместимость будет присутствовать потому, что директория контент будет всегда не тронута и также функции которые были изначально заведены. В этой системе они будут в любой версии.

Ну, а сейчас мы переходим в папку.

СМС в моделях создаем модель меню для начала ей создаем мы директорию меню и внутри этой территории по принципу как мы создавали в окружении админ будут будет лежать и репозиторий и сейчас мы с вами — это сделаем. Вот Мы создали сущность и создали меню репозитории здесь правда место обмен заменить на. Камаз и теперь мы можем с ними работать как. Мы работали сейчас мы переходим в Engine template Class Menu который мы создавали в прошлом уроке и здесь добавим Di Di контейнер который будет сюда передаваться как в примере с этими также мы здесь мы создадим protected Static Menu. Пролетарий здесь мы конечно должны всё — это прямо про импортировать допустим. Давайте про импортируемых везде и про импортируем Minaj New repository импортируемые меню репозитории создадим ещё конструктор как мы создавали в примере с этим здесь у нас конечно же меню репозитории здесь непонятно почему админ мы как бы вроде поменяли. Я здесь мы не поменяли namespace теперь моего изменили и всё нормально подключилось и так переходим наш класс View здесь мы должны ещё добавить переменную меню и передадим туда Di контейнер. Ну и конечно же здесь мы тоже добавим protected меню сохраняем и теперь переходим в меню репозиторий который. Мы создали и добавляем там вот такую вот функцию Get All Items эта функция получает. Все в общем весь список меню которые у нас есть в базе данных в этой таблице конечно же нам нужно как-то разделить чтобы могли создавать ни одно меню в данный момент нам нужно вывести — это меню поэтому мы решаем текущую задачу и после того как мы добавили эту функцию здесь мы переходим в наш класс меню который лежит в этом планете и добавляем здесь ещё одну функцию Get Items то есть эта функция возвращает просто функцию из репозитория Get All Items вот такие вот способом. И сейчас допустим нам нужно вывести — это меню давайте мы перейдём в переходим header он у нас лежит в теме открываем его и. Давайте здесь. Где у нас находится меню мы просто сейчас попробуем получить Menu Get Items и всё — это мы. Спринтер сохраняем переходим в браузер обновляемся и. Как видите. Мы получили просто список нашего меню. Это хорошо. Теперь мы можем в цикле просто — это всё, но нам. Мы забыли проставить алиас. Это мы заходим в Engine переходим bootstrap здесь для меню. Мы тоже должны добавить алиас чтобы мы не обращались к нам spaces.ua делали, а то более кратким способом и теперь нам нужно прописать новоспайс сделать с таким способом здесь мы просто напишем сейчас цикл foreach внутри цикла мы. Передаем нашу функцию меню и — это будет Python по-моему name у нас называется данным. Ну, а без ссылки у нас по умолчанию там идут решетки Blink все остальные мы просто удаляем здесь мы закрываем цикл убираемся лишние сохраняются переходим в браузер и. Витя у нас уже из базы вывелось меню. Вы наверно уже догадались. Как можно добавлять сюда нужные функции для работы с очень просто мы работаем в репозиторий в этом репозитории. Мы работаем с базой данных то есть всё, что нам нужно делать манипуляции с базой данных получать какое-то определённое меню допустимы потом создавать разные меню у каждого меня будет своей идти допустим каждый. А — это меню будет присваиваться какому-то отдельному меню всё — это будет получаться если допустим нужно добавить новое меню — это тоже запись в базу данных — это тоже через репозиторий. А этот класс меню он должен делать — это получать какие-то данные выводить их в автобусе либо какую-то конфигурацию производить. Ну всё там уже по мере необходимости можно добавлять. А сейчас запустим у нас. Мы вывели меню то, что нам нужно было вывести и мы можем неограниченное количество функций ещё. Добавить сюда и — это всё будет работать ты конечно же мы же просто так не можем со добавлять меня — это же всем всё же чтобы мы через базу всё добавляли нам нужно — это всё конечно вывести в административную. Панель чтобы там создавалась меню и хотелось бы — это сделать можно круче, но на — это всё тоже требуется время я нашёл плагин sortable ajax.

0 комментариев
0

Читайте также