Skip to main content

Script pour bloquer plusieurs méthodes livraison

More
12 years 2 months ago - 12 years 2 months ago #163159 by Flooder
Bonjour à tous,
Sur lapagept.com, nous avons un 7 ou 8 méthodes de livraison différentes. Quand une nouvelle méthode de livraison est ajoutée, il faut la bloquer dans des centaines de produits qui ne sont pas concernés.

Voici donc notre script pour bloquer autant de méthodes de livraison que vous le voulez pour autant de produits que vous le voulez.

Notez que les id de produits doivent être consécutifs. Vous pouvez par exemple bloquer les méthodes de livraison d'id 1,3,5,7,8,9 pour les produits d'id 1234 à 2344. En un clic!!!!!

Si les produits à modifier ont déjà des méthodes de livraison bloquées, tout est effacé de la table hikashop_shipping_price et refait à neuf.
Code:
<?php define('_JEXEC', 1); define('DS', DIRECTORY_SEPARATOR); if (!defined('_JDEFINES')) { define('JPATH_BASE', '/Users/Flooder/Sites/pt4'); require_once JPATH_BASE.'/includes/defines.php'; } require_once JPATH_BASE.'/includes/framework.php'; // Mark afterLoad in the profiler. JDEBUG ? $_PROFILER->mark('afterLoad') : null; // Instantiate the application. $app = JFactory::getApplication('site'); // Initialise the application. $app->initialise(); $db = JFactory::getDBO(); $query = 'INSERT INTO tosdq_hikashop_shipping_price (shipping_id, shipping_price_ref_id, shipping_price_min_quantity, shipping_price_value, shipping_fee_value) VALUES '; if (isset($_POST["iddepart"])) { $start = $_POST["iddepart"]; $end = $_POST["idfin"]; $methodes = explode(',',$_POST["methods"]); $first = true; for ($id = $start; $id < $end; $id++) { $queryyy = 'DELETE FROM tosdq_hikashop_shipping_price WHERE shipping_price_ref_id='. (string)$id; echo $queryyy.'<br />'; $db->setQuery($queryyy); $rowsss = $db->query(); } for ($id = $start; $id <= $end; $id++) { $queryyy = 'DELETE FROM tosdq_hikashop_shipping_price WHERE shipping_price_ref_id='. (string)$id; echo $queryyy.'<br />'; $db->setQuery($queryyy); $rowsss = $db->query(); foreach($methodes as $methode) { if (!$first) $query .= ', '; $query .= ' (\''.(string)$methode.'\',\''.(string)$id.'\',\'1\',\'-1\',\'-1\')'; $first = false; } } echo $query.'<br />'; $db->setQuery($query); $rows = $db->query(); } ?> <!DOCTYPE HTML> <html> <body> <form action="BlockShippingMethods.php" method="post"> <p>ID produit depart : <input type="text" name="iddepart"></p> <p>ID produit fin : <input type="text" name="idfin"></p> <p>IDs shipping methods a bloquer (separees par virgule) : <input type="text" name="methods"></p> <input type="submit"> </form> <?php echo "zsdaSDA"."\r\n"."ASDasfdASD"; ?> <br /> <img src="./shippingmethods.png" /> </body> </html>


Last edit: 12 years 2 months ago by Flooder.
The following user(s) said Thank You: Jerome

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

Time to create page: 0.202 seconds
Powered by Kunena Forum