Fork me on GitHub




« 1 (2) 3 4 5 »


Re: Intégration de l'option taille, couleur, ... dans Oledrion
Aspirant
Inscrit: 17/06/2008 15:34
Messages: 92
Tu dois pouvoir ajouter ta ligne ici:
/modules/oledrion/admin/actions/products.php

Case: Edit

Et ensuite tu ajoute le type de ligne que tu veut en utilisant les classes xoops, en l'occurence un objet du style:
$couleur = new XoopsFormSelect
(...)
$sform->addElement($couleur, true);

Tu peut t'appuyer sur les éléments déjà mit en place dans ce même fichier, comme pour la liste des fabricants.

PS: Ouais j'avais mit case: Edit, ou Add c'est la même

Posté le : 07/09/2009 16:44
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Oui ça je sais faire, mais la liste déroulante n'est pas pour le côté admin, mais le côté client.

Côté admin je mets un champs text normal , dans lequel j'écris une suite de valeurs séparées par un pipe ou autre.

Ce qu'il faut ensuite, côté client c'est récupérer la valeur de ce champs et exploser les valeurs dans un tableau pour les utiliser dans un select.

Posté le : 07/09/2009 21:12

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Aspirant
Inscrit: 17/06/2008 15:34
Messages: 92
Comme tu dit, getvar sur ton champ dans le product.php, explode pour former ta structure html, tu remet tout çadans une variable et tu envois ça dans le template.

Style:
$mon_champ = '<select name="mon_champ"><option value="">Option</option></select>';
$xoopsTpl->assign('mon_champ',$mon_champ);

Posté le : 08/09/2009 11:44
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Merci Wenlaigain ... tu me sers de catalyseur !
En effet tout ce que tu me proposes est exactement ce à quoi je pensais, mais restait flou dans mon esprit. Tu m'aides à le mettre en forme.

Donc ça y est c'est en place et ça fonctionne ! Yess !

Il ne me reste plus qu'à transmettre ces options (couleur, taille, ...) avec le bon de commande.

Posté le : 08/09/2009 12:46

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Je reviens un fois vers toi wenlaigain, si tu vas visiter cette adresse tu verras où j'en suis, donc le client peut choisir taille, couleur, etc ... avec des listes déroulantes, mais je ne sais pas comment transmettre les valeurs des select pour la suite.

Dans le template à partir duquel tu ajoutes au caddy il y a actuellement comme lien:

<a href="<{$smarty.const.OLEDRION_URL}>caddy.php?op=addproduct&product_id=<{$product.product_id}>" title="<{$smarty.const._OLEDRION_ADD_TO_CART}>">

Je dois donc rajouter les valeurs de mes select, mais je ne sais pas comment ...

A titre d'essai je rajoute une valeur fixe à l'url &coul=violet puis je tente de la récupérer dans caddy.php avec $_GET, mais elle n'est apparemment pas transmise !?

Posté le : 08/09/2009 17:46

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Petite récapitulation ...

Dans Oledrion, quand on est sur la page détaillée d'un produit on utilise le template oledrion_product.html, qui est lui-même alimenté par product.php

Si l'on clique sur le panier il s'agit d'un lien vers caddy.php qui transmet 2 paramètres: op=addproduct et product_id.

Ensuite le panier est affiché avec le template oledrion_caddy.html

Donc:

product.php -> oledrion_product.html -> caddy.php -> oledrion_caddy.html

Mon problème:

Je voudrais transmettre un paramètre supplémentaire entre oledrion_product.html et caddy.php. Pour cela je teste d'abord si la transmission fonctionne en ajoutant une valeur fixe à l'url.

Lien d'origine:
href="<{$smarty.const.OLEDRION_URL}>caddy.php?op=addproduct&product_id=<{$product.product_id}>

Lien modifié:
href="<{$smarty.const.OLEDRION_URL}>caddy.php?op=addproduct&product_id=<{$product.product_id}>&coul=violet"

Or je n'arrive pas à récupérer dans caddy.php ce paramètre !

Je procède ainsi:
// LionHell
$coul = 'pas de couleur';
if(isset($_POST['coul'])) {
$coul = $_POST['coul'];
} elseif(isset($_GET['coul'])) {
$coul = $_GET['coul'];
}
$xoopsTpl->assign('coul', $coul);
// Fin LionHell

Et je constate que la variable reste à 'pas de couleur' ...

Où est l'erreur ou le problème ???

Sank Iou if iou canne elpe mi !

Posté le : 08/09/2009 19:29

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Je simplifie encore ...

Dans oledrion_product.html j'ai modifié le lien suivant en ajoutant un 3eme paramètre:

href="<{$smarty.const.OLEDRION_URL}>caddy.php?op=addproduct&product_id=<{$product.product_id}>&coul=violet"

Il transmet donc en principe 3 paramètres:

- op
- product_id
- coul

Or dans caddy.php je n'arrive pas à récupérer le paramètre coul !!

J'utilise la même syntaxe et les mêmes instructions que pour op , mais ça ne marche pas ...

$coul = 'pas de couleur';
if(isset($_POST['coul'])) {
$coul = $_POST['coul'];
} elseif(isset($_GET['coul'])) {
$coul = $_GET['coul'];
}
$xoopsTpl->assign('coul', $coul);


Quand j'utilise la variable smarty <{$coul}> ensuite elle renvoie 'pas de couleur' la valeur d'initialisation.


MAYDAY !!

Posté le : 09/09/2009 12:47

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
C'est vraiment un problème qui parait tout bête et je ne vois pas comment le régler ! Du coup je suis complètement coincé ...

Personne n'a une idée ?

Rappel:

<a href = mapage.php ? param1=X & param2=Y & param3=Z">

Le param 3 semble ne pas être transmis. (voir plus haut pour l'url exacte).

Ce n'est pas la position du paramètre qui est en cause, car j'ai interverti l'ordre des paramètres, et c'est bien toujours le paramètre 3 ( &coul=violet dans la réalité ) qui n'est pas transmis.

Posté le : 09/09/2009 19:06

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Et alors , Pas d'idées ou ce module est-il classé "sensible" ?

Bilan de mes travaux:

Ce que je sais faire:

1/ Je sais comment ajouter un nouveau champs.
2/ Je sais comment l'afficher dans le template sous forme de liste déroulante.

Par contre je ne sais pas faire:

3/ Récupérer la variable dans la liste déroulante du template.
4/ La transmettre pour affichage dans le panier et dans le bon de commande.

Pour info, j'essaie de tester avec une valeur fixe ajoutée à l'url du lien qui appelle le caddy, et je n'arrive pas à la transmettre ou récupérer. Je ne sais pas où est le problème.

Posté le : 11/09/2009 13:37

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Intégration de l'option taille, couleur, ... dans Oledrion
Semi pro
Inscrit: 27/10/2004 11:10
Messages: 566
@Lionhell
tu n'es pas seul sur ce coup
j'ai continué à bien me prendre la tête dans mon coin.
J'en suis à ma version 1.3 : toute la partie administration est maintenant fonctionnelle, avec création, édition et suppression des tailles et couleurs. Sélection d'un à plusieurs des éléments créés, mais pour l'instant ceux ci apparaissent en vrac du côté client ici
je me retrouve avec autant de listes déroulantes que d'éléments ( avec un élément par liste ) c'est le double 'implode' qui me pose problème, voici le code :
// Recherche des couleurs du produit **********************************************
$tblColors $tbl_tmp $tbl_tmp2 = array();
$criteria = new Criteria('pc_product_id'$product->getVar('product_id'), '=');
$tbl_tmp $h_oledrion_productscolor->getObjects($criteriatrue);
foreach(
$tbl_tmp as $id => $item) {
    
$tbl_tmp2[] = $item->getVar('pc_color_id');
}
if(
count($tbl_tmp2) > ) {
    
$tbl_productcolor = array();
    
$tblColors $h_oledrion_color->getObjects(new Criteria('color_id''('.implode(','$tbl_tmp2).')''IN'), true);
    foreach(
$tblColors as $item) {
            
$xoopsTpl->append('product_color'$item->toArray());
            
$tbl_join1[] = '<select size="1" id="tbl_join1" name="couleur" multiple>
        <option value="'
.$item->getVar('color_name').'">"'.$item->getVar('color_name').'"</option></select>';
        
    }
}
if(
count($tbl_join1) > 0) {
    
$xoopsTpl->assign('show_color_name'implode(' '$tbl_join1));
    
}

si je remplace
if(count($tbl_join1) > 0) {     $xoopsTpl->assign('show_color_name'implode(' '$tbl_join1));

par
if(count($tbl_join1) > 0) {     $xoopsTpl->assign('show_color_name'$tbl_join1);

j'obtiens juste l'affichage de 'Array'
si quelqu'un peut m'aider sur cette partie ...
@+

Posté le : 13/09/2009 14:42

J'aime les sirènes ...
j'aime pas les arrêtes dans le poisson !...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2) 3 4 5 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

50 Personne(s) en ligne (40 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 50 | Plus ...