Anleitung Kundennamen in Produktbewertungen kürzen / ausblenden

Thema wurde von MailBeez, 12. September 2016 erstellt.

  1. MailBeez

    MailBeez Erfahrener Benutzer

    Registriert seit:
    12. Januar 2012
    Beiträge:
    255
    Danke erhalten:
    74
    Danke vergeben:
    124
    Shopbetreiber, welche z.B. mit Hilfe von MailBeez ihre Kunden um Abgabe einer Produktbewertungen bitten, werden oft von der Flut der Bewertungen überrascht - aber auch von den Reaktionen vieler Kunden:

    Nach Abgabe einer Bewertung sehen die Kunden dann ihren vollen Namen in den Bewertungen veröffentlicht und bitten um sofortige Löschung dieser Daten.

    Aktuell gibt es keine Konfigurations-Möglichkeit, um den Namen auszublenden oder abzukürzen - Dies ist aber auf der Todo-Liste der Gambio Entwickler. Bis diese Konfigurations-Möglichkeit realisiert ist, gibt es folgenden Möglichkeiten:

    1. Anpassung der Vorlage (nur Anzeige)

    Die Darstellunge der Produktbewertungen erfolgt mit Hilfe der Vorlage

    /templates/Honeygrid/module/products_reviews.html

    Dort gibt die Variable

    {$module_data.AUTHOR}

    den Namen des Kunden aus, und kann z.B. mit dem Smarty Modifier "Truncate" nach 5 Zeichen gekürzt werden. Hierzu ist die Variable wie folgt zu ergänzen:

    {$module_data.AUTHOR|truncate:5:"...":true}

    Statt "Sabine Meier" ist dann also nur "Sabin..." zu sehen.


    2. Daten in der DB abkürzen


    Alternativ können die Kunden-Namen auch in der Datenbank nach eigenen Wünschen angepasst werden - entweder per hand oder mit einem passenden SQL-Befehl.

    Die Kundennumen werden in der Tabelle “reviews” in der Spalte “customer_names” gespeichert und können dort gefahrlos bearbeitet werden, da die Kundennamen bei Abgabe der Bewertungen in dieses Feld kopiert wurden.


    Meine empfohlene Lösung ist die erste, da hierbei lediglich die Ausgaben geändert wird - diese kann ich beliebig oft ändern, da die Daten ja weiterhin in vollem Umfang in der Datenbank abgelegt sind.
     
  2. Geri*

    Geri* Erfahrener Benutzer

    Registriert seit:
    18. Mai 2014
    Beiträge:
    448
    Danke erhalten:
    56
    Danke vergeben:
    137
    Hallo Kurt,

    habe eben nach Punkt 1 die Änderung vorgenommen.
    Trotzdem wird mein Name noch voll angezeigt. Habe einen Artikel direkt bewertet und einen Artikel via Mail Beez Modul.

    Muß da noch wo anders etwas angepasst werden?
     
  3. 1000raeder

    1000raeder Neues Mitglied

    Registriert seit:
    24. August 2015
    Beiträge:
    1
    Danke erhalten:
    0
    Hallo,
    habe auch die Änderung vorgenommen und es funktioniert nicht!
    Hat einer eine Lösung?

    LG Artschi
     
  4. MailBeez

    MailBeez Erfahrener Benutzer

    Registriert seit:
    12. Januar 2012
    Beiträge:
    255
    Danke erhalten:
    74
    Danke vergeben:
    124
    Wie (fast) immer sollte "Cache leeren" die Lösung sein ;)
     
  5. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    #5 M. Zitzmann, 30. November 2016
    Zuletzt bearbeitet: 17. Dezember 2016
    Ich hab da eine Lösung für die normalen Artikelbewertungen ohne Mailbeez...
    Gambio Version: v3.2.0.0

    Erstelle eine neue Datei im neuen Verzeichnis:

    /GXUserComponents/overloads/ProductReviewsWriteContentControl/ZMM_ProductReviewsWriteContentControl.inc.php

    mit dem Inhalt:

    Code:
    <?php
    /* --------------------------------------------------------------
    
       //shorten the reviewer's name from "Max Mustermann" to "Max M."
    
       ---------------------------------------------------------------------------------------*/
    
    class ZMM_ProductReviewsWriteContentControl extends ZMM_ProductReviewsWriteContentControl_parent{
    
       public function proceed()
       {
         $languagesId = $_SESSION['languages_id'];
    
         $coo_captcha = MainFactory::create_object('Captcha');
         $t_error_text = '';
         $t_error = false;
    
         if (isset($this->v_data_array['GET']['action'])
             && $this->v_data_array['GET']['action'] == 'process'
             && $coo_captcha->is_valid($this->v_data_array['POST'], 'GM_REVIEWS_VVCODE'))
         {
           if (is_object($this->product) && $this->product->isProduct())
           { // We got to the process but it is an illegal product, don't write
          
             if(gm_get_conf('GM_CHECK_PRIVACY_REVIEWS') === '1'
              && gm_get_conf('PRIVACY_CHECKBOX_REVIEWS') === '1'
              && (!isset($this->v_data_array['POST']['privacy_accepted'])
              || $this->v_data_array['POST']['privacy_accepted'] !== '1')
             )
             {
               $t_error = true;
               $t_error_text = ENTRY_PRIVACY_ERROR;
             }
             else
             {
               if(strlen_wrapper($this->v_data_array['POST']['review']) >= REVIEW_TEXT_MIN_LENGTH)
               {
                 $rating = (int)$this->v_data_array['POST']['rating'];
                 if ($rating > 0 && $rating < 6) {
                   $t_result = xtc_db_query("SELECT
                               customers_firstname,
                               customers_lastname
                             FROM
                               " . TABLE_CUSTOMERS . "
                             WHERE
                               customers_id = '" . (int)$this->customerId . "'
                 ");
                   $t_customer_values_array = xtc_db_fetch_array($t_result);
                
                   //shorten the reviewer's name from "Max Mustermann" to "Max M."
                   $customers_lastname = $t_customer_values_array['customers_lastname']
                   ? $t_customer_values_array['customers_lastname'][0] . '.' : TEXT_GUEST;
                
                   $t_reviews_array = array(
                     'products_id' => $this->product->data['products_id'],
                     'customers_id' => (int)$this->customerId,
                     'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($customers_lastname),
                     'reviews_rating' => gm_prepare_string($rating),
                     'date_added' => 'now()'
                   );
                   $this->wrapped_db_perform(__FUNCTION__, TABLE_REVIEWS, $t_reviews_array);
                
                   $t_insert_id = xtc_db_insert_id();
                
                   $t_reviews_description_array = array(
                     'reviews_id' => $t_insert_id,
                     'languages_id' => (int)$languagesId,
                     'reviews_text' => gm_prepare_string($this->v_data_array['POST']['review'])
                   );
                   $this->wrapped_db_perform(__FUNCTION__, TABLE_REVIEWS_DESCRIPTION, $t_reviews_description_array);
                 }
                 else
                 {
                   die('Invalid rating value');
                 }
               }
               else
               {
                 $t_error = true;
                 $t_error_text = sprintf(GM_REVIEWS_TOO_SHORT,REVIEW_TEXT_MIN_LENGTH);
               }
             }
           }
    
           if ($t_error != true) {
             if ($this->gmSEOBoost->boost_products)
             {
               $productLink = xtc_href_link(
                 $this->gmSEOBoost->get_boosted_product_url(
                   $this->product->data['products_id'],
                   $this->product->data['products_name']
                 )
               );
             }
             else
             {
               $productLink = xtc_href_link(
                 FILENAME_PRODUCT_INFO,
                 xtc_product_link(
                   $this->product->data['products_id'],
                   $this->product->data['products_name']
                 )
               );
             }
             $this->set_redirect_url($productLink);
           }
         }
         elseif(isset($this->v_data_array['GET']['action']) && !$coo_captcha->is_valid($this->v_data_array['POST'], 'GM_REVIEWS_VVCODE'))
         {
           $t_error_text = GM_REVIEWS_WRONG_CODE;
         }
    
      $customer_info = array();
    
      $customer_info_query = xtc_db_query("SELECT
                             customers_firstname,
                             customers_lastname
                           FROM
                             " . TABLE_CUSTOMERS . "
                           WHERE
                             customers_id = '" . (int)$this->customerId . "'");
      if(xtc_db_num_rows($customer_info_query) > 0)
      {
      $customer_info = xtc_db_fetch_array($customer_info_query);
      }
    
         $t_captcha_html = $coo_captcha->get_html();
    
         $coo_product_reviews_write_view = MainFactory::create_object('ProductReviewsWriteContentView');
         $coo_product_reviews_write_view->set_('coo_product', $this->product);
         $coo_product_reviews_write_view->set_('customer_info', $customer_info);
         if(isset($this->v_data_array['POST']['review']))
         {
           $coo_product_reviews_write_view->set_('review_message', $this->v_data_array['POST']['review']);
         }
         if(isset($this->v_data_array['POST']['rating']))
         {
           $coo_product_reviews_write_view->set_('rating', $this->v_data_array['POST']['rating']);
         }
         $coo_product_reviews_write_view->set_('captcha_html', $t_captcha_html);
         $coo_product_reviews_write_view->set_('privacy_accepted', (isset($this->v_data_array['POST']['privacy_accepted']) ? '1' : '0'));
         $coo_product_reviews_write_view->set_('error_text', $t_error_text);
      
         if(REVIEW_TEXT_MIN_LENGTH > 0)
         {
           $coo_product_reviews_write_view->set_('reviews_min_length', REVIEW_TEXT_MIN_LENGTH);
         }
      
         $this->v_output_buffer = $coo_product_reviews_write_view->get_html();
    
         return true;
       }
    }
    
    
    Dadurch wird der Name von Max Mustermann gekürzt auf Max M.


    Gruß
    Mike
     
  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Zum besseren Verständnis:
    die Anleitung von Mike betrifft nicht die Shopbewertungen, sondern die Artikel-Bewertungen.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    @barbara
    Inwiefern unterscheidet sich das von deiner Anpassung?
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    5. Februar 2016
    Beiträge:
    136
    Danke erhalten:
    18
    Danke vergeben:
    82
    Nabend,

    Die Anleitung von Mike @M. Zitzmann geht nicht zufällig auch für v3.3.2.0 ?
    Ganz mutig hatte ich es ausprobiert, aber es tat sich nichts. (Was ja bei mir aber nichts heißt ;) )

    Wäre natürlich echt toll. Mich erreichten schon das ein oder andere mal Rückmeldungen per Mail... aber im Shop wollten sie nichts abgeben.

    Kann ich auch verstehen, ich selbst möchte auch nicht mein vollständigen Namen bei Bewertungen sehen. Entweder Nickname oder Vorname. Das sollte reichen.

    Wäre echt schön wenn man das einstellen könnte.
     
  9. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Das sollte auch in der neuesten Version funktionieren.
    Hast du auch die Cache für Modulinformationen geleert?
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    5. Februar 2016
    Beiträge:
    136
    Danke erhalten:
    18
    Danke vergeben:
    82
    @M. Zitzmann ja das hatte ich und es geht tatsächlich :D Ich war der Annahme das es bei vorhanden Bewertungen angewendet wird, aber es greift nur auf Neue. Das war mir nicht bewusst aber das ist doch schon mal was, es läuft. Vielen lieben Dank. :)
     
  11. Futterkisterl-Tirol

    Futterkisterl-Tirol Erfahrener Benutzer

    Registriert seit:
    26. Juli 2014
    Beiträge:
    411
    Danke erhalten:
    29
    Danke vergeben:
    183
    Gibt es denn auche ine Möglichkeit auf Produktbewertungen direkt zu antworten was dann auch im Shop drinnen bleibt? Zurzeit haben meine Kunden eher das Gefühl mich interessieren die Bewertungen meiner Kunden nicht. Schreibe zwar jedem eine Mail aber Kunden die meinen Shop besuchen sehen das ja nicht :)
     
  12. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    du gehst im Admin auf Artikel -> Kundenrezensionen
    klickst auf die Bewertung und rechts auf "Bearbeiten"

    Auf der folgenden Seite ist ein Textfeld mi der Bewertung.
    Da machst Du einen kleinen Absatz darunter und gibst "Antwort" oder "unsere Antwort" und Deinen Text ein.
     
  13. FlorianR

    FlorianR Erfahrener Benutzer

    Registriert seit:
    20. November 2015
    Beiträge:
    1.319
    Danke erhalten:
    236
    Danke vergeben:
    933
    Habe das gerade nach Punkt 1 in einem 3.4.0.0 Shop mit einer products_reviews-USERMOD.html Datei umgesetzt. Hier werden mit truncate:5 nur die ersten beiden Buchstaben des Namens angezeigt, mit truncate:7 nur die ersten vier Buchstaben des Namens. Aber Hauptsache es geht :)
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Hier gibt es auch noch einen Thread, da wird der Vorname vollständig und vom Nachnamen nur der erste Buchstabe angezeigt.
     
  15. FlorianR

    FlorianR Erfahrener Benutzer

    Registriert seit:
    20. November 2015
    Beiträge:
    1.319
    Danke erhalten:
    236
    Danke vergeben:
    933
    Ja, der Trick geht aber mit 3.4.0.0 und höher leider nicht mehr. Hatte gerade deswegen letzte Woche ein Ticket bei Gambio auf.
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Gerade probiert in v.3.4.0.0 ... funktioniert.

    Vorname vollständig, Nachname gekürzt, 5 Sterne vorausgewählt.

    upload_2017-6-22_22-2-9.png

    Edit:

    (Link nur für registrierte Nutzer sichtbar.) isser. Funktioniert wohl auch in der v.3.5.2.0 ...
     
  17. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    in 3.5.2 habe ich eine Datei angepasst, aber in der 3.4.0 geht es.
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Bei @mymaus scheint es wohl auch ohne diese Änderung funktioniert zu haben ((Link nur für registrierte Nutzer sichtbar.)).
     
  19. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    12. Oktober 2016
    Beiträge:
    241
    Danke erhalten:
    19
    Danke vergeben:
    188
    ich hab nix geändert :)
     
  20. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ja, es funktionert. an der originalen Datei hat sich aber etwas geändert, das habe ich bei mir schon mit eingefügt.
    Ich lade die neue Datei auch noch mal in dem anderen Beitrag hoch.