Pagina 1 di 1

[Risolto] Nome e Cognome Recensioni.

Inviato: 29/07/2008, 11:25
da SpyroTSK
Salve, io ho un "problema" ho dei clienti che mi hanno chiesto di togliere il loro cognome dalle recensioni che hanno scritto.
Onde evitare che debba andare singolarmente a modificarmi le recensioni man mano che le inseriscono, ho modificato il codice PHP delle Recensioni (product_reviews_write.php) in questo modo:

Codice: Seleziona tutto

    if ($error == false) {
      tep_db_query("insert into " . TABLE_REVIEWS . " (products_id, customers_id, customers_name, reviews_rating, date_added) values ('" . (int)$HTTP_GET_VARS['products_id'] . "', '" . (int)$customer_id . "', '" . tep_db_input($customer['customers_firstname']) . ' ' . "', '" . tep_db_input($rating) . "', now())");
      $insert_id = tep_db_insert_id();

      tep_db_query("insert into " . TABLE_REVIEWS_DESCRIPTION . " (reviews_id, languages_id, reviews_text) values ('" . (int)$insert_id . "', '" . (int)$languages_id . "', '" . tep_db_input($review) . "')");

      tep_redirect(tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params(array('action'))));
    }
  }
in sostanza ho tolto la query che richiama il lastname.

Ora siccome non sono un mago del php come faccio a inserire un Check che permette di scegliere se Lasciare il cognome sulle recensioni inserite?

Thanks!

Inviato: 29/07/2008, 12:25
da SpyroTSK
Risolto da me in attesa di una risposta :)

Soluzione:

Cercate in questo file: /catalog/product_reviews_write.php il seguente "paragrafo":

Codice: Seleziona tutto

    if ($error == false) {
      tep_db_query("insert into " . TABLE_REVIEWS . " (products_id, customers_id, customers_name, reviews_rating, date_added) values ('" . (int)$HTTP_GET_VARS['products_id'] . "', '" . (int)$customer_id . "', '" . tep_db_input($customer['customers_firstname']) . ' ' . tep_db_input($customer['customers_lastname']) . "', '" . tep_db_input($rating) . "', now())");
      $insert_id = tep_db_insert_id();

      tep_db_query("insert into " . TABLE_REVIEWS_DESCRIPTION . " (reviews_id, languages_id, reviews_text) values ('" . (int)$insert_id . "', '" . (int)$languages_id . "', '" . tep_db_input($review) . "')");

      tep_redirect(tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params(array('action'))));
    }
  }
e sostituitela con questo:

Codice: Seleziona tutto

    if ($error == false) {
		if (isset($HTTP_POST_VARS['inc_lastname']) && is_numeric($HTTP_POST_VARS['inc_lastname'])) {
	      tep_db_query("insert into " . TABLE_REVIEWS . " (products_id, customers_id, customers_name, reviews_rating, date_added) values ('" . (int)$HTTP_GET_VARS['products_id'] . "', '" . (int)$customer_id . "', '" . tep_db_input($customer['customers_firstname']) . ' ' . tep_db_input($customer['customers_lastname']) . "', '" . tep_db_input($rating) . "', now())");
	      $insert_id = tep_db_insert_id();

	      tep_db_query("insert into " . TABLE_REVIEWS_DESCRIPTION . " (reviews_id, languages_id, reviews_text) values ('" . (int)$insert_id . "', '" . (int)$languages_id . "', '" . tep_db_input($review) . "')");

	      tep_redirect(tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params(array('action'))));
		  
		} else {
		
		  tep_db_query("insert into " . TABLE_REVIEWS . " (products_id, customers_id, customers_name, reviews_rating, date_added) values ('" . (int)$HTTP_GET_VARS['products_id'] . "', '" . (int)$customer_id . "', '" . tep_db_input($customer['customers_firstname']) . ' ' . "', '" . tep_db_input($rating) . "', now())");
		  $insert_id = tep_db_insert_id();

		  tep_db_query("insert into " . TABLE_REVIEWS_DESCRIPTION . " (reviews_id, languages_id, reviews_text) values ('" . (int)$insert_id . "', '" . (int)$languages_id . "', '" . tep_db_input($review) . "')");

		  tep_redirect(tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params(array('action'))));
		}

    }
  }

Poi cercate questa riga:

Codice: Seleziona tutto

<tr>
<td class="main"><?php echo '<b>' . SUB_TITLE_RATING . '</b> ' . TEXT_BAD . ' ' . tep_draw_radio_field('rating', '1') . ' ' . tep_draw_radio_field('rating', '2') . ' ' . tep_draw_radio_field('rating', '3') . ' ' . tep_draw_radio_field('rating', '4') . ' ' . tep_draw_radio_field('rating', '5') . ' ' . TEXT_GOOD; ?></td>
</tr>
e sostituitela con:

Codice: Seleziona tutto

<tr>
<td class="main"><?php echo '<b>' . SUB_TITLE_RATING . '</b> ' . TEXT_BAD . ' ' . tep_draw_radio_field('rating', '1') . ' ' . tep_draw_radio_field('rating', '2') . ' ' . tep_draw_radio_field('rating', '3') . ' ' . tep_draw_radio_field('rating', '4') . ' ' . tep_draw_radio_field('rating', '5') . ' ' . TEXT_GOOD; ?></td>
</tr>
<tr>
<td class="smallText"><?php echo tep_draw_checkbox_field('inc_lastname', '1', true) . ' ' . TEXT_INC_LASTNAME; ; ?></td>
</tr>
Chiudete e salvate.

Ora modifichate il file in /catalog/includes/languages/italian/product_reviews_write.php

Dopo questa riga:

Codice: Seleziona tutto

define('TEXT_GOOD', '<small><font color="#ff0000"><b>OTTIMO</b></font></small>');
Aggiungete questa riga:

Codice: Seleziona tutto

define('TEXT_INC_LASTNAME', '<small><font color="#ff0000"><b>Includere il proprio Cognome sulla Recensione Pubblica</b></font></small>');

Ora per quella inglese invece modifichate il file in /catalog/includes/languages/english/product_reviews_write.php

Dopo questa riga:

Codice: Seleziona tutto

define('TEXT_GOOD', '<small><font color="#ff0000"><b>GOOD</b></font></small>');
aggiungete questa riga:

Codice: Seleziona tutto

define('TEXT_INC_LASTNAME', '<small><font color="#ff0000"><b>Include your Last Name in the public Reviews</b></font></small>');

Ora salvate tutto e dovrebbe andare tutto a posto! :)

Inviato: 29/07/2008, 13:25
da hsg26
questo è lo spirito del forum, ti ringrazio!

Inviato: 29/07/2008, 14:46
da SpyroTSK
No, io devo ringraziare voi per essere presenti :)

Inviato: 29/07/2008, 22:17
da Spiderweb
Io a suo tempo avevo già tolto il Cognome per via della privacy e poi così la gente è più invogliata a lasciare il commento sul prodotto. :wink:

Cmq grazie per aver postato questa cosa, può tornare utile a molti.

Inviato: 30/07/2008, 21:01
da Spiderweb
Mi riaggancio un attimo al discorso del cognome:

stasera l'ho tolto anche dalla pagina dove il cliente scrive la recensione cioè la product_reviews_write.php perchè poteva sembrare che poi apparisse appunto al momento della visualizzazione della stessa da parte di altri.

Basta togliere la parte scritta in grassetto da qui:

$customer_query = tep_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'");