Jump to content

[Module] bloc derniers clients


mnementh64

Recommended Posts

Bonjour à tous,

 

Voici un nouveau module que j'utilise sur mon site et qui affiche un bloc avec la liste des derniers clients.

Dans l'admin, on peut paramétrer le format des lignes du genre :

$last_name $first_name, <strong>$city_name</strong>

D'autres champs sont dispos. Le HTML est supporté.

Optionnellement, on peut demander l'affichage du drapeau du pays.

 

Compatible PS 1.2.x, 1.3x, 14.x et 1.5.x

Compatible tout navigateur courant (je crois !!)

 

V0.3 (12/11/2012) : compatible avec Prestashop 1.5.x (sans multi-boutiques)

V0.2 (30/11/2011) : correction bug encodage nom

V0.1 : 1ère version

pss_lastcustomers_0.1.zip

pss_lastcustomers_0.2.zip

pss_lastcustomers_0.3.zip

Edited by mnementh64 (see edit history)
Link to comment
Share on other sites

  • 1 month later...

oops, désolé pour le délai de réponse ... C'est un peu maigre comme infos. Voici la requête qui est exécutée sur la base :

SELECT dummy.`id_customer`,dummy.`id_address_delivery`,a.`postcode`,a.`city`,st.`name` as state_name,co.`iso_code` as country_iso_code,col.`name` as country,c.`firstname`,c.`lastname` FROM (SELECT `id_customer`,`id_address_delivery` FROM `ps_orders` o GROUP BY `id_customer`,`id_address_delivery` ORDER BY `invoice_date` DESC LIMIT 10) as dummy INNER JOIN `ps_address` a ON dummy.`id_address_delivery`=a.`id_address` INNER JOIN `ps_country` co ON a.`id_country`=co.`id_country` INNER JOIN `ps_country_lang` col ON co.`id_country`=col.`id_country` LEFT JOIN `ps_state` st ON a.`id_state`=st.`id_state` INNER JOIN `ps_customer` c ON dummy.`id_customer`=c.`id_customer` WHERE col.`id_lang`=2

 

Pourrais-tu l'exécuter sur ta base pour voir si tu obtiens des réponses (ou une erreur) ?

 

Ensuite, il faudrait activer le mode debug de Prestashop pour voir si une erreur PHP s'affiche.

Link to comment
Share on other sites

Ok, le plus important maintenant est de tester cette requête. Même si vous débutez, je suppose que vous savez où se trouve votre base de données. Il faut alors utiliser un accès type "phpMyAdmin" pour pouvoir la consulter / exécuter des requêtes. Si c le cas, allez-y, cliquer en haut de l'écran sur un onglet qui s'appelle "SQL", collez-y la requête puis exécutez. Vérifiez si des lignes de réponses s'affichent.

Link to comment
Share on other sites

MySQL a retourné un résultat vide (aucune ligne). ( Traitement en 0.0010 sec )

SELECT dummy.`id_customer` , dummy.`id_address_delivery` , a.`postcode` , a.`city` , st.`name` AS state_name, co.`iso_code` AS country_iso_code, col.`name` AS country, c.`firstname` , c.`lastname`

FROM (

 

SELECT `id_customer` , `id_address_delivery`

FROM `ps_orders` o

GROUP BY `id_customer` , `id_address_delivery`

ORDER BY `invoice_date` DESC

LIMIT 10

Link to comment
Share on other sites

Ok, je suppose qu'il y a des commandes et des clients dans votre base ! Alors le problème doit venir des langues. Si vous affichez le front-office en français, votre cookie contient la langue d'id=2 et la requête est celle que j'ai indiquée plus haut. Sinon, il faut remplacer le 2 par l'id de la langue que vous utilisez. Cette id se trouve dans l'admin / outils / langues, devant chaque langue de la liste.

Peut-être vos pays ne sont-ils pas traduits pour la langue que vous utilisez ? A vérifier dans l'admin / transport / pays puis éditer un pays et changer la langue. Si le champ est vide ... ça va poser problème.

Link to comment
Share on other sites

bonjour.

 

j'ai tout fait rien a changer je suis en suisse donc j'utilise la langue francaise puis dans pays mon pays par default est la suisse mais je change de langue ect rien puis oui j'ai des clients dans ma base donc je comprends pas....

Link to comment
Share on other sites

Le id de la langue c'etait 3 et pas 2 truc tout con mais quand ont est new ont a du mal....

 

 

Par contre j'ai ici un probleme autre que cela que personne dans le forum depuis deja 4 jour arrive a me repondre pourriez vous m'aider ???

Link to comment
Share on other sites

}

 

public function curPageURL() {

 

$pageURL = 'http';

 

if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}

 

$pageURL .= "://";

 

if ($_SERVER["SERVER_PORT"] != "80") {

 

$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];

 

} else {

 

$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

 

}

 

return urlencode($pageURL);

 

}

 

 

Avec ce code la a la place que ca prenne le www. il y a pas moyen de le mettre autre chose style shop. car mon shop est en sous domaine quand ont clic sur j'aime un produit il me prends l'adresse racine du site plus le produit mais c'est faux car le produit est dans le sous domaine donc ca donne erreur me faudrais le meme code mais sans le www. mais avec shop.

Link to comment
Share on other sites

Bonjour mnementh64,

 

Très bonne idée ce module (comme d'habitude) !

Je me disais qu'on pourrait faire le même type de module pour afficher les dernières ventes (drapeaux pays - référence produit - nom produit et prix).

 

Qu'en penses-tu ?

Link to comment
Share on other sites

  • 1 year later...
  • 1 month later...
  • 1 year later...

il fonctionne sous 1.6 il faut juste supprimer 2 lignes

function install()
{
// check required version - 1.2.x or 1.3.x or 1.4.x or 1.5.x
if (!$this->isPs12x() && !$this->isPs13x() && !$this->isPs14x() && !$this->isPs15x()) <- à supprimer
 return false; <- à supprimer

Link to comment
Share on other sites

 

il fonctionne sous 1.6 il faut juste supprimer 2 lignes

function install()
{
// check required version - 1.2.x or 1.3.x or 1.4.x or 1.5.x
if (!$this->isPs12x() && !$this->isPs13x() && !$this->isPs14x() && !$this->isPs15x()) <- à supprimer
 return false; <- à supprimer

Salut Merci coeos.pro , Je mets le module modifier pour la 1.6 ! Amitiés

pss_lastcustomers (1.6).zip

Link to comment
Share on other sites

  • 2 weeks later...

Je viens d'installer le module uploadé par "PrestaShop Fanatic", et, au lieu de se trouver à suite, le texte (contenant le prénom et la ville du client) se superpose sur le drapeau :(
bloc-dernier-client.jpg

... et je n'ai pas trouvé de fichier CSS dans le module... juste un peu de code (no-repeat 0px 3px) directement inscrit dans le TPL :wacko:

 

Comment puis-je arranger cela?

Link to comment
Share on other sites

  • 5 months later...

Takio, 

Il te suffit de modifier le TPL en rajoutant la ligne padding-left :

<style type="text/css">
{literal}
#pss_block_last_customers ul li{
	white-space:nowrap;
	overflow:hidden;
	-o-text-overflow: ellipsis; /* pour Opera 9 */
        text-overflow: ellipsis; /* pour le reste du monde */
	padding-left:26px; /* Ligne à ajouter */
}
#pss_block_last_customers ul{
	padding-top:3px;
}
Edited by patate34 (see edit history)
Link to comment
Share on other sites

  • 1 month later...
  • 3 years later...

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