Поиск по блогу
04.10.2020
Для каждого товара в корзине есть две кнопки — «Плюс» и «Минус», которые увеличивают или уменьшают количество. Давайте добавим два маршрута, создадим две формы в шаблоне и реализуем два метода в контроллере — plus() и minus(). В результате получился большой и запутанный контроллер, а модель не используется вовсе — надо это исправить.
03.10.2020
Добавим еще один контроллер BasketController, который будет отвечать за корзину покупателя. Корзины будем хранить в таблице baskets базы данных. И нам еще потребуется таблица для связи многие-ко-многим — для товаров и корзин. В одной корзине может быть несколько товаров, один товар может быть в нескольких корзинах.
02.10.2020
Мы сейчас совсем не используем модели, а все необходимые данные получаем в контроллере. Особенно некрасиво выглядит метод product() контроллера, где у нас большой и сложный запрос к базе данных. Давайте упростим методы контроллера, и будем использовать модели по их прямому назначению — для получения данных.
30.09.2020
Давайте создадим еще контроллер главной страницы сайта. У этого контроллера будет только одно действие, а следовательно — только один метод. Создать заготовку такого контроллера можно с помощью artisan-команды. При добавлении маршрута для такого контроллера не нужно указывать метод.
29.09.2020
Теперь создаем контроллер CatalogController, шаблоны index.blade.php, category.blade.php, brand.blade.php, product.blade.php и добавляем необходимые маршруты. Маршртутов для начала у нас будет пять: главная страница сайта, страница каталога, страница категории, страница бренда и карточка товара.
28.09.2020
Начнем с каталога товаров. Нам потребуются три таблицы в базе данных для хранения категорий, брендов и товаров. Подключаемся к серверу БД и создаем новую базу данных larashop. После этого создаем три модели — Category, Brand и Product вместе с файлами миграции. Отредактируем файлы классов миграций…
04.06.2020
Стандартная электронная торговля позволяет собирать данные только о совершенных транзакциях, в то время как расширенная (enhanced ecommerce) предоставляет значительно больше возможностей для сбора данных. С ее помощью можно настроить передачу данных о просмотрах карточек товаров, шагов оформления заказа и т.п.
04.10.2019
В принципе, наш фильтр уже работает и на этом можно было бы и закруглиться. Но URL страницы с результатми фильтрации выглядит страшно, потому что GET-параметр filter представляет собой вложенный массив. Давайте улучшим наш плагин и добавим ЧПУ, чтобы из URL сразу было понятно, где мы находимся.
02.10.2019
Хорошо, у нас есть возможность добавления фильтров и мы можем устанавливать значения этих фильтров. Теперь добавим форму фильтра на страницу архива записей типа product. Эта страница доступна по адресу /product/ сразу после регистрации нового типа записи. Если это не так — нужно в панели управления перейти на страницу настроек…
30.09.2019
Давайте напишем плагин, который позволит фильтровать пользовательский тип записи по произвольным полям. За основу возьмем плагин «Каталог товаров», чтобы не начинать с полного нуля. Добавим для этого плагина страницу настроек в панели управления, где можно будет создавать фильтры. А для страницы редактирования товара создадим метабокс…