Jump to content
Ambigua

Module externe de produits aléatoire

Recommended Posts

Bonjour !

Je cherche a faire un fichier qui puisse être appeler sur d'autres pages du serveur ou externe au serveur qui afficherai une banniere ( 468*67 ou autre format) des produits aléatoirement pris du la boutique (produits activés) et qui fasse un lien vers ce ou ces produits !

J'avais écrit un truc comme ca pour osc, mais je sais pas comment m'y prendre pour PS

Je pense qu'un JS serait peut etre mieux adapté qu'un php .. mais est ce certain ( je suis une bille en js :| et en php, un bricolo !! :P )

Un eu comme les banniere de Google advert !!

On pourrait passer par ce bout de code les variables ( format, nb de produits)

Un truc comme ca existe déjà ??? ou dois je tout faire moi même ?? :D

Share this post


Link to post
Share on other sites

Salut !

bon, je me réponds !!

J'ai pas réussi a trouver ce type de module ou de fichier ! qui permette d'affiche sur une autre page une banniere, avec des produits aléatoires ...

Y'a rien ??

Share this post


Link to post
Share on other sites

Le module promotions (blockspecials) affiche des promos aléatoirement : tu pourrais peut être t'en inspirer.
Ce n'est pas un module compliqué à coder , peut être donc un bon exercice si tu as déja codé sous osc

Share this post


Link to post
Share on other sites

Salut !

Oui, j'ai regarder un peu comment ca marchait !!

ca me semble un peu complexe !! ( il faut que je comprenne la logique Prestashop !! )

Mais pour afficher de facon externe, il faut resoudre des "dependances" ... c'est la que je butte !!

j'aimerais faire un truc comme j'avais fait pour OSC, mais y'a longtemps, avec une autre logique et un module deja quasi fait :P

Ou on appellait une page php avec des parametres du genre : http://www.domaine.com/module/pub/index.php?format1 et ca renvoyait une banniere de 468*68 pixel avec x produits
avec format2 on avait un block de 200x200px..

Ainsi, avec un js, on affichait le contenu dans une div ( et je le faisait disparaitre au bout de x secondes ;) ) en affichage sur mon forum, ou sur mon site !!


Je vais tenter de refaire pareil avec ps ! ( c'est pas gagné, mais j'espere pouvoir compter sur l'aide de ce forum :P )

Share this post


Link to post
Share on other sites

Salut !

Bon, je me suis décidé a écrire ce foutu bout de code !

donc j'ai réussi a faire un fichier php qui m'affiche un nombre X ( par defaut 4 ) produits disponible et aléatoire de la base !

Il créé un simple tableau avec les produits dedans, je me suis pas occupé trop de la mise en forme ( c'est pour plus tard !

exemple = http://www.psitta.com/boutique/block1.php
pour afficher 8 produits = http://www.psitta.com/boutique/block1.php?nb=8
2 produits = http://www.psitta.com/boutique/block1.php?nb=2

bon, ca c'est du php, la je "maitrise" ( c'est un grand mot) !!

mais maintenant, je voudrait faire afficher le contenu de cette page dans une div de différents site ( genre banniere google)

J'ai cru comprendre que l'AJAX ( pas le truc pour les vitres) pouvait m'aider ..

J'aimerais juste insérer un bout de code là où je veux que ca affiche le bloc, avec par exemple un rafraichissement toutes les x secondes

Par contre, en php, je bidouille, mais en JS, la, je suis une bite !!

Est ce que quelqu'un peu m'aider ?? :P

Merci

Share this post


Link to post
Share on other sites

ben l'iframe, j'aime pas trop, deja parce que c'est pas "souple" !

je voulais plutot en ajax pour le mettre sur un certain nombre de site en inserant juste un bout de code js !
(comme on insere une banniere Google)

Share this post


Link to post
Share on other sites

Non non, c'est pas des iframe, mais du JS inserer ( j'ai un compte google adsence :P )

Share this post


Link to post
Share on other sites

oui je sais, mais c'est du JS qui créer une iframe (sauf erreur de ma part, mais je ne pense pas me tromper)

Share this post


Link to post
Share on other sites

non , c'est des div qui sont créer !! pas des iframe

J'ai réussi a faire un truc, mais dès que c'est "pointer" depuis un domaine different, ca marche pas :(

Je doit tester un truc que je viens de trouver !!

A voir !!

Share this post


Link to post
Share on other sites

Si je regarde votre code (VOTRE page d'accueil) j'ai :


[removed]<!--
google_ad_client = "ca-pub-8743502310785186";
/* Banniere libre */
google_ad_slot = "6714088821";
google_ad_width = 468;
google_ad_height = 60;
//-->
[removed]
[removed]
[removed]




Et une fois interprété j'ai :

<iframe width="468" scrolling="no" height="60" frameborder="0" vspace="0" style="left:0;position:absolute;top:0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8743502310785186&output=html&h=60&slotname=6714088821&w=468&lmt=1304368833&flash=10.2.159&url=http://www.psitta.com/boutique/&dt=1304368834093&shv=r20110420&jsv=r20110415&saldr=1&correlator=1304368834111&frm=0&adk=1962125505&ga_vid=1151349670.1304326230&ga_sid=1304368834&ga_hid=1839724327&ga_fc=1&u_tz=120&u_his=2&u_java=1&u_h=1024&u_w=1280&u_ah=984&u_aw=1280&u_cd=24&u_nplug=26&u_nmime=121&biw=1263&bih=830&eid=33895130&ref=http://www.psitta.com/boutique/product.php?id_product=71&fu=0&ifi=1&dtd=92&xpc=7KTOiOMsZb&p=http://www.psitta.com" name="google_ads_frame" marginwidth="0" marginheight="0" id="google_ads_frame1" hspace="0" allowtransparency="true"></iframe>



c’est bien une ifarme votre pub ;)

Share this post


Link to post
Share on other sites

en effet, le "resultat" est une iframe :P

mais le code inserer initialement n'est que du JS dans la page !! ( ca je sais, c'est moi qui l'ai mis :P )

bon, j'ai trouvé !

inserer : <iframe width="auto" scrolling="no" height=auto frameborder="0" vspace="0" style="right:15px;position:fixed;top:50px" src="http://www.psitta.com/boutique/block1.php?nb=1" name="ads_frame" marginwidth="0" marginheight="0" id="ads_frame1" hspace="0" allowtransparency="true"></iframe> sur vos site :P je vous en serait reconnaissant !

Pour ceux qui voudrait le code de "block1.php", pas de souci !

  • Like 1

Share this post


Link to post
Share on other sites

Salut,

 

Je veux bien le code moi car j'ai besoin de réaliser un truc identique...merci ;)

 

Je m'était plutot orienté vers l'API prestashop ( service web )...j'essayerai les 2 pour voir !

Share this post


Link to post
Share on other sites

Salut !

 

Le code block1.php :

<?php
include_once(dirname(__FILE__).'/config/settings.inc.php');

if((ISSET($_GET['nb']))&&(is_numeric($_GET['nb']))) {
$nb = $_GET['nb'];
} else {
$nb = '4';
	}
if((ISSET($_GET['p']))&&(is_numeric($_GET['p']))) {
	$p = "</tr><tr>";
	}

$connection = mysql_connect(_DB_SERVER_,_DB_USER_,_DB_PASSWD_);
if ( ! $connection ){
die ("connection impossible"); 
} else {
$mabasededonnee=_DB_NAME_;

mysql_select_db($mabasededonnee) or die ("pas de connection"); 

$requete = "SELECT `id_product`,`price` FROM `ps_product` WHERE `on_sale`= '0' AND `active` = '1' Order by Rand() limit ".$nb."";
$result = mysql_query($requete,$connection);

	if(!isset($_GET['norefresh'])) echo '<META http-equiv="Refresh" content="20">';
	echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >';
	echo "<table style='text-align:center'; width='100%' ><tr>";
//Pour chaque ligne, on creer un block 
	while($row = mysql_fetch_array($result))
	  {
		//On selectionne l'image de tete  
		$image = "SELECT `id_image` FROM `ps_image` WHERE `id_product`=".$row['id_product']." AND `cover` = '1' limit 1";
		$result1 = mysql_query($image,$connection); 
		$row1 = mysql_fetch_array($result1);
		//On selectionne le texte
		$texte = "SELECT `name`, `link_rewrite` FROM `ps_product_lang` WHERE `id_product`= ".$row['id_product']." AND `id_lang` = 2";
		$texte1 = mysql_query($texte,$connection);
		$texte_fr = mysql_fetch_array($texte1);
		$link = $texte_fr['link_rewrite'];
		
		echo "<td style='background-color: rgb(219, 232, 184); -moz-border-radius: 10px 10px 10px 10px; border-radius:10px;padding:1em;'>
			<a style='text-decoration:none; font-size:0.8em; border:none;' href='http://www.psitta.com/boutique/product.php?id_product=".$row['id_product']."'  target=_blank >";
		//L'image
		echo '<img src="http://www.psitta.com/boutique/'.$row1['id_image']."-medium_default/".$link.'.jpg" style="border:none;" ><br />';
		echo utf8_encode($texte_fr['name']);
		echo "<br />";
		echo number_format($row['price'], 2);
		echo "€ </a /></td />";
		if(ISSET($p)) echo $p;
	  }
		echo "</tr /></table />";
}
?>

A placer a la racine de la boutique et a appeler en JS ajax, avec les get qu'il faut !!

 

Share this post


Link to post
Share on other sites

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

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More