Jump to content

Récupérer la valeur nombre de produits en stock


Recommended Posts

Le module de test est dispo: voilà à quoi cela ressemble

fichier : blockaaa.php

<?php

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

class BlockAaa extends Module
{

   function __construct()
   {
       $this->name = 'blockaaa';
       $this->tab = 'Divers';
       $this->version = 0.0;

       parent::__construct();

       $this->displayName = $this->l('test');
       $this->description = $this->l('test');
   }

   function install()
   {
       if (!parent::install() OR !$this->registerHook('extraLeft'))
           return false;

           Configuration::updateValue('LC_PRODUCT_OUT_STOCK', 20);

       return true;

   }

   public function uninstall()
   {
       Configuration::deleteByName('LC_PRODUCT_OUT_STOCK');
       return parent::uninstall();
   }

   public function getContent()
   {
       $this->_postProcess_Rule_Control();
       $this->_html = ''.$this->displayName.'';
       $this->_html .= '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';
       $this->_html .= 'name.'/img/time.png" alt="" /> '.$this->l('TEST').'';
       $this->_html .= ''.$this->l('Jours supplémentaire lorsqu‚un produit est hors stock').'

           <input type="text" name="lc_product_out_stock" id="lc_product_out_stock" value="'.(int)(Tools::getValue('lc_product_out_stock', Configuration::get('LC_PRODUCT_OUT_STOCK'))).'" size="2" /> '.$this->l('jours');
           $this->_html .= '
'.$this->l('Nombre de jours à ajouter lorsque le produit est hors stock.').'



';
       $this->_html .= '
<input type="submit" class="button" name="submit" value="'.$this->l('Enregistrer').'" />';
       $this->_html .= '';
       $this->_html .= '</form>';
       return $this->_html;
   }

   private function _postProcess_Rule_Control()
   {
       if (Tools::isSubmit('submit'))
       {
           if (!Validate::isUnsignedInt(Tools::getValue('lc_product_out_stock')))
               $errors[] = $this->l('Le temps supplémentaire lorsqu’un produit est hors stock n’est pas renseigné');

           if (!sizeof($errors))
           {
               Configuration::updateValue('LC_PRODUCT_OUT_STOCK', (int)(Tools::getValue('lc_product_out_stock')));
               $this->_html .= $this->displayConfirmation($this->l('Règles de commande mise à jour')); 
           }
           else
               $this->_html .= $this->displayError(implode('
', $errors));
       }
   }

   function hookExtraLeft()
   {
       global $smarty;
       $smarty->assign('this_path', $this->_path);


       /* Temps supplémentaire lorsqu'un produit est hors stock */
       /* Si produits est hors stock alors ... */
       $lc_product_out_stock = (int)(Configuration::get('LC_PRODUCT_OUT_STOCK'));
       $date_now += $lc_product_out_stock * 24 * 3600;

       $mymodule = new BlockAaa();
       $message = $mymodule->l('produit dispo dans 20 jours');
       $smarty->assign('message',$message);


       return $this->display(__FILE__, 'blockaaa.tpl');
   }

}
?>



fichier : blockaaa.tpl




   {$message}


blockaaa.zip

Link to comment
Share on other sites

J'ai aussi trouvé dans le fichier PaymentModule.php 2 variables intéressante, le hic, elle me renvoie la valeur 0 lorsqu'elles sont dans mon fichier .

       $productQuantity = intval(Product::getQuantity(intval($product['id_product']), ($product['id_product_attribute'] ? intval($product['id_product_attribute']) : NULL)));
       $quantityInStock = ($productQuantity - intval($product['cart_quantity']) < 0) ? $productQuantity : intval($product['cart_quantity']);



quelqu'un aurait il une idée.

Merci et bon dev

Link to comment
Share on other sites

J'ai trouvé comment retourner le nombre de produits en stock en convertissant le javascript en php

$quantityAvailable ='< script type=" text / javascript " > document . write (quantityAvailable) < / SCRIPT >';


PS: j'ei mis un espace en (document . write) sinon rien ne s'affiche


Celà me donne le nombre de produits en stock. Maintenant nouveau problème:

if ($quantityAvailable > '0')


j'ai le problème suivant, quelque soit le nombre de produits retourné, il ni a pas de différence entre en stock et hors stock.


Avez vous une idée ?

Cordialement

Link to comment
Share on other sites

Bonsoir.

Toujours dans mes tests, je pense peu être me tourner vers la base de donnée

   /* stock */
   $id_product = intval(Tools::getValue('id_product'));
   $stock = Db::getInstance()->getValue('SELECT quantity FROM `'._DB_PREFIX_.'product WHERE `id_product` = '.$id_product);



Le problème c'est que celà ne me renvois rien contrairement à ce qui suit qui me renvoit la langue:

global $cookie;
   $iso = Db::getInstance()->getValue('SELECT iso_code FROM '._DB_PREFIX_.'lang WHERE `id_lang` = '.intval($cookie->id_lang));



Quelqu'un gère t'il le MySQL pour me donner un dernier coup de main?

Merci encore

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...