Jump to content

Insertion d'un target="_blank" dans le module Bloc logos des modules de paiement


Recommended Posts

Bonjour et merci à tous d'avance pour votre aide.

Je voudrais rajouter un

target="_blank"

pour ouvrir une nouvelle fenêtre avec le lien que l'on renseigne dans le module Bloc logos des modules de paiement (productpaymentlogos).

 

On trouve dans le module le fichier productpaymentlogos.php, où il me semble que c'est ici que l'on va insérer le code ; mais je ne sais pas du tout où le mettre n'étant pas un codeur.

 

Pouvez-me dire la modification à effectuer ?

Encore merci.

 

Ci-dessous le code du fichier.

<?php
/*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2016 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

if (!defined('_PS_VERSION_'))
	exit;

class ProductPaymentLogos extends Module
{
	public function __construct()
	{
		$this->name = 'productpaymentlogos';
		$this->tab = 'front_office_features';
		$this->version = '1.4.1';
		$this->author = 'PrestaShop';
		$this->need_instance = 0;

		$this->bootstrap = true;
		parent::__construct();

		$this->displayName = $this->l('Product payment logos block');
		$this->description = $this->l('Displays the logos of the available payment systems on the product page.');

		$this->ps_versions_compliancy = array('min' => '1.6', 'max' => '1.6.99.99');
	}

	public function install()
	{
		Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', 'payment-logo.png');
		Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', '');
		Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', '');

		$this->_clearCache('productpaymentlogos.tpl');

		return parent::install() && $this->registerHook('displayProductButtons') && $this->registerHook('header');
	}

	public function uninstall()
	{
		Configuration::deleteByName('PRODUCTPAYMENTLOGOS_IMG');
		Configuration::deleteByName('PRODUCTPAYMENTLOGOS_LINK');
		Configuration::deleteByName('PRODUCTPAYMENTLOGOS_TITLE');

		return parent::uninstall();
	}

	public function hookDisplayProductButtons($params)
	{
		if (Configuration::get('PS_CATALOG_MODE'))
			return;
		if (!$this->isCached('productpaymentlogos.tpl', $this->getCacheId()))
		{
			$this->smarty->assign(array(
				'banner_img' => 'img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'),
				'banner_link' => Configuration::get('PRODUCTPAYMENTLOGOS_LINK'),
				'banner_title' => Configuration::get('PRODUCTPAYMENTLOGOS_TITLE')
			));
		}
		return $this->display(__FILE__, 'productpaymentlogos.tpl', $this->getCacheId());
	}

	public function hookHeader($params)
	{
		if (Configuration::get('PS_CATALOG_MODE'))
			return;
		$this->context->controller->addCSS($this->_path.'productpaymentlogos.css', 'all');
	}

	public function postProcess()
	{
		if (Tools::isSubmit('submitStoreConf'))
		{
			Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', Tools::getValue('PRODUCTPAYMENTLOGOS_LINK'));
			Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE'));
			if (isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']) && isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name']) && !empty($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name']))
			{
				if (ImageManager::validateUpload($_FILES['PRODUCTPAYMENTLOGOS_IMG'], 4000000))
					return $this->displayError($this->l('Invalid image'));
				else
				{
					$ext = Tools::substr($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], Tools::strrpos($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], '.') + 1);
					$file_name = md5($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name']).'.'.$ext;
					if (!move_uploaded_file($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name'], dirname(__FILE__).'/img/'.$file_name))
						return $this->displayError($this->l('An error occurred while attempting to upload the file.'));
					else
					{
						$file_path = dirname(__FILE__).'/img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG');

						if (Configuration::hasContext('PRODUCTPAYMENTLOGOS_IMG', null, Shop::getContext()) &&
							Configuration::get('PRODUCTPAYMENTLOGOS_IMG') != $file_name &&
							file_exists($file_path)
						)
							unlink($file_path);

						Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', $file_name);
						$this->_clearCache('productpaymentlogos.tpl');

						Tools::redirectAdmin('index.php?tab=AdminModules&conf=6&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'));
					}
				}
			}
			$this->_clearCache('productpaymentlogos.tpl');
		}

		return '';
	}

	public function getContent()
	{
		return $this->postProcess().$this->renderForm();
	}

	public function renderForm()
	{
		$fields_form = array(
			'form' => array(
				'legend' => array(
					'title' => $this->l('Settings'),
					'icon' => 'icon-cogs'
				),
				'input' => array(
					array(
						'type' => 'text',
						'label' => $this->l('Block heading'),
						'name' => 'PRODUCTPAYMENTLOGOS_TITLE',
						'desc' => $this->l('You can choose to add a heading above the logos.')
					),
					array(
						'type' => 'file',
						'label' => $this->l('Block image'),
						'name' => 'PRODUCTPAYMENTLOGOS_IMG',
						'thumb' => '../modules/'.$this->name.'/img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'),
					),
					array(
						'type' => 'text',
						'label' => $this->l('Image link'),
						'name' => 'PRODUCTPAYMENTLOGOS_LINK',
						'desc' => $this->l('You can either upload your own image using the form above, or link to it from the "Image link" option.')
					)
				),
				'submit' => array(
					'title' => $this->l('Save'),
				)
			),
		);

		$helper = new HelperForm();
		$helper->show_toolbar = false;
		$helper->table = $this->table;
		$lang = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
		$helper->default_form_language = $lang->id;
		$helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0;
		$helper->identifier = $this->identifier;
		$helper->submit_action = 'submitStoreConf';
		$helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
		$helper->token = Tools::getAdminTokenLite('AdminModules');
		$helper->tpl_vars = array(
			'fields_value' => $this->getConfigFieldsValues(),
			'languages' => $this->context->controller->getLanguages(),
			'id_language' => $this->context->language->id
		);

		return $helper->generateForm(array($fields_form));
	}

	public function getConfigFieldsValues()
	{
		return array(
			'PRODUCTPAYMENTLOGOS_IMG' => Tools::getValue('PRODUCTPAYMENTLOGOS_IMG', Configuration::get('PRODUCTPAYMENTLOGOS_IMG')),
			'PRODUCTPAYMENTLOGOS_LINK' => Tools::getValue('PRODUCTPAYMENTLOGOS_LINK', Configuration::get('PRODUCTPAYMENTLOGOS_LINK')),
			'PRODUCTPAYMENTLOGOS_TITLE' => Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE', Configuration::get('PRODUCTPAYMENTLOGOS_TITLE')),
		);
	}
}

Link to comment
Share on other sites

Merci de votre retour ! il y a un fichier tpl : productpaymentlogos.tpl

 

Voici le code...

{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2016 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
<!-- Productpaymentlogos module -->
<div id="product_payment_logos">
	<div class="box-security">
    <h5 class="product-heading-h5">{$banner_title|escape:'htmlall':'UTF-8'}</h5>
  	{if $banner_link != ''}<a href="{$banner_link|escape:'htmlall':'UTF-8'}" title="{$banner_title|escape:'htmlall':'UTF-8'}">{/if}
		<img src="{$module_dir}{$banner_img|escape:'htmlall':'UTF-8'}" alt="{$banner_title|escape:'htmlall':'UTF-8'}" class="img-responsive" />
	{if $banner_link != ''}</a>{/if}
    </div>
</div>
<!-- /Productpaymentlogos module -->

Link to comment
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
×
×
  • Create New...