Bewertung Sterne Vorauswahl ändern

Thema wurde von Daniela, 7. Juli 2016 erstellt.

  1. Daniela

    Daniela Erfahrener Benutzer

    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    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

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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'4510htmlentities_wrapper($this->review_messagetrue), ''false);
            
    $this->content_array['TEXTAREA_NAME'] = 'review';
            
    $this->content_array['TEXTAREA_VALUE'] = htmlentities_wrapper($this->review_messagetrue);
            
    $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'truetruetrue), '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'truetruetrue);
            
    $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_params0, -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. Daniela

    Daniela Erfahrener Benutzer

    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Namenskürzung. Bitte, bitte, bitte.
     
  5. Daniela

    Daniela Erfahrener Benutzer

    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    @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

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    sorry, da hat sich ein Fehler eingeschlichen.:oops:
    Die Datei muss den Namen.
    name_ProductReviewsWriteContentView.inc.php
    haben.
     
  8. Daniela

    Daniela Erfahrener Benutzer

    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    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. Daniela

    Daniela Erfahrener Benutzer

    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    Nein, geht wirklich nur auf die neuen.
    Du kannst die alten in der Datenbank bearbeiten.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Ok, muss ich dann mal ausprobieren. Vielen Dank.
     
  12. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    @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

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    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

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Das wäre super nett von dir :)
     
  17. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    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

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Es ist jetzt die Zeile 56 / 57 und ja, das muss da wieder hin.
     
  20. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    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.