Bewertung Sterne Vorauswahl ändern

Thema wurde von Anonymous, 7. Juli 2016 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Hallo,

    kann mir hier bitte jemand helfen und sagen, was man in der Datei: "product_reviews_write.html" ändern muss, damit bei der Erstellung einer Bewertung die vorausgewählte Anzahl der Sterne nicht 3 ist, sondern 5?

    Im "alten" Shop konnte ich das "checked" einfach dem "value=5" zuordnen....
     
  2. barbara

    barbara G-WARD 2014-2020

    Hallo Daniela,

    ich habe in der user_classes/ overloads/ ProductReviewsWriteContentView/
    eine Datei ProductReviewsWriteContentView.inc.php
    mit diesem Inhalt (ich habe da aber auch noch den Namen auf Vornamen gekürzt)
    PHP:
    <?php

      
    class name_ProductReviewsWriteContentView extends name_ProductReviewsWriteContentView_parent {
       
        protected 
    $rating = 5;
       
            protected function 
    add_data()
        {
            
    $this->content_array['PRODUCTS_NAME'] = $this->coo_product->data['products_name'];
            
    $this->content_array['AUTHOR'] = $this->customer_info['customers_firstname'];
            
    $this->content_array['INPUT_TEXT'] = xtc_draw_textarea_field('review', 'soft', 45, 10, htmlentities_wrapper($this->review_message, true), '', false);
            
    $this->content_array['TEXTAREA_NAME'] = 'review';
            
    $this->content_array['TEXTAREA_VALUE'] = htmlentities_wrapper($this->review_message, true);
            
    $this->content_array['INPUT_RATING'] = xtc_draw_radio_field('rating', '1').' '.xtc_draw_radio_field('rating', '2').' '.xtc_draw_radio_field('rating', '3').' '.xtc_draw_radio_field('rating', '4').' '.xtc_draw_radio_field('rating', '5', true);
            
    $this->content_array['INPUT_RATING_NAME'] = 'rating';
            
    $this->content_array['INPUT_RATING_VALUE'] = $this->rating;

            
    $this->content_array['GM_VALIDATION_ACTIVE'] = gm_get_conf('GM_REVIEWS_VVCODE');
            
    $this->content_array['GM_VALIDATION'] = GM_REVIEWS_VALIDATION;
            
    $this->content_array['GM_CAPTCHA'] = $this->captcha_html;

            
    $this->content_array['GM_ERROR'] = $this->error_text;

            
    $this->content_array['FORM_ACTION'] = xtc_draw_form('product_reviews_write', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'action=process&'.xtc_product_link($this->coo_product->data['products_id'],$this->coo_product->data['products_name']), 'NONSSL', true, true, true), 'post', '');
            
    $this->content_array['FORM_ID'] = 'product_reviews_write';
            
    $this->content_array['FORM_ACTION_URL'] = xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'action=process&' . xtc_product_link($this->coo_product->data['products_id'], $this->coo_product->data['products_name']), 'NONSSL', true, true, true);
            
    $this->content_array['FORM_METHOD'] = 'post';

            
    $this->content_array['BUTTON_BACK'] = '<a href="javascript:history.back(1)">'.xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>';
            
    $this->content_array['BUTTON_BACK_LINK'] = 'javascript:history.back(1)';

            
    // lets retrieve all $HTTP_GET_VARS keys and values..
            
    $t_get_params = xtc_get_all_get_params();
            
    $t_get_params = substr_wrapper($t_get_params, 0, -5); //remove trailing &

            
    $this->content_array['BUTTON_SUBMIT'] = xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE).xtc_draw_hidden_field('get_params', $t_get_params);
            
    $this->content_array['FORM_END'] = '</form>';

            
    $this->content_array['GM_PRIVACY_LINK'] = gm_get_privacy_link('GM_CHECK_PRIVACY_REVIEWS');
        }
    }

    ?>
    Für die Namens-Kürzung braucht es aber noch eine Datei, wenn Du das auch haben möchtest sag Bescheid :)
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Hallo Barbara,
    danke dir.

    Aber ich habe jetzt nur in der
    Datei geändert:
    system/classes/reviews/ProductReviewsWriteContentView.inc.php

    Dort die Zeile ändern:
    Code:
        protected $rating = 3;
    
    ändern in:
    
        protected $rating = 5;

    Deine Lösung ist Update sicher. ;)


    Namensänderung habe ich schon hinbekommen. Trotzdem danke.
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Namenskürzung. Bitte, bitte, bitte.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Nimm die Datei:
    system/classes/reviews/ProductReviewsWriteContentControl.inc.php

    und ändere dort:
    Code:
    customers_firstname,
    customers_lastname
    
    
    ändern in
    
    customers_firstname
    suche weiter:

    Code:
                            'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($t_customer_values_array['customers_lastname']),
    
    Und mit diesem ersetzen:
    
                            'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($t_customer_values_array['customers_lastname'][0].'.'),
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    @barbara
    Für die Datei aus #2 bekomme ich folgende Fehlermeldung:
    "FATAL ERROR(1): "Class 'name_ProductReviewsWriteContentView_parent' not found"
    Obwohl die Datei ProductReviewsWriteContentView.inc.php im \system\classes\reviews vorhanden ist.

    @Daniela
    "customers_lastname" gibt es zweimal. Zeile 51 und 126. Beide löschen? Ich hatte eigentlich gedacht, dass der Vorname komplett und der erste Buchstabe des Nachnamens da steht.
     
  7. barbara

    barbara G-WARD 2014-2020

    sorry, da hat sich ein Fehler eingeschlichen.:oops:
    Die Datei muss den Namen.
    name_ProductReviewsWriteContentView.inc.php
    haben.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Nur Zeile am Anfang.
    Und wenn du es so machst, dann ist es so wie du willst. Bei mir funktioniert es so.
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Funzoniert :) Besten Dank.

    @Daniela
    Da tut sich leider bei mir rein gar nichts. Jedenfalls werden bereits vorhandene Bewertungen nicht anders angezeigt. Kann es möglich sein, dass sich die Änderung nur auf neue Bewertungen auswirkt? Aber eigentlich sollte das doch egal sein, es geht ja nur um die Darstellung bereits vorhandener Daten.
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Nein, geht wirklich nur auf die neuen.
    Du kannst die alten in der Datenbank bearbeiten.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Ok, muss ich dann mal ausprobieren. Vielen Dank.
     
  12. Anonymous

    Anonymous Erfahrener Benutzer

    @Daniela
    Ging, bis eben. Nun gehts nicht mehr. Aber da muss @barbara ran.

    In v.3.1.1.0 schimpf der Shop mit folgender Fehlermeldung.
    Bewertung-Fehlermeldung-v.3.1.1.0.png

    Da hat doch bestimmt mit einer nicht mehr vorhandenen, verschobenen oder umbenannten Datei nach dem Update zu tun!?
     
  13. barbara

    barbara G-WARD 2014-2020

    Hallo Jan,

    Die Fehlermeldung bezieht sich auf die Datei in der Du die Namensänderung gemacht hast.
    Hast Du da etwas gebastelt, als Overload oder die alte Datei eingespielt?
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Ja, das SP v3.1.1.0 :)

    Wenn ich die beiden Dateien aus #2 (mit Korrektur aus #7) und #5 in die jeweiligen Verzeichnisse kopiere, kommt die aufgezeigte Fehlermeldung und dazu findet er die Klasse nicht mehr > Zeile 4: FATAL ERROR(1): "Class 'name_ProductReviewsWriteContentView_parent' not found" <

    Extra gebastelt habe ich da nichts. Ich blicke da nicht durch ... alles bömische Dörfer ... :(

    Kann es was damit zu tun haben, dass der /user_classes/overloads nun einen anderen Speicherort - /GXUserComponents/ vornweg - hat?
     
  15. barbara

    barbara G-WARD 2014-2020

    Nein, die Datei ProductReviewsWriteContentControl.inc.php hat sich geändert, meine Overload-Datei betrifft aber die
    ProductReviewsWriteContentView.inc.php

    Ich denke die Namenskürzung funkt da nicht mehr.
    Ich werde morgen mal das Update auf die Version 3.1.1 machen und mir das dann genauer ansehen.
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Das wäre super nett von dir :)
     
  17. barbara

    barbara G-WARD 2014-2020

    Ich habe das noch nicht als Overload gemacht, aber in Danielas Anleitung darf nur noch der 2. Teil

    gemacht werden, dann funktioniert es.
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Verstehe ich nicht.

    In der ProductReviewsWriteContentControl.inc.php soll also einfach wieder ein"," nach "customers_firstname" und in die nächste Zeile "customers_lastname" wieder eingefügt werden und dann geht es?

    Das wäre dann:
    Zeile 50: customers_firstname,
    Zeile 51: customers_lastname
     
  19. barbara

    barbara G-WARD 2014-2020

    Es ist jetzt die Zeile 56 / 57 und ja, das muss da wieder hin.
     
  20. Anonymous

    Anonymous Erfahrener Benutzer

    Ok.

    1. In der Datei \system\classes\reviews\ProductReviewsWriteContentControl.inc.php wird nur der Code in Zeile 73 mit
    PHP:
    'customers_name' => gm_prepare_string($t_customer_values_array['customers_firstname']) . ' ' . gm_prepare_string($t_customer_values_array['customers_lastname'][0].'.'),
    ersetzt.

    Dann eine neue Datei mit dem Inhalt aus Beitrag #2 anlegen und als "name_ProductReviewsWriteContentView.inc.php" speichern. Dann unter GXUserComponents\overloads\ den Ordner ProductReviewsWriteContentView erstellen und die Datei dort reinkopieren.

    1. Namenskürzung - funktioniert. :)
    2. Sternvorgabe - funktioniert. :)

    @barbara
    Ein weiteres Danke.