Pagina 1 di 1

Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 18:00
da eosgrafica
Ciao a tutti gli utenti del forum!
da un paio d'ore sono alle prese con la pagina "products_new" del mio sito, del nome prodotto si legge solo la prima parte! :(
Ho aumentato la lunghezza dei nomi prodotto aggiungendo una piccola descrizione ma in tutte le altre pagine (categorie, prodotti speciali etc) si visualizza OK... come mai solo nella pagina "products_new" il nome risulta incompleto? :shock:

l'esempio della pagina nuovi prodotti:
http://www.deviantsilver.com/products_new.php?page=2

A qualcuno è già successo?

Grazie :oops:

Ciao Nadia

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 18:45
da dynamo
controlla il codice della pagina probabilmente c'è un controllo sulla lunghezza della stringa e se la superi mette i ... ;)

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 18:50
da marcus
Posta il codice del file.

La pagina usa qualche funzione filtro per visualizzare il nome?

Saluti
Marcus

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 19:01
da eosgrafica
Ciao Marcus,
grazie per la risposta! sinceramente non so se ci siano dei filtri per visualizzare il nome ma sulle altre pagine si vede completo solo nei "nuovi prodotti" non funge :roll:

Comunque ti posto di seguito il codice pagina, se sai darmi qualche indicazione in merito grazie1000!

Ciao
Nadia

Codice: Seleziona tutto

<?php

/*

  $Id: products_new.php,v 1.27 2003/06/09 22:35:33 hpdl Exp $



  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com



  Copyright (c) 2003 osCommerce



  Released under the GNU General Public License

*/



  require('includes/application_top.php');



  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCTS_NEW);



  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_PRODUCTS_NEW));

?>

<!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>

<meta http-equiv="pragma" content="no-cache">

    <meta name="robots" content="all">

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->



<!-- body //-->

<table border="0" width="100%" cellspacing="0" cellpadding="0">

  <tr>

    <td class="col_left">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

    </td>

<!-- body_text //-->

    <td width="100%" class="col_center">

	

<?php   /*  require(DIR_WS_BOXES . 'panel_top.php');  */  ?>



<? tep_draw_heading_top();?>

	

<? new contentBoxHeading_ProdNew($info_box_contents);?>



<? tep_draw_heading_top_3();?>

		

<?php

  $products_new_array = array();



  $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";

  $products_new_split = new splitPageResults($products_new_query_raw, MAX_DISPLAY_PRODUCTS_NEW);



  if (($products_new_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '2'))) {

?>

<?php echo tep_draw_result_top_1(); ?>		

		<table border="0" cellspacing="0" cellpadding="0" class="result">

          <tr>

            <td><?php echo $products_new_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW); ?></td>

            <td class="result_right"><?php echo TEXT_RESULT_PAGE . ' ' . $products_new_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>

          </tr>

        </table>



<?php echo tep_draw_result_top(); ?>

<?php echo tep_draw_result_bottom_1(); ?>			  				

			  				

<?php

  }

?>

<?php

  if ($products_new_split->number_of_rows > 0) {

    $products_new_query = tep_db_query($products_new_split->sql_query);

   

   

   

   

   

   

   

   

   

   $row = 0;

  $col = 0;

  $info_box_contents = array();

  while ($products_new = tep_db_fetch_array($products_new_query)) {

 

 $product_query = tep_db_query("select products_description, products_id from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_new['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

      $product = tep_db_fetch_array($product_query);



       	$p_desc = substr($product['products_description'], 0, MAX_DESCR_1);

        $p_id = $product['products_id'];

		$p_pic = '<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>';

		$p_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . substr( $products_new['products_name'],0,MAX_DESCR_NAME) . '</a>';

		



 

   if ($new_price = tep_get_products_special_price($products_new['products_id'])) {

        $products_price = '<s>' . $currencies->display_price($products_new['products_price'], tep_get_tax_rate($products_new['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($products_new['products_tax_class_id'])) . '</span>';

      } else {

        $products_price = '<span class="productSpecialPrice">'.$currencies->display_price($products_new['products_price'], tep_get_tax_rate($products_new['products_tax_class_id']).'</span>');

      }

	  

	$p_price = $products_price;

	

    $products_new['products_name'] = tep_get_products_name($products_new['products_id']);

    $info_box_contents[$row][$col] = array('align' => 'center',

                                           'params' => ' style="width:50%;"',

                                           'text' => '

			<table cellpadding="0" cellspacing="0" border="0" style="height:20px">

    <tr>

					<td style="height:94px ">'.$p_pic.'</td>

				</tr><br>

				<tr>

					<td style="height:50px">'.$p_price.'

      <br style="line-height:20px"><span class="infoBox">

						'.$p_name.'<br></span>



      <br style="line-height:6px">

						<a href="' . tep_href_link('product_info.php?products_id='.$p_id) . '">'.tep_image_button("button_details.gif").'</a><br><br>

                        <br style="line-height:3px">



					</td>

				</tr>

			</table> 

			');





    $col ++;

    if ($col > 1) {

      $col = 0;

      $row ++;

    }

  }

     new contentBox($info_box_contents);

   

  } else  {

?>

				  <table border="0" cellspacing="0" cellpadding="0" class="box_width_cont">

					  <tr><td class="main"><?php echo TEXT_NO_NEW_PRODUCTS; ?></td></tr>

					  <tr><td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td></tr>

				  </table>

<?php

  }

?>



<?php echo tep_draw_result_bottom(); ?>

			  

<?php

  if (($products_new_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3'))) {

?>

<?php echo tep_draw_result_top_2(); ?>        

        <table border="0" width="100%" cellspacing="0" cellpadding="0" class="result">

          <tr>

            <td><?php echo $products_new_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW); ?></td>

            <td class="result_right"><?php echo TEXT_RESULT_PAGE . ' ' . $products_new_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>

          </tr>

          </table>



<?php echo tep_draw_result_bottom_2(); ?>        



<?php

  }

?>

<? tep_draw_heading_bottom_3();?>

		

<? tep_draw_heading_bottom();?>





    </td>



<!-- body_text_eof //-->

    <td class="col_right">

<!-- right_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>

<!-- right_navigation_eof //-->

    </td>

  </tr>

</table>

<!-- body_eof //-->



<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 19:08
da marcus
Si come pensavo:

Codice: Seleziona tutto

   $products_new['products_name'] = tep_get_products_name($products_new['products_id']);
Controlla la funzione:

Codice: Seleziona tutto

tep_get_products_name()
Saluti
Marcus

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 20:24
da eosgrafica
Rieccomi...
ho controllato la funzione ma... onestamente non so dove andare a parare :roll: forse nel database?

Nel codice del file general.php ho trovato questo...

Codice: Seleziona tutto

 function tep_get_news_name($name_id, $language_id = 0) {
    global $languages_id;

    if ($language_id == 0) $language_id = $languages_id;
    $name_query = tep_db_query("select name from " . TABLE_NEWS_DESC . " where news_id = '" . (int)$name_id . "' and language_id = '" . (int)$language_id . "'");
    $name = tep_db_fetch_array($name_query);

    return $name['name'];
  }
Posso avere qualche indizio in più? :P

Grazie1000
ciao
Nadia

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 21/01/2010, 21:12
da marcus
Non è quella la funzione ma tep_get_products_name

In ogni caso se non la trovi prova a copiare questa funzione nel file general.php lato shop:

Codice: Seleziona tutto

function tep_get_products_name_2($p_id) {
    global $languages_id;

   
    $name_query = tep_db_query("select products_name from " . TABLE_PRODUCTS . " where products_id = '" . (int)$p_id . "' and language_id = '" . (int)$languages_id . "'");

if (tep_db_num_rows($name_query) == 1) {
    $name = tep_db_fetch_array($name_query);

    return $name['products_name'];
} else {
return false;
}
}
Poi sostituisci tutte le occorrenze di tep_get_products_name con tep_get_products_name_2 nel file products_news.php

Saluti
Marcus

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 22/01/2010, 5:49
da eosgrafica
Sono un caso disperato... :(
Ho provato a fare come dici ma la pagina restituisce l'errore:

1054 - Unknown column 'products_name' in 'field list'

select products_name from products where products_id = '244' and language_id = '4'


Nel file general.php lato shop ho trovato il codice del tep_get_products_name ma la struttura è diversa da quella postata sopra:

Codice: Seleziona tutto

function tep_get_products_name($product_id, $language = '') {
    global $languages_id;

    if (empty($language)) $language = $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 . "'");
    $product = tep_db_fetch_array($product_query);

    return $product['products_name'];
  }
Ho fatto diversi tentativi.... con scarsi risultati :roll:

Ci devo ancora riflettere un pò... magari a mente lucida :)

Grazie ancora!
Ciao
Nadia

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 22/01/2010, 9:43
da dynamo
ragazzi state sbagliando :mrgreen:

il problema sta qui

Codice: Seleziona tutto

          $p_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . substr( $products_new['products_name'],0,MAX_DESCR_NAME) . '</a>';
sostituisci con

Codice: Seleziona tutto

          $p_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . $products_new['products_name'] . '</a>';

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 22/01/2010, 12:42
da marcus
eosgrafica ha scritto:Sono un caso disperato... :(
Ho provato a fare come dici ma la pagina restituisce l'errore:

1054 - Unknown column 'products_name' in 'field list'


No scusa ho sbagliato io TABLE_PRODUCTS con TABLE_PRODUCTS_DESCRIPTION.

In ogni caso ha ragione Dynamo, avevo guardato troppo affrettatamente, il problema è dovuto al substr e non alla funzione.

Saluti
Marcus

Re: Pagina "products new" nome prodotto incompleto?

Inviato: 22/01/2010, 14:29
da eosgrafica
dynamo ha scritto:ragazzi state sbagliando :mrgreen:

il problema sta qui

Codice: Seleziona tutto

          $p_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . substr( $products_new['products_name'],0,MAX_DESCR_NAME) . '</a>';
sostituisci con

Codice: Seleziona tutto

          $p_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products_new['products_id']) . '">' . $products_new['products_name'] . '</a>';
OKKKKK!! FUNZIONA!! :P :P :P
Dynamo e Marcus grazie davvero per la collaborazione!

PS.Per gli addetti ai lavori (osCommerce "dipendenti") questo forum è un appoggio insostituibile! :wink:

Ciao! buona giornata
Nadia