Jump to content

Imprimer un "tpl"


Recommended Posts

Bonjour,

Voila je suis entrain de créer un module

J'ai un hook "actionPaymentConfirmation" qui permet d'afficher un tpl qui contient le contenu de la commande sous forme de ticket...

Par contre rien ne s'affiche... peut etre passer par une fenetre modal?

Voici mon code

public function actionPaymentConfirmation($params)
	{
		if(!empty(Context::getContext()->controller->controller_type) && (Context::getContext()->controller->controller_type== 'admin'))
		{
			$order = $params['order'];

			$format = array(
				'size' => Configuration::get('DS_PRINTTICKETS_SIZE'),
				'margintop' => Configuration::get('DS_PRINTTICKETS_MARGINTOP'),
				'marginbottom' => Configuration::get('DS_PRINTTICKETS_MARGINBOTTOM'),
				'marginright' => Configuration::get('DS_PRINTTICKETS_MARGINRIGHT'),
				'marginleft' => Configuration::get('DS_PRINTTICKETS_MARGINLEFT'),
			);
			
			
			$this->context->smarty->assign([
				'format' => $format,
				'order' => $order,
				'showlogo' => Configuration::get('DS_PRINTTICKETS_SHOWLOGO'),
				'showloyalty' => Configuration::get('DS_PRINTTICKETS_SHOWLOYALTY')
			  ]);
		 
			return $this->display(__FILE__, 'receipt.tpl');
		}
	}

Pouvez-vous m'aider?

Merci

Share this post


Link to post
Share on other sites

il faut vérifier dans un premier temps que c'est bien greffé et que la condition if peut se faire, rajoute un 

Configuration::updateValue('xxx', Context::getContext()->controller->controller_type);

et vérifie la valeur de xxx dans la table ps_configuration (je te conseil ce module gratuit : https://www.coeos.pro/fr/modules-prestashop/41-table-viewer.html )

Share this post


Link to post
Share on other sites

apparemment l'info est vide. Je vais retirer la condition dans un premier temps pour voir si le principe fonctionne... Je vous tiens au courant 😉 merci pour cette petite piste

Autre petite question, si je veux que ce process soit accessible via un bouton plutot qu'automatiquement via ce hook...

Je dois passer par du javascript?

Share this post


Link to post
Share on other sites

Bonjour,

voici mon ajax mais apparamment il affiche dans la console "undefined"

ocument).on('click', '#printReceipt', function() {
	var html;
    $.ajax({
        url : 'modules/ds_printtickets/ds_printtickets.php',
        cache : false,
        type : 'POST',
        data : {
            ajax: true,
            action: "fetchTPL",
        },
        success : function(result) {
            if (result) {
                html = result;
            }
        }
    });
	console.log(html);

	var newWin=window.open('','Print-Window');

	newWin.document.open();

	newWin.document.write('<html><body onload="window.print()">'+html+'</body></html>');

	newWin.document.close();

	setTimeout(function(){newWin.close();},10);
});

Merci pour votre aide

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More