Da ich hier im Forum keine funktionierende Anleitung finden konnte, wie man bei den Bewertungen z.B. nur den ersten Buchstaben des Nachnamens anzeigen lassen kann, hier mal mein Lösungsweg (nicht updatesicher!) Man nehme die /product_reviews_write.php. Suche nach (ca. Zeile 55) PHP: 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())"); Ersetze mit PHP: 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'][0]).'.'."', '".gm_prepare_string($_POST['rating'])."', now())"); Suche nach (ca. Zeile 102) PHP: $smarty->assign('AUTHOR', $customer_info['customers_firstname'].' '.$customer_info['customers_lastname']); Ersetze mit PHP: $smarty->assign('AUTHOR', $customer_info['customers_firstname'].' '.$customer_info['customers_lastname'][0].'.'); Will man mehr Buchstaben, einfach die [0] durch einen anderen Wert ersetzen, z.B. zeigt [3] dann die ersten 4 Buchstaben an. Wie immer Cache leeren nicht vergessen und erst im Testshop probieren. Wirkt nicht rückwirkend auf alte Bewertungen! Stand der Anleitung: GX2 2.0.11.2
Passt leider noch nicht so ganz. Denn im Admin und in den Bewertungen wird der erste Buchstaben des Nachname ohne Punkt dargestellt. Kann man das vielleicht noch richten?
Es gab schonmal einen Thread, in dem Petra eine Lösung gepostet hat, und zwar (Link nur für registrierte Nutzer sichtbar.). Aber in der /product_reviews.php gibt es den damaligen Code gar nicht mehr, weil die Datei nur noch knapp 100 Zeilen groß ist. Vermutlich in einem SP oder so von Gambio geändert worden. Für die Punktanzeige im Frontend/Admin ist der erste Code anzupassen. Neu lautet der dann PHP: 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'][0]).'.'."', '".gm_prepare_string($_POST['rating'])."', now())"); Wurde im ersten Post auch entsprechend angepasst.
hey In 2.1.4 funktioniert die Anleitung leider nicht mehr. Hast du eine Lösung, wie es da gehen kann?
Ja, hab ich. Ist immer noch nicht updatesicher (wäre aber möglich, falls jemand Zeit hat das umzuschreiben). Getestet hab ich das zwar erst mit der 2.2.0, das sollte aber auch in der 2.1.4 an den gleichen Stellen stehen. Datei: /system/classes/reviews/ProductReviewsWriteContentView.inc.php Anzeige beim Schreiben der Bewertung Ca. Zeile 81: PHP: $this->content_array['AUTHOR'] = $this->customer_info['customers_firstname'].' '.$this->customer_info['customers_lastname']; Ersetzen durch: PHP: $this->content_array['AUTHOR'] = $this->customer_info['customers_firstname'].' '.$this->customer_info['customers_lastname'][0].'.'; Datei: /system/classes/reviews/ProductReviewsWriteContentControl.inc.php Anzeige geschriebener Bewertung Ca. Zeile 65: PHP: 'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($t_customer_values_array['customers_lastname']), Ersetzen durch: PHP: 'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($t_customer_values_array['customers_lastname'][0] . '.'),
Wie löst man dieses Problem in der Gambio Cloud? Eine Kundin hat danach gefragt, ob man das nicht ändern könne.