Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Спасибо за совет! Сам я, за это время, просмотрел несколько видео уроков, и в каждом делали корзину на loravel. Но мой сайт не состоит из одной страницы (как в уроках), в нем каркас, и виды. А значит не совпадают маршруты к контролерам и т.д. Я не понимаю, как работают разные методы, например execut, и сижу, вот изучаю маршрутизацию. До этого у меня не было понимания, что представляет из себя корзина. Оказывается есть множество способов реализации на Laravel, такие как сессии, куки, сохранение в БД. Или реализация например на JS, с отправкой на AJAX. Но главное я понял, какие шаги нужно сделать последовательно для её создания.
Cart – это не модель, это сервис уровня приложения, который обеспечивает апи для работы с корзиной в коде сайта. он существует как раз для того чтобы с CartItem-ами не приходилось работать «руками». в сессии находится только идентификатор корзины, её содержимое как раз определяется записями в таблице cart_items, а модель CartItem – её представление в элоквент.
учитывая задаваемые вопросы, могу посоветовать либо вдумчиво почитать документацию, либо найти специалиста, который напишет сайт за деньги. меня находить не надо – я и так на двух работах работаю без выходных уже
Спасибо за ответ. Извиняюсь за беспокойство. Я новичок в Laravel, о чем писал в первом посте. Учусь, поставил себе задачу, и пытаюсь грызть гранит науки. Как оказалось, это не такая простая задача. Еще раз спасибо, и желаю успеха в работе.
зачем в маршрутах регистрировать модели? что-то и правда огородами )
Добрый день!
Я не правильно написал, регистрировать в маршрутах нужно шаблон корзины. Мне не понятен был сам механизм (цепочка) работы корзины.
Размышляя, что такое корзина - это страница (модальное окошко) на которой выводится информация из сессии. Т.е. пользователь выбрав товар - нажав на картинку (ссылку) кладет его в корзину -сессия записывается в базу (отрабатывает модель). Открывая же страничку корзины, из базы в нее вытаскиваются данные (массив данных из модели). Но Вы прислали три модели. И я не совсем понимаю назначение третьей. Cart.php, Product.php, CartItem.php - уточните пожалуйста назначение третьей модели.
зачем в маршрутах регистрировать модели? что-то и правда огородами )
Действительно зачем? Я невнимателен. Не обратил внимания на подключение Eloquent. Спасибо!
Использую версию Laravel 5.2. Спасибо за помощь!
Полез в файл routes.php и не нашел его, и вспомнил, что обновлялся до 5.4.6.
Возник вопрос, вот я попытался прописать маршруты в файле web, для: Cart.php, Product.php, CartItem.php и задумался.
Раньше я прописывал группу маршрутов контроллерам, которые делают ту или иную операцию, и вынесены они отдельно в файлы.
Например (упрощенно) файл web для Portfolio:
Route::group(['prefix'=>'portfolios'],function() {
Route::get('/',['uses'=>'PortfoliosController@execute','as'=>'portfolio']);
Route::match(['get','post'],'/add',['uses'=>'PortfoliosAddController@execute','as'=>'portfoliosAdd']);
Route::match(['get','post','delete'],'/edit/{portfolio}',['uses'=>'PortfoliosEditController@execute','as'=>'portfoliosEdit']);
});
Соответственно в IndexController.php контролере:
$portfolios = Portfolio::get(array('name','filter','images','price'));
В Portfolio.php:
class Portfolio extends Model
{
protected $fillable = ['name','filter','images','price'];
}
И для админки PortfoliosController.php, PortfoliosAddController.php, PortfoliosEditController.php с функциями добавления,редактирования,удаления.
А значит по аналогии, мне нужно зарегистрировать в web: Cart.php, Product.php, CartItem.php. Затем закомментировать не используемые мною функции, типа "проверка наличия на складе" в Cart.php. Создать кнопку корзина. Создать условие для клика мышкой на картинку, для помещения этой позиции в корзину, В корзине выставить нужное кол-во, и ... А тут моя фантазия закончилась. По идее, содержимое корзины нужно вывести в файл(.xls), и отправить заказ владельцу сайта.
Я вообще правильно рассуждаю? А то может вообще пошел огородами...
Мне действительно много из этого не нужно. Только самый простой вариант: name, quantity, price. Использую версию Laravel 5.2. Спасибо за помощь!
сам разберёшься? миграции для cart_items и products сам напишешь?
Подскажите, создал файл миграции 2017_03_20_120058_create_table_products.php
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string ('name',100);
$table->string ('photo',100);
$table->string ('sticker',100);
$table->string ('description',100);
$table->string ('properties',100);
$table->string ('price',100);
$table->string ('old_price',100);
$table->string ('quantity',100);
$table->string ('published',100);
$table->string ('archived',100);
$table->string ('sort_order',100);
$table->string ('updated_by',100);
$table->string ('updated_ip',100);
$table->timestamps();
});
}
А вот что создавать во второй миграции 2017_03_20_115759_create_table_cart_items.php, я не совсем понимаю, что-то такое?
public function up()
{
Schema::create('cart_items', function (Blueprint $table) {
$table->increments('id');
$table->string ('name',100);
$table->integer('id',100);
$table->string ('code',100);
$table->integer ('user_id',100);
$table->integer ('product_id',100);
$table->integer ('quantity',100);
$table->timestamps();
});
}
Я по правильному пути иду?
сам разберёшься? миграции для cart_items и products сам напишешь?
Спасибо огромное!
Мысль уловил, направление понял.
Буду пробовать сам, иначе не научусь.
Если уж совсем непонятно будет, спрошу совета.
Еще раз спасибо!
Добрый вечер!
Я новичок в Laravel. Моего знания хватило для создания простого lending page, с картинками портфолио, и админки для размещения их на сайте.
Возникла задача, а как к ней подступиться не знаю. Создать корзину. Принцип действия корзины прост, кликнуть на картинку (витрина на сайте), картинка помещается в корзину (т.е. формируется заказ), и отправляется файл (например excel) владельцу сайта.
Я понимаю, что это работа с сессиями. То есть информация которая должна находится в корзине - записывается в сессию и хранится там до того момента как нужно корзину очистить. При этом что хранить в сессии - это уже зависит от функционала, как правило это идентификатор необходимого товара. Вот только как и с чего начать в Laravel не знаю. Может у кого то есть пример похожего кода?
Спасибо!
Спасибо. Но хотелось бы узнать существенны отличия или нет, и стоит переходить, или нет?
Я новенький тут, изучаю по урокам версии 5.2 и создаю проект на 5.3. Но вот сегодня выяснил, что вышла версия 5.4
Знатоки, подскажите, в чем отличие 5.3. от 5.4 версиях? И есть смысл переделать в новой версии, пака еще проект сырой?