Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Fonctionnement _ Petit problème de code...

Écrit par : diaph 28 Dec 2011, 10:16

Bonjour,
Je voudrais activer un chekbox.
Voici ma ligne de code:

Code
                <td class="dataTableContent"><?php echo tep_draw_checkbox_field('option[' . $values['products_options_values_id'] . ']', $attributes['products_attributes_id'], $attributes['products_attributes_id'], true) . '&nbsp;' . $values['products_options_values_name']; ?>&nbsp;</td>

Fonctionne pas !
Merci de votre aide blush.gif

Écrit par : diaph 28 Dec 2011, 14:22

Je précise que ce code se trouve dans admin/categories.php : j'utilise des checkbox pour les attributs...
Si quelqu'un peut me dépanner...
merci encore

Écrit par : chti_poupon 28 Dec 2011, 17:59

Bonjour,
Le cœur de l'action est:

Code
                tep_draw_checkbox_field(
                'option[' . $values['products_options_values_id'] . ']',
                $attributes['products_attributes_id'],
                $attributes['products_attributes_id'],
                 true)

La fonction s'appelle par
Code
                 tep_draw_checkbox_field(
                 $name,
                 $value = '',
                 $checked = false,
                 $compare = '')

Sans aller plus loin dans la réflexion, j'aurais mis:
Code
                tep_draw_checkbox_field(
                $option[$values['products_options_values_id']],
                $attributes['products_attributes_id'],
                 $attributes['products_attributes_id'],
                  true)

Voir pour le sens
Chti poupon

Écrit par : diaph 28 Dec 2011, 20:13

Désolé chti_poupon, mais cela ne fonctionne toujours pas.

Je mets le code complet:

Code
<tr class="dataTableRow">
                <td class="dataTableContent"><?php echo tep_draw_checkbox_field('option[' . $values['products_options_values_id'] . ']', $attributes['products_attributes_id'], $attributes['products_attributes_id']) . '&nbsp;' . $values['products_options_values_name']; ?>&nbsp;</td>
                <td class="dataTableContent"><?php echo tep_draw_input_field('prefix[' . $values['products_options_values_id'] . ']', $attributes['price_prefix'], 'size="2" value="+"'); ?></td>
                <td class="dataTableContent"><?php echo tep_draw_input_field('price[' . $values['products_options_values_id'] . ']', $attributes['options_values_price'], 'size="7"'); ?></td>
              </tr>

Je cherche de mon côté, mais vu mes faibles connaissances, j'ai du soucis à me faire !
Merci d'avance à l'Aide providentiel...

Écrit par : chti_poupon 29 Dec 2011, 10:43

Bonjour
D'abord, oublie mon délire précédent, il y a des $ où il ne faut pas.
Par contre il y a 2 signes pour séparer les textes ' et " et ton problème vient peut-être de là (voir par ex. http://www.phpdebutant.org/article14.php)
Chti poupon

Écrit par : FoxP2 29 Dec 2011, 11:01

Citation (diaph @ 28 Dec 2011, 10:16) *
Bonjour,
Je voudrais activer un chekbox.
Voici ma ligne de code:
Code
                <td class="dataTableContent"><?php echo tep_draw_checkbox_field('option[' . $values['products_options_values_id'] . ']', $attributes['products_attributes_id'], $attributes['products_attributes_id'], true) . '&nbsp;' . $values['products_options_values_name']; ?>&nbsp;</td>

Fonctionne pas !
Merci de votre aide blush.gif

dans quelle page ?
dans quel formulaire ?
information largement insuffisante pour résolution du problème.

Citation (chti_poupon @ 29 Dec 2011, 10:43) *
Par contre il y a 2 signes pour séparer les textes ' et "


correction de syntaxe :
non des signes mais des simples quotes => ' ou double quotes => " (ça c'est pour la version anglaise, et forcément la plus utilisée puisque c'est la langue des dèvs)
en français, simple guillemets et double guillemets.

Écrit par : diaph 29 Dec 2011, 18:55

Bonsoir,
J'avais déjà indiqué la page concernée au début de mon post:

Citation
Je précise que ce code se trouve dans admin/categories.php

Par contre je n'avais pas précisé qu'il s'agit d'une contribe pour les attributs.
Je me suis peut-être mal expliqué : ce n'est pas le code par lui même, qui ne fonctionne pas; le but de ma demande est de mettre le checkbox sur "true" (pour que je n'ai pas à le faire manuellement: vu que j'ai beaucoup d'attributs), c'est cela qui ne fonctionne pas. Je vous ai mis le code complet : au cas ou il serait nécessaire de rajouter une ligne pour que le checkbox soit coché.
J'espère n'avoir pas été trop labyrinthique dans mes explications.
Merci encore de vous intéresser à mon cas.

Écrit par : FoxP2 29 Dec 2011, 18:57

Citation (diaph @ 29 Dec 2011, 18:55) *
Par contre je n'avais pas précisé qu'il s'agit d'une contribe pour les attributs.


laquelle ?
mellow.gif

Écrit par : diaph 29 Dec 2011, 20:07

Hou, là, là !
J'ai eu cette contribe par un lien quelque part, par hasard, dans la jungle du forum. Il n'y a pas d'annotation, pas d'install, mais juste un dossier "admin" contenant un fichier "categories.php" modifié. En fait ce fichier permet d'afficher les attributs directement sur la page de saisie du produit. Toutefois, il y a dans le dossier un fichier README:

Citation
Alternative Product Attribute Handling Method
for osCommerce's Administration Tool

Released under the GPL


Author
------
David Garcia Watkins
dgw@qlogic.net
Modified for OSC2.2 Milestone2
Paul Hart pdh@mrc-lmb.cam.ac.uk
(I don't take any credit for this great contribution - I just fixed it for MS2)

Description
-----------
A replacement that creates a grid for easy adding/deleting/editing of
attributes within the products data screen.


Todo
----
It does not contemplate the "Downloadable Product" features.


Installation
------------
Overwrite categories.php in your Administation Tool with the one provided
in the package or use the diff included to merge yourself.

This will only work with current CVS (see changelog below to see when the
last update was made).


Changelog
---------
Version 7, 12 Nov 2004
- Modified to work with OSC2.2 Milestone2

Je n'ai pas gardé le zip... donc je n'ai plus la référence

Écrit par : FoxP2 29 Dec 2011, 20:33

c'est donc celle là : http://addons.oscommerce.com/info/174

Écrit par : diaph 29 Dec 2011, 21:00

affirmatif

Écrit par : Gnidhal 1 Jan 2012, 11:58

Salut et bonne année smile.gif
Vite fait comme ça:
ChtiPoupon a donné un élément de réponse :
c'est le 3ème paramètre de la fonction qui doit être true ou false selon qu'on veux une case cochée ou non
donc :
tep_draw_checkbox_field('option[' . $values['products_options_values_id'] . ']', $attributes['products_attributes_id'], $attributes['products_attributes_id'])
ne peut être bon car ce troisième paramètre contient un id
Au pire cela devrait être un test sur la valeur qui donne un résultat booleen (true/false) ou encore une entrée vide et alors on utilisera le paramètre compare qui déterminera checked si $value == $compare

Cela dit, avec les attributs ça n'est pas simple : si tu veux que la case soit toujours cochée, place un true en 3ème paramètre, (sans garantie de fonctionnement correct au final) car il faut quand même savoir à quoi sert cette case.
Pour aller plus loin, il faudrait creuser dans le code original de la contrib comme le suggère FoxP2 ...

Bon courage

Écrit par : diaph 1 Jan 2012, 20:19

Bonjour et bonne année,
Merci pour vos réponses... je vais me creuser la tête blink.gif, avec vos infos, ça le fera peut-être rolleyes.gif .

Écrit par : photojerome 12 Jan 2012, 22:35

Bonsoir,
Je ne sais pas si tu as solutionné ton problme.
En regardant ton profil, j'ai vu que tu gerais une banque d'images. J'ai la même occupation que toi et donc les mêmes ennuis. Pour gerer tous les attributs j'ai pris la contrib attribut sorter and copier qui est trés bien mais assez costaud a integrer.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)