AngelDisc Posted December 15, 2010 Share Posted December 15, 2010 Bonjour.Dans le but de développer un petit module, je bute sur un truc tout bête, je n'arrive pas a récupérer le nombre de produits en stock. Cette variable peu elle être utiliser en php ?Cordialement Link to comment Share on other sites More sharing options...
BVince Posted December 15, 2010 Share Posted December 15, 2010 Bonjour,tout dépend des variables que tu as déjà en amont de ton code... Link to comment Share on other sites More sharing options...
AngelDisc Posted December 15, 2010 Author Share Posted December 15, 2010 OKMais es-ce possible de récupérer le stock de la page qui est visitée ?Merci encorePS: je mettrais le code réaliser à dispo en début de semaine prochaine Link to comment Share on other sites More sharing options...
BVince Posted December 15, 2010 Share Posted December 15, 2010 Donc tu es sur la page produit ou pas ? en front office ? Link to comment Share on other sites More sharing options...
AngelDisc Posted December 15, 2010 Author Share Posted December 15, 2010 Donc tu es sur la page produit ou pas ? en front office ? Oui je suis sur la page produit et en front office, je vois le stock du produit, mais pas moyen de trouver la variable qui va me renvoyer la valeur....Merci encore . Link to comment Share on other sites More sharing options...
BVince Posted December 15, 2010 Share Posted December 15, 2010 La variable en smarty : {$product->quantity} Link to comment Share on other sites More sharing options...
AngelDisc Posted December 15, 2010 Author Share Posted December 15, 2010 Le module de test est dispo: voilà à quoi cela ressemblefichier : 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 More sharing options...
BVince Posted December 16, 2010 Share Posted December 16, 2010 Bonjour,un petit détail sur ce que fait le module ? Link to comment Share on other sites More sharing options...
AngelDisc Posted December 16, 2010 Author Share Posted December 16, 2010 Bonjour.Je veux afficher le nombres de jours qui sépare de l'approvisionnement si le produits est commandé. Link to comment Share on other sites More sharing options...
AngelDisc Posted December 17, 2010 Author Share Posted December 17, 2010 Bonjour, j'ai peu être un début de réponse pour me renvoyer le nombre de produits en stock avec l'ID du produit $id_product = intval(Tools::getValue('id_product')); maintenant comment reste plus qu'a trouver le reste Bon dev à tous Link to comment Share on other sites More sharing options...
AngelDisc Posted December 17, 2010 Author Share Posted December 17, 2010 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 More sharing options...
AngelDisc Posted December 19, 2010 Author Share Posted December 19, 2010 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'afficheCelà 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 More sharing options...
AngelDisc Posted December 21, 2010 Author Share Posted December 21, 2010 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now