Anleitung Kundennamen in Produktbewertungen kürzen / ausblenden

Thema wurde von MailBeez, 12. September 2016 erstellt.

  1. FlorianR

    FlorianR Erfahrener Benutzer

    Registriert seit:
    20. November 2015
    Beiträge:
    1.375
    Danke erhalten:
    257
    Danke vergeben:
    1.002
    Hatte kürzlich das Problem in einem 3.4, dass ich Artikel nicht mehr mit /products_id=334 aufrufen konnte. Ticket bei Gambio eröffnet, Antwort bekommen, dass das von dem Umbau kommt, das bei den Bewertungen der Nachname gekürzt wird. Originaldatei wieder hergestellt, nun können die Artikel wieder mit /products_id=334 aufgerufen werden.

    Daher nutze ich lieber den im ersten Post genannten ersten Vorschlag.
     
  2. RJHGW

    RJHGW Erfahrener Benutzer

    Registriert seit:
    12. August 2015
    Beiträge:
    100
    Danke erhalten:
    6
    Danke vergeben:
    68
    Sehe ich das richtig das ab 3.4 schon an der kürzung der Nachnamen für Bewertungen geartbeitet worden ist?
    Kann man denn ab 3.5 mit einer Fehlerlosen Lösung rechnen?
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2017
    Beiträge:
    98
    Danke erhalten:
    11
    Danke vergeben:
    17
    Gibts da schon was aktuelleres, so für die 3.8 ? :) is doof, die vollen Namen zu sehen
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Ich habe das in einer 3.8.1.0 installiert und es funktioniert so, wie es soll.

    Ihr könnte es allerdings auch für einen sehr schlanken Taler bei Kai Schölzke erwerben.

    (Link nur für registrierte Nutzer sichtbar.)
     
  5. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    372
    Danke erhalten:
    120
    Danke vergeben:
    39
    Hier ist meine vormals gepostete Datei aktualisiert für die Shopversion 3.9.2.2:

    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;
                               
                                if($t_customer_values_array['customers_lastname'] == '')
                                {
                                    $t_customer_values_array['customers_lastname'] = 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' => str_replace(['<', '>'], '',
                                        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;
        }
    }