Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Neue Bewertungen immer nur 1 Stern

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Neue Bewertungen immer nur 1 Stern
    am: 28. Februar 2019, 12:59:24
    Hallo, machte mich ein Kunde drauf aufmerksam und stimmt leider. Shop wurde vor 1/4 Jahr auf 2.0 migriert und auch die vorhandenen Bewertungen. Wird nun bewertet und 5 Sterne ausgewählt, so wird nur 1 Stern veröffentlicht. Hat jemand einen Plan dazu? MfG Thomas

    Linkback: https://www.modified-shop.org/forum/index.php?topic=40067.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #1 am: 28. Februar 2019, 13:43:35
    Vermutlich ein Fehler im Code des Templates. Stelle mal auf das Standard-Template "tpl_modified" um und teste es dort.

    Grüße

    Torsten

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #2 am: 02. März 2019, 11:10:10
    Hab inzwischen herausgefunden, das die Texte SEHR GUT und SCHLECHT einfach vertauscht sind beim Bewertungsvorgang. Oben steht SCHLECHT, wäre aber 5 Sterne. Finde bisher den Text nicht, einfach umtauschen? Müsste doch im Template stehen oder?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #3 am: 02. März 2019, 11:56:11
    Auf meinen Beitrag gehst du irgendwie mit keinem Wort ein. Passt es im Standard-Template?

    Grüße

    Torsten

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #4 am: 02. März 2019, 17:55:37
    Sorry, hatte mich erst nicht recht getraut, haste aber Recht, bei Auswahl eines anderen Templates gehts dann richtig herum, werde der Bannershop mal anmahnen. :-)

    Danke..

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #5 am: 02. März 2019, 19:00:15
    Oder aber du gibst uns einfach mal den Code deiner Datei "/templates/<Template-Name>/module/product_reviews_write.html", dann kann ich dir den Fehler hier auch schnell mal korrigieren. ;-)

    Grüße

    Torsten

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #6 am: 04. März 2019, 14:16:34
    WOW! Ich drohe mit Spende :-)

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="reviews"}
    {config_load file="$language/lang_$language.conf" section="newsletter"}
    {config_load file="lang_`$language`.custom"}
    {config_load file="lang_`$language`.section" section="reviews"}
    <h1 class="heading">{#heading_reviews_write#}</h1>
    {if $error}<div class="alert alert-error">{$error}</div>{/if}
    {if !isset($no_product)}
    {$FORM_ACTION}
    <div class="well well-small">
    <p>
    <strong>{#text_product#}</strong> {$PRODUCTS_NAME}<br />
    <strong>{#text_author#}</strong> {$INPUT_AUTHOR}
    </p>
      {if $INPUT_CODE}
    <div class="control-group row-fluid">
        <label class="control-label">{#text_sec_code#}:</label>
       <div class="controls">{$VVIMG}</div>
    </div>
    <div class="control-group row-fluid">
        <label class="control-label">{#text_sec_code#}:</label>
       <div class="controls">{$INPUT_CODE|replace:'<input type':'<input class="span7" type'|regex_replace:'/maxlen.*"|size.*"/':''}</div>
    </div>
          {/if}

    <p class="rating"><span class="fieldtext"><strong>{#text_rating#}</strong></span><span class="stern">{#text_bad#}{if isset($INPUT_RATING_ARRAY)}<span class="show_rating">{foreach item=rating from=$INPUT_RATING_ARRAY|@array_reverse}<label>{$rating}</label>{/foreach}</span>{else}&nbsp;{$INPUT_RATING}&nbsp;{/if}{#text_good#}</span></p>
    <span class="fieldtext"><strong>{#text_input#}</strong></span>
    <p>{$INPUT_TEXT|replace:'<textarea':'<textarea class="span12"'}</p>
    <p>{#text_note#}</p>
    </div>
    <p>{$BUTTON_BACK}&nbsp;{$BUTTON_SUBMIT}</p>
    {$FORM_END}
    {/if}

    [EDIT Tomcraft 04.03.2019: Code formatiert.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #7 am: 04. März 2019, 17:31:29
    Das macht für mich keinen Sinn wieso es bei dir dann mit dem Standard-Template tpl_modified funktioniert, denn an der Datei erkenne ich keinerlei Fehler!

    Gib mal bitte noch den Inhalt der Datei "/templates/tpl_modified/module/product_reviews_write.html" und der Datei "/product_reviews_write.php".

    Grüße

    Torsten

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #8 am: 05. März 2019, 10:29:21
    Eine product_reviews_write.php gibts da nirgends, die html aus dem tpl_modified:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="reviews"}
    {config_load file="$language/lang_$language.conf" section="newsletter"}
    {config_load file="lang_`$language`.custom"}
    {config_load file="lang_`$language`.section" section="reviews"}
    <h1>{#heading_reviews_write#}</h1>
    {if $error}<div class="errormessage">{$error}</div>{/if}
    {if !isset($no_product)}
      {$FORM_ACTION}

      <div class="highlightbox">  
        <h4>{#text_product#} {$PRODUCTS_NAME}</h4>  
       <table>
          <tr>
            <td><span class="fieldtext">{#text_rating#}</span><span class="stern">{#text_bad#}{if isset($INPUT_RATING_ARRAY)}<span class="show_rating">{foreach item=rating from=$INPUT_RATING_ARRAY|array_reverse}<label>{$rating}</label>{/foreach}</span>{else}&nbsp;{$INPUT_RATING}&nbsp;{/if}{#text_good#}</span></td>
         </tr>
          <tr>
            <td><span class="fieldtext">{#text_author#}</span><span class="stern">{$INPUT_AUTHOR}</span></td>
         </tr>
          {if $INPUT_CODE}
          <tr>
            <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$VVIMG}</span></td>
         </tr>
          <tr>
            <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
         </tr>
          {/if}
          <tr>
            <td><span class="fieldtext">{#text_input#}</span><span class="stern">{$INPUT_TEXT}<span class="inputRequirement_textarea"> *</span></span></td>
         </tr>
        </table>
        <p>{#text_note#}</p>
     </div>
      <div class="button_left">{$BUTTON_BACK}</div>
      <div class="button_right">{$BUTTON_SUBMIT}</div>
      {$FORM_END}
    {/if}

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #9 am: 05. März 2019, 10:43:19
    Die Datei liegt im Stammverzeichnis deines Shops, nicht im Template-Ordner.

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #10 am: 05. März 2019, 10:57:36
    Ok, hier anbei. Wenn ich ein anderes Template auswähle geht's aber korrekt.

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: product_reviews_write.php 10928 2017-08-30 12:42:58Z GTB $

       modified eCommerce Shopsoftware
       http://www.modified-shop.org

       Copyright (c) 2009 - 2013 [www.modified-shop.org]
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(product_reviews_write.php,v 1.51 2003/02/13); www.oscommerce.com
       (c) 2003   nextcommerce (product_reviews_write.php,v 1.13 2003/08/1); www.nextcommerce.org
       (c) 2006 XT-Commerce (product_reviews_write.php 1101 2005-07-24)

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    include ('includes/application_top.php');

    // captcha
    $use_captcha = array();
    if (defined('MODULE_CAPTCHA_ACTIVE')) {
      $use_captcha = explode(',', MODULE_CAPTCHA_ACTIVE);
    }
    defined('MODULE_CAPTCHA_CODE_LENGTH') or define('MODULE_CAPTCHA_CODE_LENGTH', 6);
    defined('MODULE_CAPTCHA_LOGGED_IN') or define('MODULE_CAPTCHA_LOGGED_IN', 'True');

    // create smarty elements
    $smarty = new Smarty;

    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

    foreach(auto_include(DIR_FS_CATALOG.'includes/extra/modules/product_reviews_write/','php') as $file) require ($file);

    if ($_SESSION['customers_status']['customers_status_write_reviews'] == 0) {
      if (is_object($product) && $product->isProduct() === true) {
        xtc_redirect(xtc_href_link(FILENAME_LOGIN, 'review_prod_id=' .(int)$product->data['products_id'], 'SSL'));
      } else {
        xtc_redirect(xtc_href_link(FILENAME_DEFAULT));
      }
    }

    $review = '';
    $rating = '';
    if (isset ($_GET['action']) && $_GET['action'] == 'process') {
      if (is_object($product) && $product->isProduct() === true) { // We got to the process but it is an illegal product, don't write
       
        $review = xtc_db_prepare_input($_POST['review']);
        $rating = xtc_db_prepare_input($_POST['rating']);
        $author = xtc_db_prepare_input($_POST['author']);
       
        $error = false;
        if (strlen($review) < REVIEW_TEXT_MIN_LENGTH) {
          $messageStack->add('product_reviews_write', ERROR_REVIEW_TEXT);
          $error = true;
        }
        if (!isset($_POST['rating'])) {
          $messageStack->add('product_reviews_write', ERROR_REVIEW_RATING);
          $error = true;
        }
        if (strlen($author) < ENTRY_FIRST_NAME_MIN_LENGTH) {
          $messageStack->add('product_reviews_write', ERROR_REVIEW_AUTHOR);
          $error = true;
        }
        if (in_array('reviews', $use_captcha) && (!isset($_SESSION['customer_id']) || MODULE_CAPTCHA_LOGGED_IN == 'True')) {
          if (!isset($_SESSION['vvcode'])
              || !isset($_POST['vvcode'])
              || $_SESSION['vvcode'] == ''
              || $_POST['vvcode'] == ''
              || strtoupper($_POST['vvcode']) != $_SESSION['vvcode']
              )
          {
            $messageStack->add('product_reviews_write', strip_tags(ERROR_VVCODE, '<b><strong>'));
            $error = true;
          }
          unset($_SESSION['vvcode']);
        }
       
        if ($error === false) {
          $customer = xtc_db_query("SELECT customers_firstname,
                                           customers_lastname
                                      FROM "
    .TABLE_CUSTOMERS."
                                     WHERE customers_id = '"
    .(int) $_SESSION['customer_id']."'");
          $customer_values = xtc_db_fetch_array($customer);

          $sql_data_array = array('products_id' => $product->data['products_id'],
                                  'customers_id' => (int) $_SESSION['customer_id'],
                                  'customers_name' => $author,
                                  'reviews_rating' => $rating,
                                  'reviews_status' => $_SESSION['customers_status']['customers_status_reviews_status'],
                                  'date_added' =>  'now()'
                                  );
          xtc_db_perform(TABLE_REVIEWS,$sql_data_array);
          $insert_id = xtc_db_insert_id();

          $sql_data_array = array('reviews_id' => $insert_id,
                                  'languages_id' => (int) $_SESSION['languages_id'],
                                  'reviews_text' => $review
                                  );
          xtc_db_perform(TABLE_REVIEWS_DESCRIPTION,$sql_data_array);
         
          if ($_SESSION['customers_status']['customers_status_reviews_status'] != '1') {
            $messageStack->add_session('product_reviews', PRODUCT_REVIEWS_SUCCESS_WAITING);
          } else {
            $messageStack->add_session('product_reviews', PRODUCT_REVIEWS_SUCCESS);
          }
         
          xtc_redirect(xtc_href_link(FILENAME_PRODUCT_REVIEWS, $_POST['get_params']));
        }
      }
    }

    $breadcrumb->add(NAVBAR_TITLE_REVIEWS_WRITE, xtc_href_link(FILENAME_PRODUCT_REVIEWS, xtc_get_all_get_params()));

    require (DIR_WS_INCLUDES.'header.php');

    if ($product->isProduct() === false) {
      $smarty->assign('error', ERROR_INVALID_PRODUCT);
      $smarty->assign('no_product', true);
    } else {
      if ($messageStack->size('product_reviews_write') > 0) {
        $smarty->assign('error', $messageStack->output('product_reviews_write'));
      }
      if (!isset($author)) {
        if(isset($_SESSION['customer_id'])) {
          $customer_info_query = xtc_db_query("SELECT customers_firstname,
                                                      customers_lastname
                                                 FROM "
    .TABLE_CUSTOMERS."
                                                WHERE customers_id = '"
    .(int) $_SESSION['customer_id']."'");
          if (xtc_db_num_rows($customer_info_query) > 0) {
            $customer_info = xtc_db_fetch_array($customer_info_query);
            $author = $customer_info['customers_firstname'].' '.$customer_info['customers_lastname'][0].'.';
          }
        }
      }
      if (in_array('reviews', $use_captcha) && (!isset($_SESSION['customer_id']) || MODULE_CAPTCHA_LOGGED_IN == 'True')) {
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL') .'" alt="Captcha" />');
        $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'style="width:240px;" size="'.MODULE_CAPTCHA_CODE_LENGTH.'" maxlength="'.MODULE_CAPTCHA_CODE_LENGTH.'"', 'text', false));
      }
      $link = 'javascript:history.back(1)';
      if (!isset($_SERVER['HTTP_REFERER'])
          || strpos($_SERVER['HTTP_REFERER'], HTTP_SERVER) === false
          )
      {
        $link = xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$product->data['products_id'], 'NONSSL');    
      }
       
      $smarty->assign('PRODUCTS_NAME', $product->data['products_name']);
      $smarty->assign('INPUT_AUTHOR', xtc_draw_input_field('author', $author, 'style="width:235px;"'));
      $smarty->assign('INPUT_TEXT', xtc_draw_textarea_field('review', 'soft', '60', '15', $review));
      $smarty->assign('FORM_ACTION', xtc_draw_form('product_reviews_write', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, xtc_get_all_get_params(array('action')).'action=process'), 'post', 'onSubmit="return check_form_review();"').xtc_draw_hidden_field('get_params', xtc_get_all_get_params(array('action'))));
      $smarty->assign('BUTTON_BACK', '<a href="'.$link.'">'.xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>');
      $smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
      $smarty->assign('FORM_END', '</form>');

      $input_rating_array = array(
        xtc_draw_radio_field('rating', '1', (($rating == '1') ? true : false)),
        xtc_draw_radio_field('rating', '2', (($rating == '2') ? true : false)),
        xtc_draw_radio_field('rating', '3', (($rating == '3') ? true : false)),
        xtc_draw_radio_field('rating', '4', (($rating == '4') ? true : false)),
        xtc_draw_radio_field('rating', '5', (($rating == '5') ? true : false)),
      );
      $smarty->assign('INPUT_RATING', implode(' ', $input_rating_array));
      $smarty->assign('INPUT_RATING_ARRAY', $input_rating_array);
    }

    $smarty->assign('language', $_SESSION['language']);
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/product_reviews_write.html');

    $smarty->assign('main_content', $main_content);
    $smarty->caching = 0;
    if (!defined('RM'))
      $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.869
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #11 am: 05. März 2019, 11:00:45
    Okay, die ist original - daran kann es nicht liegen.

    Was ich noch nicht ganz verstanden habe:
    sind im Backend die Bewertungen tatsächlich alle mit nur einem Stern versehen? Oder wird obwohl im Backend 5 Sterne sind, dann im Frontend nur 1 Stern angezeigt?

    Grüße
    Dominik

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #12 am: 05. März 2019, 12:07:13
    Das Problem könnte am CSS deines Templates liegen, wenn in der stylesheet.css z.B. bei ".show_rating" die Anweisung "direction: rtl;" fehlt. Die massgebenden Regelsätze sehen im templates\tpl_modified\stylesheet.css so aus.

    Code: CSS  [Auswählen]
    /* 47. START CSS Write reviews */
    .show_rating {
      unicode-bidi: bidi-override;
      direction: rtl;
      display:inline-block;
      padding: 0px 15px;
      position:relative;
      bottom:1px;
    }
    .show_rating input {
      position: absolute;
      left: -999999px;
    }
    .show_rating label {
      display: inline-block;
      font-size: 0;
      padding: 0px 1px;
      vertical-align:bottom;
    }
    .show_rating > label:before {
      height:20px;
      width:19px;
      position: relative;
      display: block;
      content: " ";
      color: transparent;
      background: transparent url(img/stars_rating.png) no-repeat 0 0;
      -webkit-text-fill-color: transparent;
    }
    .show_rating > label:hover:before,
    .show_rating > label:hover ~ label:before,
    .show_rating > label.selected:before,
    .show_rating > label.selected ~ label:before {
      color: transparent;
      height:20px;
      width:19px;
      background: transparent url(img/stars_rating.png) no-repeat 0 -20px;
      -webkit-text-fill-color: transparent;
    }
    /* END CSS Write reviews */
     

    Tipp, ersetze testweise in "/templates/<Template-Name>/module/product_reviews_write.html" folgenden Code

    Code: XML  [Auswählen]
    {foreach item=rating from=$INPUT_RATING_ARRAY|@array_reverse}

    mit diesem Code.

    Code: XML  [Auswählen]
    {foreach item=rating from=$INPUT_RATING_ARRAY}

    Gruss
    Hanspeter

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #13 am: 05. März 2019, 15:04:02
    Dank an HansPeter

    damit geht es!!! Leider fehlen in der Bewertungsansicht noch die Sterne um das klarer zu machen. Geht aber auch so. :-)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Neue Bewertungen immer nur 1 Stern
    Antwort #14 am: 05. März 2019, 15:17:52
    Das würde ich dann doch mal beim Hersteller des Templates bemängeln und Nachbesserung einfordern.

    Grüße

    Torsten
               
    anything