jeudi 11 décembre 2014

Du e-commerce et du jquery == de la personnalisation en ligne

Une fois n'est pas coutume, une petite présentation d'un travail.

La boutique en question : enseignes en ligne http://mon-enseigne.fr

Le moteur : une base e-commerce. (oscss, pour changer de prestashop, tiens)

Le plug-in jquery utilisé : Fancy Product Designer, chez envato
http://codecanyon.net/item/fancy-product-designer-jquery-plugin/3581183?WT.mc_id=item_update_email&utm_content=sysemail&utm_keyword=sysemail&utm_medium=sysemail&utm_source=sysemail&utm_term=sysemail

Le but ; personnalisation du plugin + intégration au processus de commande.


jeudi 9 octobre 2014

Prestashop 1.5 : afficher les messages des commandes dans le BO

Yop yop yop

Alors comme ça, les messages que l'on envoie aux clients ne sont plus affichés dans le détail des commandes du BO ?

classes/Message.php

ligne 91

On remplace la fonction getMessagesByOrderId par celle ci :

public static function getMessagesByOrderId($id_order, $private = false, Context $context = null)
{
   if (!Validate::isBool($private))
    die(Tools::displayError());
  if (!$context)
   $context = Context::getContext();
  $m = Db::getInstance()->executeS('
   SELECT m.*, c.`firstname` AS cfirstname, c.`lastname` AS clastname, e.`firstname` AS efirstname, e.`lastname` AS elastname,
   (COUNT(mr.id_message) = 0 AND m.id_customer != 0) AS is_new_for_me
   FROM `'._DB_PREFIX_.'message` m
   LEFT JOIN `'._DB_PREFIX_.'customer` c ON m.`id_customer` = c.`id_customer`
   LEFT JOIN `'._DB_PREFIX_.'message_readed` mr
    ON mr.`id_message` = m.`id_message`
    AND mr.`id_employee` = '.(isset($context->employee) ? (int)$context->employee->id : '\'\'').'
   LEFT OUTER JOIN `'._DB_PREFIX_.'employee` e ON e.`id_employee` = m.`id_employee`
   WHERE m.`id_order` = '.(int)$id_order.'
   '.(!$private ? ' AND m.`private` = 0' : '').'
   GROUP BY m.id_message
   ORDER BY m.date_add DESC
  ');

  $o = Db::getInstance()->executeS('
   SELECT ct.*, m.*, e.`firstname` AS efirstname, e.`lastname` AS elastname
   FROM `'._DB_PREFIX_.'customer_thread` ct
   LEFT JOIN `'._DB_PREFIX_.'customer_message` m ON m.`id_customer_thread` = ct.`id_customer_thread`
   LEFT OUTER JOIN `'._DB_PREFIX_.'employee` e ON e.`id_employee` = m.`id_employee`
   WHERE ct.`id_order` = '.(int)$id_order.'
   ORDER BY ct.`date_add` DESC'
  );

  return array_merge($o,$m);

}