Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
8 Sep 2010, 14:32
Message
#1
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
Bonjour tout le monde,
Voici mon problème. Je voudrais ajouter un sous-titre à mes produits. Pour l'instant, je passe par un encodage html du titre dans le champ de l'admin (<p>, <br>…). J'aimerai un deuxième champ dans l'admin. Quelqu'un a-t-il une piste ? merci Ce message a été modifié par cetanne - 9 Sep 2010, 23:29. |
|
|
8 Sep 2010, 15:11
Message
#2
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
Il faut ajouter dans la table "TABLE_PRODUCTS_DESCRIPTION" de la BDD ce champ :
Code `products_cplmt_name` varchar(64) default NULL, Dans le fichier catalog/admin/categories chercher cette ligne (252) : Code $sql_data_array = array('products_name' => tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]), Ajouter dessous cette ligne : Code 'products_cplmt_name' => tep_db_prepare_input($HTTP_POST_VARS['products_cplmt_name'][$language_id]), chercher cette ligne (300) : Code 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')"); La remplacer par celle-ci : Code tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_cplmt_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_cplmt_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_url']) . "', '0')"); Chercher cette ligne (369) : Code $parameters = array('products_name' => '', Ajouter dessous cette ligne : Code 'products_cplmt_name' => '', Chercer cette ligne (394) : Code $products_name = $HTTP_POST_VARS['products_name']; Ajouter dessous cette ligne : Code $products_cplmt_name = $HTTP_POST_VARS['products_cplmt_name']; Chercher ces lignes (508) : Code <tr> <td class="main"><?php if ($i == 0) echo TEXT_PRODUCTS_NAME; ?></td> <td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('products_name[' . $languages[$i]['id'] . ']', (isset($products_name[$languages[$i]['id']]) ? stripslashes($products_name[$languages[$i]['id']]) : tep_get_products_name($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> Ajouter ces lignes dessous : Code <tr> <td class="main"><?php if ($i == 0) echo TEXT_PRODUCTS_CPLMT_NAME; ?></td> <td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('products_cplmt_name[' . $languages[$i]['id'] . ']', (isset($products_cplmt_name[$languages[$i]['id']]) ? stripslashes($products_cplmt_name[$languages[$i]['id']]) : tep_get_products_cplmt_name($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> Chercher ces lignes (619) : Code if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) { $pInfo->products_name = tep_get_products_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_description = tep_get_products_description($pInfo->products_id, $languages[$i]['id']); $pInfo->products_url = tep_get_products_url($pInfo->products_id, $languages[$i]['id']); } else { $pInfo->products_name = tep_db_prepare_input($products_name[$languages[$i]['id']]); $pInfo->products_description = tep_db_prepare_input($products_description[$languages[$i]['id']]); $pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]); } Les remplacer par celles-ci : Code if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) { $pInfo->products_name = tep_get_products_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_cplmt_name = tep_get_products_cplmt_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_description = tep_get_products_description($pInfo->products_id, $languages[$i]['id']); $pInfo->products_url = tep_get_products_url($pInfo->products_id, $languages[$i]['id']); } else { $pInfo->products_name = tep_db_prepare_input($products_name[$languages[$i]['id']]); $pInfo->products_cplmt_name = tep_db_prepare_input($products_cplmt_name[$languages[$i]['id']]); $pInfo->products_description = tep_db_prepare_input($products_description[$languages[$i]['id']]); $pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]); } Chercher cette ligne (716) : Code echo tep_draw_hidden_field('products_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_name[$languages[$i]['id']]))); Aouter celle-ci, dessous : Code echo tep_draw_hidden_field('products_cplmt_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_cplmt_name[$languages[$i]['id']]))); Chercher ces lignes (817) : Code if (isset($HTTP_GET_VARS['search'])) { $products_query = tep_db_query("select p.products_id, pd.products_name, p.products_quantity, p.products_image, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p2c.categories_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and pd.products_name like '%" . tep_db_input($search) . "%' order by pd.products_name"); } else { $products_query = tep_db_query("select p.products_id, pd.products_name, p.products_quantity, p.products_image, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by pd.products_name"); } Les remplacer par celles-ci : Code if (isset($HTTP_GET_VARS['search'])) { $products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_cplmt_name, p.products_quantity, p.products_image, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p2c.categories_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and pd.products_name like '%" . tep_db_input($search) . "%' order by pd.products_name"); } else { $products_query = tep_db_query("select p.products_id, pd.products_name, pd.products_cplmt_name, p.products_quantity, p.products_image, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by pd.products_name"); } Chercher cette ligne (843) : Code <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id'] . '&action=new_product_preview&read=only') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $products['products_name']; ?></td> La remplacer par celle-ci : Code <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id'] . '&action=new_product_preview&read=only') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $products['products_name'] . '</a> ' . $products['products_cplmt_name']; ?></td>
Ce message a été modifié par Quentin de Montargis - 9 Sep 2010, 09:57. |
|
|
8 Sep 2010, 15:29
Message
#3
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
Dans le fichier catalog/admin/includes/languages/french/categories.php, il faut ajouter cette ligne :
Code define('TEXT_PRODUCTS_CPLMT_NAME', 'Complèment :'); Dans le fichier catalog/product_info.php J'ai ajouté le complément de nom entre le nom et le modèle, pour cela il faut : Chercher cette ligne (84) : Code $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>'; Et la remplacer par cette ligne : Code $products_name = $product_info['products_name'] . '<br><span class="main">' . $product_info['products_cplmt_name'] . '</span><br><span class="smallText">[' . $product_info['products_model'] . ']</span>';
|
|
|
8 Sep 2010, 15:39
Message
#4
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
Wow !! impressionnant. merci, je vais tester ça de suite. Et pour l'intégrer dans mes pages, ça se passe au cas par cas dans chacune d'entre elles ?
|
|
|
8 Sep 2010, 15:40
Message
#5
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
ha, je vois, la suite arrive. Merci !!!
|
|
|
8 Sep 2010, 15:42
Message
#6
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
oui, il faut suivre pas à pas ces modifications. Les N° de lignes sont informatives car elles peuvent être différentes si tu as ajouté une contribution qui touche ce fichier.
|
|
|
8 Sep 2010, 15:51
Message
#7
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
pour la bdd, j'aurais dans la colonne null oui et dans default NULL ?
|
|
|
8 Sep 2010, 16:09
Message
#8
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
arg, j'ai cette erreur :
Fatal error: Call to undefined function: tep_get_products_cplmt_name() in /homepages/14/d238472327/htdocs/catalog/walhalla/categories.php on line 558 Ce message a été modifié par cetanne - 8 Sep 2010, 16:31. |
|
|
8 Sep 2010, 16:30
Message
#9
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
j'ai résolu ce problème, mais pas moyen de l'afficher dans mes pages.
(ma solution : dans /catalog/admin/includes/functions/general.php, après Code function tep_get_products_name($product_id, $language_id = 0) { ajouterglobal $languages_id; if ($language_id == 0) $language_id = $languages_id; $product_query = tep_db_query("select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_name']; } Code function tep_get_products_cplmt_name($product_id, $language_id = 0) { )
global $languages_id; if ($language_id == 0) $language_id = $languages_id; $product_query = tep_db_query("select products_cplmt_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_cplmt_name']; } Ce message a été modifié par cetanne - 8 Sep 2010, 17:01. |
|
|
9 Sep 2010, 09:26
Message
#10
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
Tout à fait j'avais oublié, dans le fichier catalog/admin/include/functions/general.php après ces lignes :
Code function tep_get_products_name($product_id, $language_id = 0) { global $languages_id; if ($language_id == 0) $language_id = $languages_id; $product_query = tep_db_query("select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_name']; } Il faut rajouter ces lignes : Code function tep_get_products_cplmt_name($product_id, $language_id) { global $languages_id; $product_query = tep_db_query("select products_cplmt_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_cplmt_name']; } Ce message a été modifié par Quentin de Montargis - 9 Sep 2010, 09:27. |
|
|
9 Sep 2010, 09:56
Message
#11
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
Il y a une omission.
Dans le fichier catalog/admin/categories Chercher cette ligne (602) : Code $products_name = $HTTP_POST_VARS['products_name']; Ajouter cette ligne dessous : Code $products_cplmt_name = $HTTP_POST_VARS['products_cplmt_name'];
|
|
|
9 Sep 2010, 11:08
Message
#12
|
|
![]() Ceinture jaune+ OSC Groupe : Membres Messages : 126 Inscrit : 28-February 10 Lieu : Montargis Membre no 27166 |
Tu peux aussi mettre le complément de nom dans le listing des nouveautés, pour cela, il faut
Dans le fichier catalog/products_new.php Chercher cette ligne (56) : Code $products_new_query_raw = "select p.products_id, pd.products_name, p.products_image, p.products_price, p.products_tax_class_id, p.products_date_added, m.manufacturers_name from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on (p.manufacturers_id = m.manufacturers_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_date_added DESC, pd.products_name"; Et la remplacer par celle-là : Code $products_new_query_raw = "select p.products_id, pd.products_name, pd.products_cplmt_name, p.products_image, p.products_price, p.products_tax_class_id, p.products_date_added, m.manufacturers_name from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on (p.manufacturers_id = m.manufacturers_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_date_added DESC, pd.products_name"; Chercher ces lignes (87) : Code <tr> <td width="<?php echo SMALL_IMAGE_WIDTH + 10; ?>" valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $products_new['products_image'], $products_new['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>'; ?></td> <td valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '"><b><u>' . $products_new['products_name'] . '</u></b></a><br>' . TEXT_DATE_ADDED . ' ' . tep_date_long($products_new['products_date_added']) . '<br>' . TEXT_MANUFACTURER . ' ' . $products_new['manufacturers_name'] . '<br><br>' . TEXT_PRICE . ' ' . $products_price; ?></td> <td align="right" valign="middle" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_NEW, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products_new['products_id']) . '">' . tep_image_button('button_in_cart.gif', IMAGE_BUTTON_IN_CART) . '</a>'; ?></td> </tr> Et les remplacer par celles-là : Code <tr> <td width="<?php echo SMALL_IMAGE_WIDTH + 10; ?>" valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $products_new['products_image'], $products_new['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>'; ?></td> <td valign="top" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '"><b><u>' . $products_new['products_name'] . '</u></b></a><br><u><i>' . $products_new['products_cplmt_name'] . '</i></u><br>' . TEXT_DATE_ADDED . ' ' . tep_date_long($products_new['products_date_added']) . '<br>' . TEXT_MANUFACTURER . ' ' . $products_new['manufacturers_name'] . '<br><br>' . TEXT_PRICE . ' ' . $products_price; ?></td> <td align="right" valign="middle" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_NEW, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products_new['products_id']) . '">' . tep_image_button('button_in_cart.gif', IMAGE_BUTTON_IN_CART) . '</a>'; ?></td> </tr> |
|
|
9 Sep 2010, 23:28
Message
#13
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 62 Inscrit : 8-April 10 Membre no 27406 |
Merci Quentin, ça marche !!!
je classe en résolu… |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 20th June 2013 - 03:16 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |