Hallo, ist es mit Gambio möglich Kundenrezensionen nicht mit Klarnamen machen zu müsen? Keiner hat Lust mit diesen Produkten den Namen (Adress Name) für Rezensionen zu benutzen!
Eine Anleitung dazu findest Du hier: (Link nur für registrierte Nutzer sichtbar.) Ich weiß jetzt aber nicht, ob sich die Dateien mit der Version 2.1 verändert haben.
Hallo Barbara, meine product_reviews.php sieht ganz anders aus. Der String lastname ist da gar nicht vorhanden. Mein Code in der Gambio Version: v2.0.15.1 r13131 sieht so aus: Code: <?php /* -------------------------------------------------------------- product_reviews.php 2008-08-07 gambio Gambio OHG http://www.gambio.de Copyright (c) 2008 Gambio OHG Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(product_reviews.php,v 1.47 2003/02/13); www.oscommerce.com (c) 2003 nextcommerce (product_reviews.php,v 1.12 2003/08/17); www.nextcommerce.org (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: product_reviews.php 1238 2005-09-24 10:51:19Z mz $) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ include ('includes/application_top.php'); $breadcrumb->add(NAVBAR_TITLE_PRODUCT_REVIEWS, xtc_href_link(FILENAME_PRODUCT_REVIEWS, $get_params)); // create smarty elements $smarty = new Smarty; // include boxes require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php'); // include needed functions require_once (DIR_FS_INC.'xtc_row_number_format.inc.php'); require_once (DIR_FS_INC.'xtc_date_short.inc.php'); // lets retrieve all $HTTP_GET_VARS keys and values.. $get_params = xtc_get_all_get_params(); $get_params_back = xtc_get_all_get_params(array ('reviews_id')); // for back button $get_params = substr($get_params, 0, -1); //remove trailing & if (xtc_not_null($get_params_back)) { $get_params_back = substr($get_params_back, 0, -1); //remove trailing & } else { $get_params_back = $get_params; } $product_info_query = xtc_db_query("select pd.products_name from ".TABLE_PRODUCTS_DESCRIPTION." pd left join ".TABLE_PRODUCTS." p on pd.products_id = p.products_id where pd.language_id = '".(int) $_SESSION['languages_id']."' and p.products_status = '1' and pd.products_id = '".(int) $_GET['products_id']."'"); if (!xtc_db_num_rows($product_info_query)) xtc_redirect(xtc_href_link(FILENAME_REVIEWS)); $product_info = xtc_db_fetch_array($product_info_query); require (DIR_WS_INCLUDES.'header.php'); $smarty->assign('PRODUCTS_NAME', $product_info['products_name']); $smarty->assign('PRODUCTS_LINK', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link((int) $_GET['products_id'],$product_info['products_name']))); $data_reviews = array (); $reviews_query = xtc_db_query("select reviews_rating, reviews_id, customers_name, date_added, last_modified, reviews_read from ".TABLE_REVIEWS." where products_id = '".(int) $_GET['products_id']."' order by reviews_id DESC"); if (xtc_db_num_rows($reviews_query)) { $row = 0; while ($reviews = xtc_db_fetch_array($reviews_query)) { $row ++; $data_reviews[] = array ('ID' => $reviews['reviews_id'], 'AUTHOR' => '<a href="'.xtc_href_link(FILENAME_PRODUCT_REVIEWS_INFO, $get_params.'&reviews_id='.$reviews['reviews_id']).'">'.$reviews['customers_name'].'</a>', 'DATE' => xtc_date_short($reviews['date_added']), 'RATING' => xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(BOX_REVIEWS_TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'RATING_IMAGE_URL' => 'templates/' . CURRENT_TEMPLATE . '/img/stars_' . $reviews['reviews_rating'] . '.gif', 'TEXT' => $reviews['reviews_text']); } } $smarty->assign('module_content', $data_reviews); $smarty->assign('BUTTON_BACK', '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, $get_params_back).'">'.xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>'); $smarty->assign('BUTTON_WRITE', '<a href="'.xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, $get_params).'">'.xtc_image_button('button_write_review.gif', IMAGE_BUTTON_WRITE_REVIEW).'</a>'); $smarty->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) { $smarty->caching = 0; $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/product_reviews.html'); } else { $smarty->caching = 1; $smarty->cache_lifetime = CACHE_LIFETIME; $smarty->cache_modified_check = CACHE_CHECK; $cache_id = $_SESSION['language'].$_GET['products_id']; $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/product_reviews.html', $cache_id); } $smarty->assign('language', $_SESSION['language']); $smarty->assign('main_content', $main_content); $smarty->caching = 0; if (!defined(RM)) $smarty->load_filter('output', 'note'); $smarty->display(CURRENT_TEMPLATE.'/index.html'); include ('includes/application_bottom.php'); ?>
Da ist wohl ein kleiner Fehler in der ANleitung. Schau mal in die Datei products_reviews_write.php Da solltest Du die Zeilen finden.
Hallo Barbara, danke für deine Hilfe, aber meine Datei sieht doch ganz anders aus: Schau: Code: <?php /* -------------------------------------------------------------- product_reviews_write.php 2012-06-26 gm Gambio GmbH http://www.gambio.de Copyright (c) 2012 Gambio GmbH Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(product_reviews_write.php,v 1.51 2003/02/13); www.oscommerce.com (c) 2003 nextcommerce (product_reviews_write.php,v 1.13 2003/08/1); www.nextcommerce.org (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: product_reviews_write.php 1101 2005-07-24 14:51:13Z mz $) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ include ('includes/application_top.php'); // BOF GM_MOD $coo_captcha = MainFactory::create_object('Captcha'); // EOF GM_MOD $breadcrumb->add(NAVBAR_TITLE_REVIEWS_WRITE, xtc_href_link(FILENAME_PRODUCT_REVIEWS, $get_params)); // create smarty elements $smarty = new Smarty; // include boxes require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php'); if ($_SESSION['customers_status']['customers_status_write_reviews'] == 0) { xtc_redirect(xtc_href_link(FILENAME_LOGIN, '', 'SSL')); } // BOF GM_MOD: if (isset($_GET['action']) && $_GET['action'] == 'process' && $coo_captcha->is_valid($_POST, 'GM_REVIEWS_VVCODE')) { if (is_object($product) && $product->isProduct()) { // We got to the process but it is an illegal product, don't write if(strlen($_POST['review'])>=REVIEW_TEXT_MIN_LENGTH) { $customer = xtc_db_query("select customers_firstname, customers_lastname from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'"); $customer_values = xtc_db_fetch_array($customer); $date_now = date('Ymd'); if ($customer_values['customers_lastname'] == '') $customer_values['customers_lastname'] = TEXT_GUEST; // BOF GM_MOD: xtc_db_query("insert into ".TABLE_REVIEWS." (products_id, customers_id, customers_name, reviews_rating, date_added) values ('".$product->data['products_id']."', '".(int) $_SESSION['customer_id']."', '".gm_prepare_string($customer_values['customers_firstname']).' '.gm_prepare_string($customer_values['customers_lastname'])."', '".gm_prepare_string($_POST['rating'])."', now())"); $insert_id = xtc_db_insert_id(); // BOF GM_MOD: xtc_db_query("insert into ".TABLE_REVIEWS_DESCRIPTION." (reviews_id, languages_id, reviews_text) values ('".$insert_id."', '".(int) $_SESSION['languages_id']."', '".gm_prepare_string($_POST['review'])."')"); } else { $error=true; $smarty->assign('GM_ERROR', sprintf(GM_REVIEWS_TOO_SHORT,REVIEW_TEXT_MIN_LENGTH)); } } if($error!=true) xtc_redirect(xtc_href_link(FILENAME_PRODUCT_REVIEWS, htmlentities_wrapper($_POST['get_params']))); } // BOF GM_MOD elseif(isset($_GET['action']) && !$coo_captcha->is_valid($_POST, 'GM_REVIEWS_VVCODE')){ $smarty->assign('GM_ERROR', GM_REVIEWS_WRONG_CODE); } // EOF GM_MOD // lets retrieve all $HTTP_GET_VARS keys and values.. $get_params = xtc_get_all_get_params(); $get_params_back = xtc_get_all_get_params(array ('reviews_id')); // for back button $get_params = substr($get_params, 0, -5); //remove trailing & if (xtc_not_null($get_params_back)) { $get_params_back = substr($get_params_back, 0, -5); //remove trailing & } else { $get_params_back = $get_params; } $customer_info_query = xtc_db_query("select customers_firstname, customers_lastname from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'"); $customer_info = xtc_db_fetch_array($customer_info_query); require (DIR_WS_INCLUDES.'header.php'); if (!$product->isProduct()) { $smarty->assign('error', ERROR_INVALID_PRODUCT); } else { # unset error could be set in headers.php $smarty->assign('error', ''); $name = $customer_info['customers_firstname'].' '.$customer_info['customers_lastname']; if ($name == ' ') $customer_info['customers_lastname'] = TEXT_GUEST; $smarty->assign('PRODUCTS_NAME', $product->data['products_name']); $smarty->assign('AUTHOR', $customer_info['customers_firstname'].' '.$customer_info['customers_lastname']); // BOF GM_MOD $smarty->assign('INPUT_TEXT', xtc_draw_textarea_field('review', 'soft', 45, 10, htmlentities_wrapper($_POST['review'], true), '', false)); $smarty->assign('TEXTAREA_NAME', 'review'); $smarty->assign('TEXTAREA_VALUE', htmlentities_wrapper($_POST['review'], true)); $smarty->assign('INPUT_RATING', xtc_draw_radio_field('rating', '1').' '.xtc_draw_radio_field('rating', '2').' '.xtc_draw_radio_field('rating', '3', true).' '.xtc_draw_radio_field('rating', '4').' '.xtc_draw_radio_field('rating', '5')); $smarty->assign('INPUT_RATING_NAME', 'rating'); // EOF GM_MOD // BOF GM_MOD $smarty->assign('GM_VALIDATION_ACTIVE', gm_get_conf('GM_REVIEWS_VVCODE')); $smarty->assign('GM_VALIDATION', GM_REVIEWS_VALIDATION); $smarty->assign('GM_CAPTCHA', $coo_captcha->get_html()); // EOF GM_MOD // BOF GM_MOD: $smarty->assign('FORM_ACTION', xtc_draw_form('product_reviews_write', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'action=process&'.xtc_product_link($product->data['products_id'],$product->data['products_name']), 'NONSSL', true, true, true), 'post', '')); $smarty->assign('FORM_ID', 'product_reviews_write'); $smarty->assign('FORM_ACTION_URL', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'action=process&' . xtc_product_link($product->data['products_id'], $product->data['products_name']), 'NONSSL', true, true, true)); $smarty->assign('FORM_METHOD', 'post'); $smarty->assign('BUTTON_BACK', '<a href="javascript:history.back(1)">'.xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>'); $smarty->assign('BUTTON_BACK_LINK', 'javascript:history.back(1)'); $smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE).xtc_draw_hidden_field('get_params', $get_params)); $smarty->assign('FORM_END', '</form>'); } $smarty->assign('language', $_SESSION['language']); /* BOF GM PRIVACY LINK */ $smarty->assign('GM_PRIVACY_LINK', gm_get_privacy_link('GM_CHECK_PRIVACY_REVIEWS')); /* EOF GM PRIVACY LINK */ $smarty->caching = 0; $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/product_reviews_write.html'); $smarty->assign('language', $_SESSION['language']); $smarty->assign('main_content', $main_content); $smarty->caching = 0; if (!defined(RM)) $smarty->load_filter('output', 'note'); $smarty->display(CURRENT_TEMPLATE.'/index.html'); include ('includes/application_bottom.php'); ?>
die Zeile 99 PHP: $smarty->assign('AUTHOR', $customer_info['customers_firstname'].' '.$customer_info['customers_lastname']); ändern in PHP: $smarty->assign('AUTHOR', $customer_info['customers_firstname']); Dann wird nur der Vorname genommen. Wenn Du den NAchnahmen abkürzen möchtest, muss ich mir den Beitrag von Petra noch einmal ansehen Nachtrag: ich sehe gerade, dass dann trotzdem der ganze Name in der Bewertung steht. ich schau mir das mal kurz an.
Es gibt mehrere Dateien, die man ändern muss (siehe hier: http://www.gambio-forum.de/threads/1223-Kundenrezensionen?p=117935&viewfull=1#post117935 - die Liste dort gilt zumindest noch für die Version 2.0.15, bei mir funktioniert's so) Grüße Johannes
In der Zeile 52 muss der Textabschnitt PHP: .' '.gm_prepare_string($customer_values['customers_lastname']) gelöscht werden. Dann funktioniert es richtig.
Danke Barbara und Johannes... Werd das mal testen. ß Aber gilt nun das mit allen Dateien also das von Johannes, oder muss ich nur an einer rumdoktorn, wie Barbara das sagt? Wieso kann Gambio diese wichtige Funktion nicht einfach als Standart einbauen? Nachfrage scheint da zu sein!
Das hängt wohl davon ab, was du genau machen willst. Bei meiner Version hast du im Adminbereich weiterhin den kompletten Namen, er wird aber im Frontend immer abgekürzt angezeigt. Barbaras Version hingegen scheint mir den Nachnamen gar nicht erst abzuspeichern - hab ich aber jetzt selber nicht ausprobiert, aber wenn Barbara sagt es funktioniert, wird das schon stimmen