Bagisto Forum

    Bagisto

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    How to include script and css file in payment.blade.php

    Modules
    4
    29
    8289
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      yousuf last edited by

      How to include script and css file in payment.blade.php in bagisto shop/resource/view/checkout/onepage/payment

      1 Reply Last reply Reply Quote 0
      • R
        rahul last edited by

        Hi @yousuf

        First of all you need to override this file then you can do as below.

        @push('css')
            <link rel="stylesheet" href="{{ bagisto_asset('filepath') }}">
        @endpush
        
        
        @push('scripts')
            <script type="text/javascript" src="{{ bagisto_asset('filepath') }}"></script>
        @endpush
        

        Please follow below to override view file - https://forums.bagisto.com/topic/221/how-to-override-view-file-in-bagisto

        Thanks

        1 Reply Last reply Reply Quote 0
        • ghermans
          ghermans last edited by

          Add the following code to payment.blade.php

          @push('css')
              <style>
               /** your code**/
              </style>
          @endpush
          

          Kind regards,
          Glenn Hermans

          Manager Bagisto Europe
          info@bagisto.eu

          1 Reply Last reply Reply Quote 0
          • Y
            yousuf last edited by

            @rahul said in How to include script and css file in payment.blade.php:

            filepath

            i can do it but not working

            1 Reply Last reply Reply Quote 0
            • R
              rahul last edited by

              Hi @yousuf

              You need to do it on onepage.blade.php file because payment.blade.php is included in it & it (onepage.blade.php) extends master layout & rest of procedure is mentioned above.

              Thanks

              1 Reply Last reply Reply Quote 0
              • Y
                yousuf last edited by

                yes i done it but coming error because we used id in script ,we define field in payment.blade.php with id,

                1 Reply Last reply Reply Quote 0
                • R
                  rahul last edited by

                  Hi @yousuf

                  Can you explain more & it will be easy for us if you attach a screenshot of error.

                  Thanks

                  1 Reply Last reply Reply Quote 0
                  • Y
                    yousuf last edited by

                    we create two field in payment.blade.php with there id,then we include script in onepage.blade.php , the script contain field id on change event , now when the page load onepage.blade.php its giving error

                    (index):1 Uncaught IntegrationError: The selector you specified (#card-element) applies to no DOM elements that are currently on the page.
                    Make sure the element exists on the page before calling mount().

                    1 Reply Last reply Reply Quote 0
                    • R
                      rahul last edited by

                      Hi @yousuf

                      Can you attach your code here ?

                      Thanks

                      1 Reply Last reply Reply Quote 0
                      • Y
                        yousuf last edited by

                        payment.blade.php

                        <form action="/charge" method="post" id="payment-form">
                        <div class="form-row">
                        <label for="card-element">
                        Credit or debit card
                        </label>
                        <div id="card-element">
                        <!-- A Stripe Element will be inserted here. -->
                        </div>

                            <!-- Used to display form errors. -->
                            <div id="card-errors" role="alert"></div>
                        </div>
                        
                        <button>Submit Payment</button>
                        

                        </form>

                        1 Reply Last reply Reply Quote 0
                        • Y
                          yousuf last edited by

                          onepage.blade.php

                          <script src="https://js.stripe.com/v3/"></script>
                          

                          <script>
                          // Create a Stripe client.
                          var stripe = Stripe('pk_test_Uu9wsMkZnlxgIt4PawGKXnzr00wigYyozk');

                          // Create an instance of Elements.
                          var elements = stripe.elements();
                          
                          // Custom styling can be passed to options when creating an Element.
                          // (Note that this demo uses a wider set of styles than the guide below.)
                          var style = {
                              base: {
                                  color: '#32325d',
                                  fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
                                  fontSmoothing: 'antialiased',
                                  fontSize: '16px',
                                  '::placeholder': {
                                      color: '#aab7c4'
                                  }
                              },
                              invalid: {
                                  color: '#fa755a',
                                  iconColor: '#fa755a'
                              }
                          };
                          
                          // Create an instance of the card Element.
                          var card = elements.create('card', {style: style});
                          
                          // Add an instance of the card Element into the `card-element` <div>.
                          card.mount('#card-element');
                          
                          // Handle real-time validation errors from the card Element.
                          card.addEventListener('change', function(event) {
                              var displayError = document.getElementById('card-errors');
                              if (event.error) {
                                  displayError.textContent = event.error.message;
                              } else {
                                  displayError.textContent = '';
                              }
                          });
                          
                          // Handle form submission.
                          var form = document.getElementById('payment-form');
                          form.addEventListener('submit', function(event) {
                              event.preventDefault();
                          
                              stripe.createToken(card).then(function(result) {
                                  if (result.error) {
                                      // Inform the user if there was an error.
                                      var errorElement = document.getElementById('card-errors');
                                      errorElement.textContent = result.error.message;
                                  } else {
                                      // Send the token to your server.
                                      stripeTokenHandler(result.token);
                                  }
                              });
                          });
                          
                          // Submit the form with the token ID.
                          function stripeTokenHandler(token) {
                              // Insert the token ID into the form so it gets submitted to the server
                              var form = document.getElementById('payment-form');
                              var hiddenInput = document.createElement('input');
                              hiddenInput.setAttribute('type', 'hidden');
                              hiddenInput.setAttribute('name', 'stripeToken');
                              hiddenInput.setAttribute('value', token.id);
                              form.appendChild(hiddenInput);
                          
                              // Submit the form
                              form.submit();
                          }
                          

                          </script>

                          1 Reply Last reply Reply Quote 0
                          • Y
                            yousuf last edited by

                            its load script before payment.blade.php page ,that why script error,how we include script or css in payment.blade.php

                            1 Reply Last reply Reply Quote 0
                            • Y
                              yousuf last edited by

                              we just include this ,<script src="https://js.stripe.com/v3/"></script>
                              in payment.blade.php and then we find in view-page-source ,not include

                              1 Reply Last reply Reply Quote 0
                              • J
                                Jitendra last edited by

                                In payment.php.blade file you can find the following view render event:

                                {!! view_render_event('bagisto.shop.checkout.payment-method.after', ['payment' => $payment]) !!}

                                Create a blade file and add your css and script there and add you file by calling addTemplate function.

                                    Event::listen('bagisto.shop.checkout.payment-method.after', function($viewRenderEventManager) {
                                        $viewRenderEventManager->addTemplate('your file path');
                                    });
                                
                                1 Reply Last reply Reply Quote 0
                                • Y
                                  yousuf last edited by

                                  just add this line after

                                   {!! view_render_event('bagisto.shop.checkout.payment-method.after', ['payment' => $payment]) !!}
                                  

                                  $viewRenderEventManager->addTemplate('your file path');

                                  right?

                                  1 Reply Last reply Reply Quote 0
                                  • Y
                                    yousuf last edited by

                                    where we put this function ,

                                    Event::listen('bagisto.shop.checkout.payment-method.after', function($viewRenderEventManager) {
                                    $viewRenderEventManager->addTemplate('your file path');
                                    });

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rahul last edited by

                                      Hi @yousuf

                                      In your service providers boot method.

                                      Thanks

                                      1 Reply Last reply Reply Quote 0
                                      • Y
                                        yousuf last edited by

                                        e4494960-cb80-4bbf-9006-02451cb87a86-image.png @rahul said in How to include script and css file in payment.blade.php:

                                        method

                                        we can add this in shopserviceprovider ,but it not call

                                        1 Reply Last reply Reply Quote 0
                                        • Y
                                          yousuf last edited by

                                          can you tell me the path of provider where we add this lines

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rahul last edited by

                                            Hi @yousuf

                                            You have to give path of view not url. Please see below one.

                                            Event::listen('bagisto.shop.checkout.payment-method.after', function($viewRenderEventManager) {
                                                   $viewRenderEventManager->addTemplate('type-hint::folder1.flder2.filename');
                                            });
                                            

                                            and one more thing, you are adding this in shop packages service provider which is core package and once new version will be released so your changes will be destroy or show conflict while version update.
                                            So, if want to override any thing then create package for same and do all changes in your package.

                                            Thanks

                                            Y 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post