Aide - Recherche - Membres - Calendrier
Version complète : Description dans les catégories
Forum osCommerce-fr > Adapter OsCommerce MS2 > Contributions
ceddu67
Salut à toutes et à tous !

Voici ma question : lorsque l'on clique sur une catégorie (dans la box de l'index par exemple), on a une liste de produits correspondants, jusque là, tout va bien.... wink.gif
A partir de ce moment, est il possible (je pense que oui wink.gif )de rajouter, en plus de "liste de produits" une petite description générique des produits que l'on va trouver dans cette catégorie ?

Si oui, quelle est la page à modifier (j'ai cherché, mais sans succès confused.gif confused.gif ) ?

Voilà, j'éspère ne pas avoir été trop "embrouillé" dans ma question.... rolleyes.gif rolleyes.gif

Merci d'avance,

@+

ceddu67
luc_13
regarde de ce côté chez Oscommerce.com :

Category Descriptions 1.0
http://www.oscommerce.com/community/contri...rie+description

Category Descriptions MS2 1.4
http://www.oscommerce.com/community/contri...rie+description

Category Description v1.00
http://www.oscommerce.com/community/contri...rie+description

tatiana
Hello les amis biggrin.gif

Je profite de ce topic dédié à la description des catégories, et notamment, à la contribution "Category Descriptions MS2 1.9" pour vous demander un peu d'aide... (si vous voulez bien ?...) :
Je viens tout juste d'installer cette contribution mais je bloque carrément sur la page admin/categories.php...
Voila le message d'erreur que j'obtiens depuis trop longtemps :
Parse error: parse error, unexpected '}' in /home/XXXXX/www/catalog/admin/categories.php on line 371
J'ai fouillé et tenté de modifié le code de long en large, mais rien a faire, j'obtiens toujours ce satané message d'erreur !... Je n'ai presque plus de cheveux à force de me les arracher... et je n'ai pas du tout envie de ressembler à Sinead O'Connor !
biggrin.gif
L'idéal serait qu'une bonne âme utilisant cette contrib veuille bien me communiquer le code integral de la page admin/categories.php modifié comme il se doit, parce que je suis une vraie quiche et que je n'y arrive pas du tout !
En vous remerciant d'avance...

Bises
Tati
PS : Je vous laisse quand même un extrait de la page en question (de la ligne 272 à 434... l'erreur se trouve, paraît-il, à la ligne 371) :

QUOTE

...
            $sql_data_array = array('products_name' => tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]),
                                    'products_description' => tep_db_prepare_input($HTTP_POST_VARS['products_description'][$language_id]),
                                    'products_url' => tep_db_prepare_input($HTTP_POST_VARS['products_url'][$language_id]));

            if ($action == 'insert_product') {
              $insert_sql_data = array('products_id' => $products_id,
                                       'language_id' => $language_id);

              $sql_data_array = array_merge($sql_data_array, $insert_sql_data);

              tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array);
            } elseif ($action == 'update_product') {
              tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "' and language_id = '" . (int)$language_id . "'");
            }
          }

          if (USE_CACHE == 'true') {
            tep_reset_cache_block('categories');
            tep_reset_cache_block('also_purchased');
          }

          tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id));
        }
        break;
      case 'copy_to_confirm':
        if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['categories_id'])) {
          $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
          $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']);

          if ($HTTP_POST_VARS['copy_as'] == 'link') {
            if ($categories_id != $current_category_id) {
              $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'");
              $check = tep_db_fetch_array($check_query);
              if ($check['total'] < '1') {
                tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')");
              }
            } else { 
              $messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_CATEGORY, 'error');
            }
          } elseif ($HTTP_POST_VARS['copy_as'] == 'duplicate') {
            $product_query = tep_db_query("select products_quantity, products_model, products_image, products_price, products_date_available, products_weight, products_tax_class_id, manufacturers_id from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'");
            $product = tep_db_fetch_array($product_query);

            tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "',  now(), '" . tep_db_input($product['products_date_available']) . "', '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");
            $dup_products_id = tep_db_insert_id();

            $description_query = tep_db_query("select language_id, products_name, products_description, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'");
            while ($description = tep_db_fetch_array($description_query)) {
              tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_url, products_viewed) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_url']) . "', '0')");
            }

            tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$dup_products_id . "', '" . (int)$categories_id . "')");
            $products_id = $dup_products_id;
          }

          if (USE_CACHE == 'true') {
            tep_reset_cache_block('categories');
            tep_reset_cache_block('also_purchased');
          }
        }

        tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $categories_id . '&pID=' . $products_id));
        break;
      case 'new_product_preview':
// copy image only if modified
        $products_image = new upload('products_image');
        $products_image->set_destination(DIR_FS_CATALOG_IMAGES);
        if ($products_image->parse() && $products_image->save()) {
          $products_image_name = $products_image->filename;
        } else { 
          $products_image_name = (isset($HTTP_POST_VARS['products_previous_image']) ? $HTTP_POST_VARS['products_previous_image'] : '');
        }
        break;
    }
  }

// check if the catalog image directory exists
  if (is_dir(DIR_FS_CATALOG_IMAGES)) {
    if (!is_writeable(DIR_FS_CATALOG_IMAGES)) $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_NOT_WRITEABLE, 'error');
  } else { 
    $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_DOES_NOT_EXIST, 'error');
  }
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">
<div id="spiffycalendar" class="text"></div>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
LIGNE 371 :  <tr>
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
    </table></td>
<!-- body_text //-->
      <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
"category.insert.txt"
    } elseif ($action == 'new_product') {
    $parameters = array('products_name' => '',
                       'products_description' => '',
                       'products_url' => '',
                       'products_id' => '',
                       'products_quantity' => '',
                       'products_model' => '',
                       'products_image' => '',
                       'products_price' => '',
                       'products_weight' => '',
                       'products_date_added' => '',
                       'products_last_modified' => '',
                       'products_date_available' => '',
                       'products_status' => '',
                           'products_tax_class_id' => '',
                       'manufacturers_id' => '');

    $pInfo = new objectInfo($parameters);

    if (isset($HTTP_GET_VARS['pID']) && empty($HTTP_POST_VARS)) {
      $product_query = tep_db_query("select pd.products_name, pd.products_description, pd.products_url, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, date_format(p.products_date_available, '%Y-%m-%d') as products_date_available, p.products_status, p.products_tax_class_id, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'");
      $product = tep_db_fetch_array($product_query);

      $pInfo->objectInfo($product);
    } elseif (tep_not_null($HTTP_POST_VARS)) {
      $pInfo->objectInfo($HTTP_POST_VARS);
      $products_name = $HTTP_POST_VARS['products_name'];
      $products_description = $HTTP_POST_VARS['products_description'];
      $products_url = $HTTP_POST_VARS['products_url'];
    }

    $manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE));
    $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
    while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
      $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],
                                     'text' => $manufacturers['manufacturers_name']);
    }

    $tax_class_array = array(array('id' => '0', 'text' => TEXT_NONE));
    $tax_class_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title");
    while ($tax_class = tep_db_fetch_array($tax_class_query)) {
      $tax_class_array[] = array('id' => $tax_class['tax_class_id'],
                                 'text' => $tax_class['tax_class_title']);
    }

    $languages = tep_get_languages();

    if (!isset($pInfo->products_status)) $pInfo->products_status = '1';
    switch ($pInfo->products_status) {
      case '0': $in_status = false; $out_status = true; break;
      case '1':
      default: $in_status = true; $out_status = false;
    }
?>
...
tatiana
euh... vous avez trouvé la ligne 371 ?... c'est juste le petit "<tr>" en caractères gras... smile.gif
tatiana
Coucou ceddu67, as-tu finalement trouvé la solution à ton problème ?... et si oui, à quoi ressemble ta page admin/categories.php ?
bise
Tati
ceddu67
Salut !

Avant tout, merci à luc_13 pour la liste de contrib wink.gif

J'ai installé la contrib "category description ms2 1.9" et ça marche nickel...Enfin, j'ai quand même un petit souci : je n'arrive pas à afficher la photo de la catégorie.

En réalité, je n'ai plus la possiblité de "rechercher" une photo pour l'insérer dans la catégorie comme c'était le cas au préalable blink.gif Du coup, losque je mets le nom d'un photo présente dans mon répertoire "image", ça marche dans l'aperçu mais, dès que je clique sur "mise à jour" : plus rien (j'ai un message indiquant : "l'image n'existe pas" blink.gif blink.gif ).

Quelqu'un à-t-il une idée ?

Quand à ton souci, tatiana, as tu essayé de virer simplement ce "<tr>" ? car normalement, il attends un "</tr>" quelque part qu'il ne trouve pas. Je ne suis pas (et de loin blush.gif blush.gif ) un as en programmation, mais ça pourrait peut être marcher.

Merci d'avance pour votre aide sur mon souci, et bonne chance à toi tatiana wink.gif

@+

ceddu67

PS : désolé pour mon temps de réponse, mais j'ai eu une semaine super chargée et en plus, le post à été déplacé, du coup, je ne le trouvais plus rolleyes.gif rolleyes.gif
tatiana
Merci beaucoup pour ta réponse ceddu67 ! smile.gif

concernant mon problème, ce n'est malheureusement pas une question de balises "</tr>"... j'ai fais des essais, et j'ai toujours la même erreur : parse error, unexpected '}' in /home/XXXXX/www/catalog/admin/categories.php on line 371... bouuuuuuuuuuuuuuuuuh !! confused.gif

Y'a t'il des experts en php dans l'avion pour résoudre nos problèmes (à moi et à ceddu67 ) ?... biggrin.gif
corbin
l'important, c'est
CODE
Parse error: parse error, unexpected '}' in /home/XXXXX/www/catalog/admin/categories.php on line 371
et donc l'unexpected '}'
il y a sans doute un "{" qui a sauté dans les lignes du dessus au cours des manips
tatiana
Merci de ta réponse corbin smile.gif

Alors bon, c'est un "{" qui à sauté ?... pfiouuuu !... autant chercher une aiguille dans une botte de paille ! biggrin.gif

Je vais donc essayer de refaire la manip depuis le début et je reviens vous dire...
@tchou

Tati
kikilolo
QUOTE (luc_13 @ 13 sep 2005, 02:11)
regarde de ce côté chez Oscommerce.com :

Category Descriptions 1.0
http://www.oscommerce.com/community/contri...rie+description

Category Descriptions MS2 1.4
http://www.oscommerce.com/community/contri...rie+description

Category Description v1.00
http://www.oscommerce.com/community/contri...rie+description

bonjour,

Je profite de ce topic pour poser une question.

Je veux installer "Category Description" v1.00 by Draven

dans le guide d´instal il indique ca :


---------------------------------------------------
SQL
---------------------------------------------------
ALTER TABLE `categories_description` ADD `categories_description` VARCHAR( 255 ) NOT NULL ;

---------------------------------------------------
MODIFY THE PHP FILES
---------------------------------------------------

les modifications PHP, je devrais pourvoir le faire sans problème

mais SQL ? ou c´est? quel est le fichier que je dois modifier? parce que là je suis complètement perdue ( deja que j´ai du mal avec les fichiers php)

Une bonne âme pour me lancer une bouée de secour ??

Merci
pizzif
Salut

je te comprend si tu te poses ce type de question le chemin sera long...
neanmoins il faut bien commencer par quelque chose
si tu travailles en locale tu peux utiliser l'outil easyphp et dans l'administration tu choisis
gestion bdd et l'onglet sql : tu copies le script et le bouton "executer" (sur ce site il y a une doc sur ce produit)
sinon chez ton hebergeur tu trouveras des propositions de tools comme http://www.phpmyadmin.net/home_page/
bon courage smile.gif
kikilolo
merci pour la bouée

mais je patauge toujours dry.gif , c´est pas grave, je verrai ca plus tard.

je vais terminer de mettre en forme le reste biggrin.gif

PS .: travaille pour l´instant en local
corbin
QUOTE
c'est un "{" qui à sauté
ou un "} en trop ! smile.gif
kikilolo
re-moi

pour les infos SQL, j´ai compris ( heureusement que mon petit mari a trouve le temps de m´expliquer)

par contre en installant la contrib CATEGORY DESCRIPTION v1.1 by draven
et
Bugfix for unreferenced array element in application_top.php by venezia

j´obtiens ce message d´erreur :

Fatal error:
Call to undefined function: tep_db_query() in c:\programme\easyphp1-8\www\catalog\includes\application_top.php on line 13

ma ligne 13
QUOTE
$categories_desc_query = tep_db_query("select categories_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[count($cPath_array)-1] . "' and language_id = '" . (int)$languages_id . "");
   


je travaille sur MS2 et en local
kikilolo
j´oubliais

message d´erreur sur admin boutique

Parse error: parse error in c:\programme\easyphp1-8\www\catalog\admin\categories.php on line 69

ma ligne 69

QUOTE
('categories_description' => tep_db_prepare_input($categories_description_array[$language_id]));
Juan
histoire de remonter le post...

j'ai installer cette version

Category Description v1.00 by Draven

bon tout marche bien sauf que la description ne s'affiche pas dans la boutique...

j'ai oublié quelque chose ?

j'ai une ms2
oneill
Certaines contribs de description on besoin d'une mise à true dans l'admin. Regardes par là
Juan
apres verification non la boite apparait dans l'admin mais quand je l'active, y'a pas de fichiers a valider comme sur d'autres contribs.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.