Как сгенерировать загружаемый PDF-файл из товаров в корзине - PullRequest
0 голосов
/ 05 мая 2020

Я использую dompdf для создания загружаемого PDF-файла из моей multi-vendor eCommerce корзины покупок, и я сталкиваюсь с этой ошибкой даже после определения $ cartItems в QuotationController. $ cartItems определен в CartController. Я намерен получить элементы CartController в pdf

Вот ошибка:

Неопределенная переменная: cartItems (View: C: \ laragon \ www\procure \ resources \ views \ cart \ quote.blade. php)

Вот код QuoteController:

<?php

namespace App\Http\Controllers;

use Barryvdh\DomPDF\PDF;
use Darryldecode\Cart\Cart;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class QuotationController extends Controller
{


    public function quote(Request $request)
    {

        $product = DB::table('products')->get();
        $cartItems = \Cart::session(auth()->id())->getContent();

        $pdf = \PDF::loadView('cart.quote');
        return $pdf->download('quotation.pdf');

        //return view('cart.quote');
    }

}

Вот CartController:

<?php

namespace App\Http\Controllers;

use App\Product;
use Darryldecode\Cart\Cart;

class CartController extends Controller
{
    public function add(Product $product)
    {
        // add the product to cart
        \Cart::session(auth()->id())->add(array(
            'id' => $product->id,
            // 'img' => $product->cover_img,
            'name' => $product->name,
            'price' => $product->price,
            'quantity' => 1,
            'attributes' => array(),
            'associatedModel' => $product,
        ));

        return redirect()->route('cart.index');
    }

    public function index()
    {

        $cartItems = \Cart::session(auth()->id())->getContent();
        view()->share('cartItems', $cartItems);

        return view('cart.index', compact('cartItems'));
    }
    public function destroy($itemId)
    {

        \Cart::session(auth()->id())->remove($itemId);

        return back();
    }

    public function update($rowId)
    {

        \Cart::session(auth()->id())->update($rowId, [
            'quantity' => [
                'relative' => false,
                'value' => request('quantity'),
            ],
        ]);

        return back();
    }

    public function checkout()
    {
        return view('cart.checkout');
    }

}

И наконец, файл лезвия (quote.blade. php):

<section class="shopping-cart">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="cart-table table-responsive">
                    <table class="table">
                        <thead>
                            <tr>
                                <th class="t-pro">Product</th>
                                <th class="t-price">Price</th>
                                <th class="t-qty">Quantity</th>
                                <th class="t-total">Total</th>
                                <th class="t-rem"></th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach ($cartItems as $item)
                            <tr>
                                <td class="t-pro d-flex">

                                    <div class="t-content">
                                        <p class="t-heading"><a href="">{{ $item->name }}</a></p>

                                    </div>
                                </td>
                                <td class="t-price">KES {{ $item->price }} </td>
                                <td class="t-qty">
                                    <div class="qty-box">
                                        <div class="quantity buttons_added">

                                            <form action="{{route('cart.update', $item->id)}}" method="get">
                                                <input name="quantity" type="number" value="{{ $item->quantity }}">

                                                <input class="button" type="submit" value="save">

                                            </form>
                                        </div>
                                    </div>
                                </td>
                                <td class="t-total">{{Cart::session(auth()->id())->get($item->id)->getPriceSum()}}</td>
                                <td class="t-rem"><a href="{{ route('cart.destroy', $item->id) }}"><i class="far fa-trash-alt"></i></a></td>
                            </tr>

                            @endforeach
                        </tbody>
                    </table>
                </div>
            </div>

            <div class="col-md-4">
                <div class="coupon">
                    <h6>Discount Coupon</h6>
                    <p>Enter your coupon code if you have one</p>
                    <form action="#">
                        <input type="text" name="zip" value="" placeholder="Your Coupon">
                        <button type="button">Apply Code</button>
                    </form>

                    <a href="{{route('quote-download') }}">Print Quotation</a>
                </div>
            </div>
            <div class="col-md-4">
                <div class="crt-sumry">
                    <h5>Cart Summery</h5>
                    <ul class="list-unstyled">
                        <li>Subtotal <span>KES {{\Cart::session(auth()->id())->getTotal()}}</span></li>
                        <li>Shipping & Tax <span>0.00</span></li>
                        <li>Grand Total <span>KES {{\Cart::session(auth()->id())->getTotal()}}</span></li>
                    </ul>
                    <div class="cart-btns text-right">
                        <button onclick="location.href='{{route('home')}}'" class="up-cart">Update Cart</button>
                        <button onclick="location.href='{{route('cart.checkout')}}'" class="chq-out ">Checkout</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>

1 Ответ

0 голосов
/ 05 мая 2020

Просто посетите этот https://github.com/arafkarim/HTML-to-PDF Я только что применил это в своем аналогичном проекте.

...