Version imprimable du sujet
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) . ' ' . $values['products_options_values_name']; ?> </td>
Fonctionne pas !
Merci de votre aide
É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']) . ' ' . $values['products_options_values_name']; ?> </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) . ' ' . $values['products_options_values_name']; ?> </td>
Fonctionne pas !
Merci de votre aide
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 ?
É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
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 , avec vos infos, ça le fera peut-être .
É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)