Hello
J'ai recréer un module from scratch à partir de ton code (il manque le module.xml :-))
Dans ton template : cette notation
{$restrictedDeliveryExcludedDelivery}
sert à affiché une variable. Comme je suppose qu'elle n'est pas initialisée ailleurs, du coup RIEN ne s'affiche ^ ^
Si dans le template tu utilises cette notation
{restrictedDeliveryExcludedDelivery}
tu tombes alors sur le message suivant
{restrictedDeliveryExcludedDelivery}</div>" unknown tag 'restrictedDeliveryExcludedDelivery' <-- thrown in /Applications/MAMP/htdocs/ferm...
Le code suivant est bel et bien opérationnel (après avoir activer le module dans l'admin et vider le cache
php Thelia cache:clear --env=prod
Code du module
php Thelia module:generate RestrictedDelivery
modules/RestrictedDelivery/Config/module.xml
<?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>RestrictedDelivery\RestrictedDelivery</fullnamespace>
<descriptive locale="en_US">
<title>Debug version of RestrictedDeliveryExcludeDelivery</title>
</descriptive>
<descriptive locale="fr_FR">
<title>Debug version of RestrictedDeliveryExcludeDelivery</title>
</descriptive>
<languages>
<language>en_US</language>
<language>fr_FR</language>
</languages>
<version></version>
<authors>
<author>
<name></name>
<email></email>
</author>
</authors>
<type>classic</type>
<thelia>2.4.0</thelia>
<stability>other</stability>
<mandatory>0</mandatory>
<hidden>0</hidden>
</module>
modules/RestrictedDelivery/Config/config.xml
<?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">
<loops>
<loop name="restricted_delivery.get" class="RestrictedDelivery\Loop\RestrictedDeliveryLoop" />
</loops>
<services>
<service id="restricted_delivery.exclude_delivery.smarty.plugin" class="RestrictedDelivery\Smarty\Plugins\RestrictedDeliveryExcludeDelivery" scope="request">
<tag name="thelia.parser.register_plugin" />
</service>
</services>
</config>
modules/RestrictedDelivery/Smarty/Plugins/RestrictedDeliveryExcludeDelivery.php
<?php
namespace RestrictedDelivery\Smarty\Plugins;
use TheliaSmarty\Template\AbstractSmartyPlugin;
use TheliaSmarty\Template\SmartyPluginDescriptor;
class RestrictedDeliveryExcludeDelivery extends AbstractSmartyPlugin
{
public function getPluginDescriptors()
{
return array(
new SmartyPluginDescriptor("function", "restrictedDeliveryExcludeDelivery", $this, "restrictedDeliveryExcludeDelivery"),
);
}
/**
* @param $params
* @param $smarty
*/
public function restrictedDeliveryExcludeDelivery($params, $smarty)
{
return 'Affiché par {restrictedDeliveryExcludeDelivery}';
}
}