[29/05/2024]

Nouveau module pour afficher les modes de paiement acceptés dans le footer du site
This commit is contained in:
2024-05-29 17:04:15 +02:00
parent 1ecc1c95ed
commit 20f52baa31
13 changed files with 209 additions and 13 deletions

View File

@@ -6,6 +6,6 @@
justify-content: space-between; justify-content: space-between;
} }
#delivery-modes img { #delivery-modes img {
width: 85px; height: 50px;
vertical-align: center; vertical-align: center;
} }

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<config xmlns="http://thelia.net/schema/dic/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
<hooks>
<hook id="paymentmethodsinfooter.hook" class="PaymentMethodsInFooter\Hook\FrontHook">
<tag name="hook.event_listener" event="main.stylesheet" templates="css:assets/style.css" />
<tag name="hook.event_listener" event="main.footer-body" />
</hook>
</hooks>
</config>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="http://thelia.net/schema/dic/module"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://thelia.net/schema/dic/module http://thelia.net/schema/dic/module/module-2_2.xsd">
<fullnamespace>PaymentMethodsInFooter\PaymentMethodsInFooter</fullnamespace>
<descriptive locale="en_US">
<title>Display payment methods allowed in footer of the site</title>
</descriptive>
<descriptive locale="fr_FR">
<title>Affiche les modes de paiement acceptés, dans le footer du site</title>
</descriptive>
<languages>
<language>en_US</language>
<language>fr_FR</language>
</languages>
<version>1.0.0</version>
<authors>
<author>
<name>Laurent LE CORRE</name>
<email>laurent@thecoredev.fr</email>
</author>
</authors>
<type>classic</type>
<thelia>2.3.0</thelia>
<stability>other</stability>
<mandatory>0</mandatory>
<hidden>0</hidden>
</module>

View File

@@ -0,0 +1,28 @@
<?php
namespace PaymentMethodsInFooter\Hook;
use Thelia\Core\Event\Hook\HookRenderBlockEvent;
use Thelia\Core\Hook\BaseHook;
/**
* Class FrontHook
* @package PaymentMethodsInFooter\Hook
* @author Laurent LE CORRE <laurent@thecoredev.fr>
*/
class FrontHook extends BaseHook
{
public function onMainFooterBody(HookRenderBlockEvent $event)
{
$content = trim($this->render("footer.html"));
if ("" != $content) {
$event->add(
array(
"id" => "payment-methods-footer-body",
"title" => $this->trans("Our payment methods", array(), "paymentmethodsinfooter"),
"content" => $content
)
);
}
}
}

View File

@@ -0,0 +1,4 @@
<?php
return array(
'Our payment methods' => 'Our payment methods',
);

View File

@@ -0,0 +1,4 @@
<?php
return array(
'Our payment methods' => 'Nos moyens de paiement',
);

View File

@@ -0,0 +1,28 @@
<?php
/*************************************************************************************/
/* This file is part of the Thelia package. */
/* */
/* Copyright (c) OpenStudio */
/* email : dev@thelia.net */
/* web : http://www.thelia.net */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************/
namespace PaymentMethodsInFooter;
use Thelia\Module\BaseModule;
class PaymentMethodsInFooter extends BaseModule
{
/** @var string */
const DOMAIN_NAME = 'paymentmethodsinfooter';
/*
* You may now override BaseModuleInterface methods, such as:
* install, destroy, preActivation, postActivation, preDeactivation, postDeactivation
*
* Have fun !
*/
}

View File

@@ -0,0 +1,55 @@
# Payment Methods In Footer
Add a short description here. You can also add a screenshot if needed.
## Installation
### Manually
* Copy the module into ```<thelia_root>/local/modules/``` directory and be sure that the name of the module is PaymentMethodsInFooter.
* Activate it in your thelia administration panel
### Composer
Add it in your main thelia composer.json file
```
composer require your-vendor/payment-methods-in-footer-module:~1.0
```
## Usage
Explain here how to use your module, how to configure it, etc.
## Hook
If your module use one or more hook, fill this part. Explain which hooks are used.
## Loop
If your module declare one or more loop, describe them here like this :
[loop name]
### Input arguments
|Argument |Description |
|--- |--- |
|**arg1** | describe arg1 with an exemple. |
|**arg2** | describe arg2 with an exemple. |
### Output arguments
|Variable |Description |
|--- |--- |
|$VAR1 | describe $VAR1 variable |
|$VAR2 | describe $VAR2 variable |
### Exemple
Add a complete exemple of your loop
## Other ?
If you have other think to put, feel free to complete your readme as you want.

View File

@@ -0,0 +1,11 @@
{
"name": "your-vendor/payment-methods-in-footer-module",
"license": "LGPL-3.0+",
"type": "thelia-module",
"require": {
"thelia/installer": "~1.1"
},
"extra": {
"installer-name": "PaymentMethodsInFooter"
}
}

View File

@@ -0,0 +1,11 @@
#payment-methods ul {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: space-between;
}
#payment-methods img {
height: 48px;
vertical-align: center;
}

View File

@@ -0,0 +1,15 @@
<section id="our-payment-methods">
<div id="payment-methods">
<ul class="list-unstyled row">
{loop type="module" active="yes" module_type="3" name="payment_list" order="manual"}
{loop type="image" name="payment_image" source="module" source_id={$ID}}
<li class="item col-xs-6 col-sm-4 col-md-2">
<article class="row">
<img src="{$IMAGE_URL}" alt="{$TITLE}" />
</article>
</li>
{/loop}
{/loop}
</ul>
</div>
</section>

View File

@@ -193,12 +193,11 @@ GNU General Public License : http://www.gnu.org/licenses/
<!-- DEBUT CHOIX PAR COULEURS SUR PAGE D'ACCUEIL--> <!-- DEBUT CHOIX PAR COULEURS SUR PAGE D'ACCUEIL-->
<!--<div class="container"> <!--<div class="container">
<div class="row"> <div class="row">
<div class="col-md-4" style="padding:0px"> <div class="col-md-4" style="padding:0px">
{loop type="category" name="category.navigation" parent="188"}
{loop type="category" name="category.navigation" parent="188"} <div class="col-xs-3" style="text-align:center">
<div class="col-xs-3" style="text-align:center"> <a href="{$URL}">
<a href="{$URL}">
{loop type="image" name="category.thumbnail" source="category" source_id="{$ID}"} {loop type="image" name="category.thumbnail" source="category" source_id="{$ID}"}
<img src="{$IMAGE_URL}" alt="{$TITLE}" width="60px" border="0"/> <img src="{$IMAGE_URL}" alt="{$TITLE}" width="60px" border="0"/>
{/loop} {/loop}
@@ -211,10 +210,9 @@ GNU General Public License : http://www.gnu.org/licenses/
{if {$LOOP_COUNT} == 8} {if {$LOOP_COUNT} == 8}
</div><div class="col-md-4" style="padding:0px"> </div><div class="col-md-4" style="padding:0px">
{/if} {/if}
{/loop}
{/loop} </div>
</div> </div>
</div>
</div><!-- /.container --> </div><!-- /.container -->
@@ -227,7 +225,7 @@ GNU General Public License : http://www.gnu.org/licenses/
<div class="blocks row"> <div class="blocks row">
{hookblock name="main.footer-body" fields="id,class,title,content"} {hookblock name="main.footer-body" fields="id,class,title,content"}
{forhook rel="main.footer-body"} {forhook rel="main.footer-body"}
<div class="col col-md-6"> <div class="col col-md-4">
<section {if $id} id="{$id}"{/if} class="block {if $class} block-{$class}{/if}"> <section {if $id} id="{$id}"{/if} class="block {if $class} block-{$class}{/if}">
<div class="block-heading"><h3 class="block-title">{$title}</h3></div> <div class="block-heading"><h3 class="block-title">{$title}</h3></div>
<div class="block-content"> <div class="block-content">