Skip to main content

Récupérer prices[ ] dans hikashop_quantity_render

More
13 years 2 months ago #117063 by Flooder
Bonjour à tous,

Je suis en train de créer une nouvelle fonction hikashop_quantity_render($html,$i,$max_quantity,$min_quantity) dans le fichier /templates/.../html/hikashop_button.php.

Je pensais pouvoir accéder au tableau des prix de mon produit avec $this->row->prices[] mais cette variable ne semble pas fonctionner dans /templates/.../html/hikashop_button.php.

Dois-je absolument accéder au prix de mon produit en faisant une requête à la base de données? Ne pourrais-je pas utiliser simplement une variable?

Merci (encore)

Please Log in or Create an account to join the conversation.

More
13 years 1 month ago #117087 by Flooder
Voici où j'en suis maintenant pour récupérer le tableau des prix d'un produit dans /templates/.../html/hikashop_button.php.

Si je réussis à faire fonctionner jusqu'à print_r($productRows), je pourrai terminer. Mais ça ne fonctionne pas. Il y a une erreur avant le print_r, mais je ne vois pas ce qui cloche.

Pouvez-vous m'aider?

Code:
<?php function hikashop_quantity_render($html,$i,$max_quantity,$min_quantity){ $class = hikashop_get('class.currency'); $zone = hikashop_getZone(); echo "zone".$zone."<br />"; $currency = hikashop_getCurrency(); echo "currency". $currency."<br />"; $product_id = hikashop_getCID(); echo "id du produit". $product_id."<br />"; $query= 'SELECT * FROM '.hikashop_table('product').' WHERE product_id='.$product_id; $myDatabase->setQuery($query); $result = $myDatabase->query(); $productRows = $myDatabase->loadObjectList(); $class->getListingPrices($productRows, $zone, $currency ); print_r($productRows); /*À terminer return ' <input type="radio" name="group2" value="Q1"> Quantité 1<br> <input type="radio" name="group2" value="Q2" checked>Quantité 2<br />'.$html; À terminer */ } ?>

Please Log in or Create an account to join the conversation.

More
13 years 1 month ago #117108 by nicolas
Bonjour,

C'est la bonne méthode en effet.
Il faut que vous enleviez la ligne:
$result = $myDatabase->query();

Sinon, la ligne d'après ne renverra rien.
The following user(s) said Thank You: Flooder

Please Log in or Create an account to join the conversation.

More
13 years 1 month ago - 13 years 1 month ago #117142 by Flooder
Et voilà! Ça fonctionne au poil.

<?php
Code:
function hikashop_quantity_render($html,$i,$max_quantity,$min_quantity){ $db = JFactory::getDBO(); $class = hikashop_get('class.currency'); $zone = hikashop_getZone(); echo "zone".$zone."<br />"; $currency = hikashop_getCurrency(); echo "currency". $currency."<br />"; $product_id = hikashop_getCID(); echo "id du produit". $product_id."<br />"; $query= 'SELECT * FROM '.hikashop_table('product').' WHERE product_id='.$product_id; $db->setQuery($query); //$result = $myDatabase->query(); $productRows = $db->loadObjectList(); $class->getListingPrices($productRows, $zone, $currency ); print_r($productRows); }
Last edit: 13 years 1 month ago by Flooder.

Please Log in or Create an account to join the conversation.

More
13 years 1 month ago - 13 years 1 month ago #117146 by Flooder
Ma liste déroulante fonctionne maintenant. Le client ne peut acheter que les quantités minimales pour chaque prix.

En voici le contenu actuel de mon fichier templates/../html/hikashop_button.php :
Code:
function hikashop_quantity_render($html,$i,$max_quantity,$min_quantity){ $db = JFactory::getDBO(); $class = hikashop_get('class.currency'); $zone = hikashop_getZone(); $currency = hikashop_getCurrency(); $product_id = hikashop_getCID(); $query= 'SELECT * FROM '.hikashop_table('product').' WHERE product_id='.$product_id; $db->setQuery($query); $productRows = $db->loadObjectList(); $class->getListingPrices($productRows, $zone, $currency ); $first = 0; $chaine = '<select id="hikashop_product_quantity_field" name="quantity">'; $tableau = array(); foreach ($productRows[0]->prices as $price) { $min = $price->price_min_quantity; if ($min == 0) $min = 1; $tableau[] = $min; } asort($tableau); foreach ($tableau as $num) { $chaine .= '<option value="' . $num . '">' . $num . '</option>'; } $chaine .= '</select>'; return $chaine . $html; }
Last edit: 13 years 1 month ago by Flooder. Reason: J'ai trouvé une petite coquille... C'est corrigé!
The following user(s) said Thank You: nicolas

Please Log in or Create an account to join the conversation.

Time to create page: 0.169 seconds
Powered by Kunena Forum