MPDF Library richtig Nutzen?

Hallo Zusammen, 

Ich bin gerade dabei ein Plugin zur generierung von PDFs bei klicken eines Buttons auf der Artikelseite zu erstellen. Ich hab jetzt mit einem js Plugin angefangen und wollte ein Ajax Request an eine php Funktion senden, die für das Rendern verantwortlich ist. Nachdem ich folgenden Beitrag gefunden ( https://forum.shopware.com/discussion/37661/pdf-erstellung-mit-mpdf-in-shopware-oder-anderem-tool-innerhalb-plugin) habe bin ich mir nicht mehr sicher ob das überhaupt sinnvoll ist oder ob es einen besseren Weg gibt das ganze umzusetzen. Ich hoffe ihr könnt mir da weiterhelfen und ein paar hilfreiche Tipps geben!

Vielen Dank schonmal im vorraus und schönes Wochenende!

Grüße Lukas

Hallo Lukas @IKM_Shop‍,

ich musste mal ein eigenes PDF generieren für dynamische Formular-PDFs - dafür habe ich damals einen eigenen Controller (den du ja auch per Ajax ansprechen kannst) im Plugin angelegt und dort dann die Mpdf-Library per 

require_once(Shopware()->DocPath().'engine/Library/Mpdf/mpdf.php');

$mpdf = \Mpdf(['mode'=>'utf-8']);

geladen…

Alles Weitere findest du dann hier: https://mpdf.github.io/

1 „Gefällt mir“

okay danke schon mal für den ersten Tip! 

ich hab bis jetzt so angefangen und wollte dann über den Ajax ein php funktion aufrufen. Bin ich damit auf dem richtigen Weg oder liege ich da total falsch? 

;(function ($, window) {
  'use strict';

  $.plugin('pdf', {
    defaults: {

    },

    init: function(){
      var me = this;

      me.applyDataAttributes();
      me.registerEvents();
      console.log('onInit');
    },

    registerEvents:function(){
      var me = this;
      me._on(me.$el, 'click', $.proxy(me.onButtonClick, me));

    },

    onButtonClick: function(event){
      console.log('onInitClick');
      var me = this;
          $.ajax({
            url: 'http://localhost:8080/themes/Frontend/MPDF/_private/smarty/pdf.php',
            type:'_post',
            success: function(response){
            console.log('Success');
              window.location = response

          }
          });
    },

    destroy: function(){

    }
  });
})(jQuery, window);

$('#pdf').pdf();

 

Ich denke du solltest dich erstmal mit den Grundlagen für Plugins auseinandersetzen: https://developers.shopware.com/plugin-guide/

Wenn du deinen eigenen Controller hast, brauchst du als URL bloß “/deinController” angeben

 

1 „Gefällt mir“