S'il vous plaît laissez-moi d'abord expliquer ma question. J'ai une boutique en ligne qui a beaucoup de produits, mais aussi beaucoup de catégories. Les images du produit sont importées de openicecat.biz, c'est aussi un fournisseur de contenu. Lorsqu'il n'y a pas de description ou d'image disponible pour un certain produit, un noimage.jpg est affichéafficher la catégorie image de sous-catégorie problème
Quelqu'un a créé un code qui sélectionne une image de la liste de produits et l'utilise comme image pour cette catégorie. (si disponible) Le problème vient quand une catégorie a une sous-catégorie avec des images et une sous-catégorie sans images. Le fichier noimage.jpg est affiché à la place, il montre une image d'une sous-catégorie avec des images.
Par exemple
catelog -> components -> card readers (no image) -> internal card reader (image)
-> external card reader (no image)
La façon dont l'extrait de code a été conçu, seule une image montrera quand il y a deux images dans le lecteur de carte interne et externe, pas quand une sous catégorie ne dispose pas d'images. Ce que je voudrais, c'est que lorsque par exemple le lecteur de carte interne de sous-catégorie a des produits avec des images, et que le lecteur de carte externe de la sous-catégorie n'a pas d'images, une image d'un lecteur de carte externe est affichée comme catégorie image pour les lecteurs de cartes.
Exemple
catelog -> components -> card readers (image of internal card reader, instead of no image)
-> internal card reader (image)
-> external card reader (no image)
J'espère que vous comprendrez ce que je veux dire.
Ceci est l'extrait de code:
// Start auto fetch category image from product
if($categories['categories_image'] == "") {
$categories_img_query = tep_db_query("select products_image from " . TABLE_PRODUCTS . " p, products_to_categories pc WHERE p.products_id = pc.products_id AND pc.categories_id = '{$categories['categories_id']}' AND p.products_image IS NOT NULL order by p.products_id ASC");
if(tep_db_num_rows($categories_img_query) > 0) {
$categories_img = tep_db_fetch_array($categories_img_query);
$categories['categories_image'] = $categories_img['products_image'];
}
else {
$categories_img_parent_query = tep_db_query("select categories_id from categories WHERE parent_id = '{$categories['categories_id']}'");
while($categories_img_parent = tep_db_fetch_array($categories_img_parent_query)) {
$categories_img_query = tep_db_query("select products_image from " . TABLE_PRODUCTS . " p, products_to_categories pc WHERE p.products_id = pc.products_id AND pc.categories_id = '{$categories_img_parent['categories_id']}' AND p.products_image IS NOT NULL order by p.products_id ASC");
if(tep_db_num_rows($categories_img_query) > 0) {
$categories_img = tep_db_fetch_array($categories_img_query);
$categories['categories_image'] = $categories_img['products_image'];
}
}
}
}
// End auto fetch category image from product
Quelqu'un peut-il me aider à terminer cet extrait?
btw1, c'est pour l'oscommerce.
btw2, omg, je allmost passer 40 minutes à expliquer et en tapant ce problème, est-ce une médaille trop la peine (médaille de patience éternelle) ;-)
merci pour votre réponse et sollicution. Je suis totalement nouveau à PHP, pouvez-vous m'expliquer où le mettre dans le code ou quoi remplacer? – Chris
Cette boucle remplacera les blocs conditionnels (les deux, je crois) en commençant par if (tep_db_num_rows ($ categories_img_query)> 0) {... –
vous voulez dire le complet: – Chris