Jump to content

[Amélioration] Générateur de declinaison


Recommended Posts

Bonjour ^^

Je travaille actuellement pour ameliorer le generateur de declinaisons de presatshop et je bloque sur une ligne qui ne recupere plus la valeur des declinaisons choisi...

C'est dans le post process de AdminAttributeGenerator que vous trouverez cette ligne :

if (!is_array(Tools::getValue('options')))
DisplayErrors......etc ;

Dans mon fichier PHP j'ai donc tout le AdminAttributeGenerator + du code a moi qui me permet de selectionner mes produits

J'ai fait boucler le : product= Ma liste de produit

Et donc si je selectionne 5 produit il me met 5 fois qu'il manque un attribut (c'est a dire une declinaisons )

Il ne trouve pas mon ('options') qui pourtant se trouve bien sur ma page quand j'affiche les donnée de mon formulaires j'ai mes options qui sont a : options[\5][\12] = declinaisons A options[\5][\13] = declinaisons B options[\6][\17] = declinaisons D etc...
(désolé pour les \ c'est juste qui sinon je me retrouve avec des exposant dans mes crochets ^^ )


Aidez moi!!!! j'ai plus d'idées sa fait 2 jours que je galere....

Bonne journée

EDIT : correction de $_POST['options'] c'était en fait : if (!is_array(Tools::getValue('options')))

Link to comment
Share on other sites

Salut,

on est d'accord que tu as mis des tableaux à 2 dimensions en tant que 'name' pour réaliser le POST, c'est ça ?
En général, pour savoir si les informations sont bien postées par le forumulaire, j'intègre un bout de code comme celui ci :

foreach($_POST as $k=>$v)
    echo '
'.$k.' -> '.$v;
exit();



de cette manière j'affiche, lors du post, toutes les informations contenues dans $_POST...donc à essayer en premier lieu...

Link to comment
Share on other sites

Je viens de regarder en profondeur, il y a beaucoup d'utilisation de JS dans cette page, je serais toi, j'irais vori du côté du fichier attributeBack.js qui contient la fonction "create_attribute_row" qui permet d'intégrerla fameuse ligne contenant l'élément avec le name="option[X][Y]"

Link to comment
Share on other sites

Déja fait .... lol Voici le resultat :
checkbox_1 : 1605
nbrProduit : 5
checkbox_2 : 1612
checkbox_3 : 1613
checkbox_4 : 1614
checkbox_5 : 1615
quantity : 1
reference :
generate : Generate
options : Array
price_impact : Array
weight_impact : Array
attributes : Array

J'ai bien essayer de derouler options mais c'est vide...Et ce que je ne comprend pas vraiment c'est que c'est créer en javascript mais il ne se trouve nul par dans mon code source le 'options' en question....

Link to comment
Share on other sites

Non, ce n'est pas vide, c'est un tableau, donc si tu veux isoler seulement le "options", tu fais ceci :

foreach($_POST as $k=>$v)
    if($k=='options') {
         print_r('');
         print_r($v);
         print_r('');
    }
exit(); 



tu verras mieux le contenu de ton tableau.

Link to comment
Share on other sites

OKAY!!! alors la j'ai ceci :

Array
(
[5] => Array
(
[12] => 12
[11] => 11
[13] => 13
[14] => 14
)

[6] => Array
(
[16] => 16
[15] => 15
)

)

donc c'est bien rempli Mais la c'est vraiment très etrange le message a changer ce qui veut dire qu'il prend maintenant bien 'options' comme une array c'est a n'y rien comprendre....

Link to comment
Share on other sites

bonjour
ça fait quelques jours que je cherche un solution a mon problème sur ce forum mais j'ai pas eu de coup 2 main.
Alors pour ma part je veux faire un création automatique des déclinaisons c'est a dire que pour chaque nouveau produit ajouté je crée automatiquement ces déclinaisons sans passé par l'onglet Déclinaisons.
un ptit UP svp
merci d'avance

Link to comment
Share on other sites

Ok sa parait quand meme pas simple ( à programmer ) et pas très logique si tu vient a creer un jour des produits qui n'ont pas de déclinaisons tu vas devoir tout retirer a la main est ce que sa vaut vraiment la peine de t'embeter avec sa?

En admettant que tu en ai vraiment besoin as tu commencé a coder quelque chose ou avoir des idées sur l'endroit ou tu doit ajouter cette fonctionnalité?

Je pense que sa doit etre dans AdminProducts Dans postprocess que tu vas trouver les methodes qui sont apellés pour construire un nouveau produit arrivé a la il faudrait que tu ajoute dans le postprocess les methodes de AdminAttributesGenerator qui permette de creer des declinaisons de ce que je sais pour le AdminAttributeGenerator il faut que tu lui passe un produit déja creer il faudra donc que au moment ou tu enregistre ton produit ( le submit de ton formulaire ) que tu execute le AdminAttributeGenerator en lui passant correctement le produit que tu vient de creer...

Je n'ai pas trop le temps de le faire tout seul j'ai mon rapport de stage a faire mais si tu commence a programmer et que tu bloque hesite pas a demander dès que j'aurait 5 min je passerai pour te donner un coup de main ^^

Link to comment
Share on other sites

Merci klytroth
Oui je sais que tu vois que c'est embêtant de créer les déclinaisons automatiquement pour chaque produits mais mes produit doivent avoir les déclinaisons.
J'ai trouvé le code d'insertion des déclinaisons et celui d'ajout produit et je pense a les combiner dans le bouton enregistrer dans l'onglet info mais je suis complètement déraillé.

Link to comment
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...