Werbung / Banner buchen
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: MODUL: Rating Stars wie bei "Amazon & Co"

    Coobi

    • Neu im Forum
    • Beiträge: 16
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #210 am: 26. Juni 2013, 08:00:12
    Hi Leute,

    ich habe das gerade auch in der Version 1.06 versucht, leider habe ich das gleiche Problem wie bully 807,
    wenn ich die Zeilen in der Product_info einfüge bekomme ich eine weiße Detailseite.

    Kann jemand helfen, gerne auch gegen kleine Bezahlung, da ich das Tool so toll finde.

    Gruß

    Coobi

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #211 am: 19. Juli 2013, 21:02:16
    Hallo,

    ich habe die Rating Stars in der 1.06 eingebaut. Allerdings (fast) ohne in den Core-Dateien zu arbeiten. Lediglich die Sprachkonstanten mussten in der lang/german/lang_german.conf eingefügt werden. Der Rest läuft voll im Template.

    Torsten hat ja schon vor langer Zeit den Shop vorbereitet, dass man nach Gunnarts Methode im Template Smarty-Funktionen einbindet. Damit geht es recht komfortabel die Änderungen durchzuführen, ohne die Update-Fähigkeit zu beeinflussen.

    Mein Dank an Torsten und alle im 1. Thread genannten für die Vorarbeit.

    Ich habe die Funktion etwas erweitert:
    0. Die Sterne können überall mit dem gleichen Aufruf verwendet werden.
    1. Man kann mit einem Funktionsaufruf im Template entweder nur die Sterne, nur die Anzahl der Bewertungen oder beides als Smarty-Variable erzeugen.
    2. Die Sterne können gezoomt werden (war bei mir nötig, da in der product_info kein Platz mehr war).

    Viel Spaß beim Einbauen

    Anleitung:
    1. Dateien an den Ort im Template kopieren.
    2. Sprachkonstanten in der lang/german/lange_german.conf anlegen.
    3. Auf die Smarty-Variablen zugreifen.

    burrito

    PS: Evtl. kann jemand die Daten in den 1. Thread kopieren

    [EDIT jannemann 19.07.2013: Modul in Beitrag 1 aktualisiert.]

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #212 am: 19. Juli 2013, 22:11:44
    Hallo burrito,

    ganz lieben Dank für das Anpassen für 1.06  :!:
    Ich habe deinen Anhang im 1. Beitrag aktualisiert.

    Schöne Grüße,
    Jan

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #213 am: 28. August 2013, 13:30:43
    @burrito: In deiner Anleitung ist glaub ein kleiner Fehler drin:

    Code: PHP  [Auswählen]
    {if $RATINGS != 1}{$RATINGS} {#text_ein_rating_kunden#}{else}{$RATINGS} {#text_rating_kunden#}{/if}

    richtig wäre:
    Code: PHP  [Auswählen]
    {if $RATINGS == 1}{$RATINGS} {#text_ein_rating_kunden#}{else}{$RATINGS} {#text_rating_kunden#}{/if}

    Ansonsten benutzt er bei 1 den Plural und bei allen den Singular  :-D

    bully807

    • Neu im Forum
    • Beiträge: 49
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #214 am: 24. September 2013, 19:07:14
    Hallo werte Fachgemeinde,

    ich habe es nochmal mit den rating stars probiert. bei der product_info.php und der product_listing_v1.html funktioniert es perfekt.
    aber wenn ich die änderung in der product_info vornehme bleibt die Detailseite weiß.
    hier mal meine product_info im Original:

    Code: PHP  [Auswählen]
    <?php

    /******* SHOPGATE **********/
    if(strpos(MODULE_PAYMENT_INSTALLED, 'shopgate.php') !== false && strpos($_SESSION['customers_status']['customers_status_payment_unallowed'], 'shopgate') === false){
      include_once DIR_FS_CATALOG.'includes/shopgate/base/includes/modules/product_info.php';
    }
    /******* SHOPGATE **********/

    //include needed functions
    require_once (DIR_FS_INC.'xtc_check_categories_status.inc.php');
    require_once (DIR_FS_INC.'xtc_get_products_mo_images.inc.php');
    require_once (DIR_FS_INC.'xtc_get_vpe_name.inc.php');
    require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');
    require_once (DIR_FS_INC.'xtc_date_short.inc.php');  // for specials

    if (!is_object($product) || !$product->isProduct()) {

      // product not found in database
      $error = TEXT_PRODUCT_NOT_FOUND;
      include (DIR_WS_MODULES.FILENAME_ERROR_HANDLER);

    } else {

      $info_smarty = new Smarty;
      $info_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

      // defaults
      $hide_qty = 0;

      // xs:booster start (v1.041)
      if (isset($_SESSION['xtb0']['tx']) && is_array($_SESSION['xtb0']['tx'])) {
        $xsb_tx = array();
        foreach($_SESSION['xtb0']['tx'] as $tx) {
          if($tx['products_id'] == $product->data['products_id']) {
            $xsb_tx = $tx;
            break;
          }
        }
            if (isset($xsb_tx['products_id'])) {           // replace || with && ?
          $hide_qty = (@$xsb_tx['XTB_ALLOW_USER_CHQTY'] != 'true' || $xsb_tx['products_id'] == $product->data['products_id']) ? 1 : 0;
          if(isset($xsb_tx['XTB_REDIRECT_USER_TO']) && $xsb_tx['products_id'] == $product->data['products_id']) {
            $info_smarty->assign('XTB_REDIRECT_USER_TO', $xsb_tx['XTB_REDIRECT_USER_TO']);
          }
            }
      }

      if (ACTIVATE_NAVIGATOR == 'true') {
        include (DIR_WS_MODULES.'product_navigator.php');
      }

      // Update products_viewed
      if ($_SESSION['customers_status']['customers_status_id'] != 0) {
        xtc_db_query("-- product_info.php
            UPDATE "
    .TABLE_PRODUCTS_DESCRIPTION."
               SET products_viewed = products_viewed+1
             WHERE products_id = '"
    .$product->data['products_id']."'
               AND language_id = "
    .$_SESSION['languages_id']);
      }

      // Get manufacturer name etc. for the product page
      $manufacturer_query = xtc_db_query("SELECT m.manufacturers_id,
                                                 m.manufacturers_name,
                                                 m.manufacturers_image,
                                                 mi.manufacturers_url
                                            FROM "
    . TABLE_MANUFACTURERS . " m
                                       LEFT JOIN "
    . TABLE_MANUFACTURERS_INFO . " mi
                                              ON (m.manufacturers_id = mi.manufacturers_id
                                             AND mi.languages_id = '"
    . (int)$_SESSION['languages_id'] . "'),
                                                 "
    . TABLE_PRODUCTS . " p
                                           WHERE p.products_id = '"
    . $product->data['products_id'] . "'
                                             AND p.manufacturers_id = m.manufacturers_id"
    );
      if (xtc_db_num_rows($manufacturer_query)) {
        $manufacturer = xtc_db_fetch_array($manufacturer_query);
        $info_smarty->assign('MANUFACTURER_IMAGE', (!empty($manufacturer['manufacturers_image']) ? DIR_WS_IMAGES.$manufacturer['manufacturers_image'] : ''));
        $info_smarty->assign('MANUFACTURER', $manufacturer['manufacturers_name']);
        $info_smarty->assign('MANUFACTURER_LINK', xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link($manufacturer['manufacturers_id'], $manufacturer['manufacturers_name'])));
      }

      // build products price
      $products_price = $xtPrice->xtcGetPrice(
                                    $product->data['products_id'],
                                    $format = true,
                                    1,
                                    $product->data['products_tax_class_id'],
                                    $product->data['products_price'],
                                    1
                                  );

      // check if customer is allowed to add to cart
      if ($_SESSION['customers_status']['customers_status_show_price'] != '0'
          && (($_SESSION['customers_status']['customers_fsk18'] == '1' && $product->data['products_fsk18'] == '0')
          || $_SESSION['customers_status']['customers_fsk18'] != '1')) {
        $add_pid_to_qty = xtc_draw_hidden_field('products_id', $product->data['products_id']);
        $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', ($hide_qty ? '' : 'size="3"'), ($hide_qty ? 'hidden' : 'text')).' '.$add_pid_to_qty);
        $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART));
      }

      // show expiry date of active special products
      $special_expires_date_query = "SELECT expires_date
                                       FROM "
    .TABLE_SPECIALS."
                                      WHERE products_id = '"
    .$product->data['products_id']."'
                                        AND status = '1'"
    ;
      $special_expires_date_query = xtDBquery($special_expires_date_query);
      $sDate = xtc_db_fetch_array($special_expires_date_query, true);
      $info_smarty->assign('PRODUCTS_EXPIRES', $sDate['expires_date'] != '0000-00-00 00:00:00' ? xtc_date_short($sDate['expires_date']) : '');

      // FSK18
      $info_smarty->assign('PRODUCTS_FSK18', $product->data['products_fsk18'] == '1' ? 'true' : '');

      //get shippingstatus image and name
      if (ACTIVATE_SHIPPING_STATUS == 'true') {
        $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
        $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
      }

      // form tags
      $info_smarty->assign('FORM_ACTION', xtc_draw_form('cart_quantity', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_get_all_get_params(array ('action')).'action=add_product')));
      $info_smarty->assign('FORM_END', '</form>');

      //products formated price
      $info_smarty->assign('PRODUCTS_PRICE', $products_price['formated']);

      //get products vpe
      $info_smarty->assign('PRODUCTS_VPE',$main->getVPEtext($product->data, $products_price['plain'])); //web28 - 2012-04-17 - use classes function getVPEtext()
     
      // products id
      $info_smarty->assign('PRODUCTS_ID', $product->data['products_id']);
     
      // products name
      $info_smarty->assign('PRODUCTS_NAME', $product->data['products_name']);

      // price incl tax and shipping link
      if ($_SESSION['customers_status']['customers_status_show_price'] != '0') {
        if (isset($xtPrice->TAX[$product->data['products_tax_class_id']])) {
          $tax_info = $main->getTaxInfo($xtPrice->TAX[$product->data['products_tax_class_id']]);
          $info_smarty->assign('PRODUCTS_TAX_INFO', $tax_info);
        }
        $info_smarty->assign('PRODUCTS_SHIPPING_LINK',$main->getShippingLink());
      }

     $info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);
       $info_smarty->assign('PRODUCTS_EAN', $product->data['products_ean']);
      $info_smarty->assign('PRODUCTS_MANUFACTURERS_MODEL', $product->data['products_manufacturers_model']);
      $info_smarty->assign('PRODUCTS_QUANTITY', $product->data['products_quantity']);
      $info_smarty->assign('PRODUCTS_WEIGHT', $product->data['products_weight']);
      $info_smarty->assign('PRODUCTS_STATUS', $product->data['products_status']);
      $info_smarty->assign('PRODUCTS_ORDERED', $product->data['products_ordered']);
      $info_smarty->assign('PRODUCTS_PRINT', xtc_image_button('print.gif', $product->data['products_name'], 'onclick="javascript:window.open(\''.xtc_href_link(FILENAME_PRINT_PRODUCT_INFO, 'products_id='.$product->data['products_id']).'\', \'popup\', \'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no, '.POPUP_PRODUCT_PRINT_SIZE.'\')"'));
      $info_smarty->assign('PRODUCTS_DESCRIPTION', stripslashes($product->data['products_description']));
      $info_smarty->assign('PRODUCTS_SHORT_DESCRIPTION', stripslashes($product->data['products_short_description']));
     
     
      $info_smarty->assign('PRODUCTS_IMAGE', $product->productImage($product->data['products_image'], 'info'));
      $info_smarty->assign('PRODUCTS_POPUP_LINK', 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].'&imgID=0').'\')');
      $info_smarty->assign('PRODUCTS_URL', !empty($product->data['products_url']) ? sprintf(TEXT_MORE_INFORMATION, xtc_href_link(FILENAME_REDIRECT, 'action=product&id='.$product->data['products_id'], 'NONSSL', true, false)) : '');

      // more images
      $mo_images = xtc_get_products_mo_images($product->data['products_id']);
      if ($mo_images != false) {
        $more_images_data = array();
        foreach ($mo_images as $img) {
          $mo_img = $product->productImage($img['image_name'], 'info');
          $more_images_data[] = array ('PRODUCTS_IMAGE' => $mo_img,
                                       'PRODUCTS_POPUP_LINK' => 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE,
                                       'pID='.$product->data['products_id'].'&imgID='.$img['image_nr']).'\')'
                                       );
          //next 2 lines only needed for non modified templates
          $info_smarty->assign('PRODUCTS_IMAGE_'.$img['image_nr'], $mo_img);
          $info_smarty->assign('PRODUCTS_POPUP_LINK_'.$img['image_nr'], 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].'&imgID='.$img['image_nr']).'\')');
        }
        $info_smarty->assign('more_images', $more_images_data);
      }

      // product discount
      if ($_SESSION['customers_status']['customers_status_public'] == 1 && $_SESSION['customers_status']['customers_status_discount'] != '0.00') {
        $discount = 0.00;
        $discount = $_SESSION['customers_status']['customers_status_discount'];
        if ($product->data['products_discount_allowed'] < $_SESSION['customers_status']['customers_status_discount'])
          $discount = $product->data['products_discount_allowed'];
        if ($discount != '0.00')
          $info_smarty->assign('PRODUCTS_DISCOUNT', $discount.'%');
      }

      //include modules
      if ($_SESSION['customers_status']['customers_status_graduated_prices'] == 1) {
        include (DIR_WS_MODULES.FILENAME_GRADUATED_PRICE);
      }
      include (DIR_WS_MODULES.'product_attributes.php');
      include (DIR_WS_MODULES.'product_reviews.php');
      include (DIR_WS_MODULES.FILENAME_PRODUCTS_MEDIA);
      include (DIR_WS_MODULES.FILENAME_ALSO_PURCHASED_PRODUCTS);
      include (DIR_WS_MODULES.FILENAME_CROSS_SELLING);

      // date available/added
      if ($product->data['products_date_available'] > date('Y-m-d H:i:s')) {
        $info_smarty->assign('PRODUCTS_DATE_AVIABLE', sprintf(TEXT_DATE_AVAILABLE, xtc_date_long($product->data['products_date_available'])));
        $info_smarty->assign('PRODUCTS_DATE_AVAILABLE', sprintf(TEXT_DATE_AVAILABLE, xtc_date_long($product->data['products_date_available'])));
      } elseif ($product->data['products_date_added'] != '0000-00-00 00:00:00') {
        $info_smarty->assign('PRODUCTS_ADDED', sprintf(TEXT_DATE_ADDED, xtc_date_long($product->data['products_date_added'])));
      }

      // get default product_info template
      if ($product->data['product_template'] == '' || $product->data['product_template'] == 'default') {
        $files = array ();
        if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/')) {
          while ($file = readdir($dir)) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/'.$file) && (substr($file, -5) == ".html") && ($file != "index.html") && (substr($file, 0, 1) !=".")) {
              $files[] = $file;
            }
          }
          closedir($dir);
        }
        sort($files);
        $product->data['product_template'] = $files[0];
      }

      // session products history
      $i = isset($_SESSION['tracking']['products_history']) ? count($_SESSION['tracking']['products_history']) : 0;
      if ($i > 6) { $i = 6; array_shift($_SESSION['tracking']['products_history']); }
      $_SESSION['tracking']['products_history'][$i] = $product->data['products_id'];
      $_SESSION['tracking']['products_history'] = array_unique($_SESSION['tracking']['products_history']);

      $info_smarty->assign('language', $_SESSION['language']);

      // set cache ID
      if (!CacheCheck()) {
        $info_smarty->caching = 0;
        $product_info = $info_smarty->fetch(CURRENT_TEMPLATE.'/module/product_info/'.$product->data['product_template']);
      } else {
        $info_smarty->caching = 1;
        $info_smarty->cache_lifetime = CACHE_LIFETIME;
        $info_smarty->cache_modified_check = CACHE_CHECK;
        $cache_id = $product->data['products_id'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
        $product_info = $info_smarty->fetch(CURRENT_TEMPLATE.'/module/product_info/'.$product->data['product_template'], $cache_id);
      }
      $smarty->assign('main_content', $product_info);
    }
    ?>

    und mit der vorgeschriebenen änderung:

    Code: PHP  [Auswählen]
    <?php

    <?php

    /******* SHOPGATE **********/
    if(strpos(MODULE_PAYMENT_INSTALLED, 'shopgate.php') !== false && strpos($_SESSION['customers_status']['customers_status_payment_unallowed'], 'shopgate') === false){
      include_once DIR_FS_CATALOG.'includes/shopgate/base/includes/modules/product_info.php';
    }
    /******* SHOPGATE **********/

    //include needed functions
    require_once (DIR_FS_INC.'xtc_check_categories_status.inc.php');
    require_once (DIR_FS_INC.'xtc_get_products_mo_images.inc.php');
    require_once (DIR_FS_INC.'xtc_get_vpe_name.inc.php');
    require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');
    require_once (DIR_FS_INC.'xtc_date_short.inc.php');  // for specials

    if (!is_object($product) || !$product->isProduct()) {

      // product not found in database
      $error = TEXT_PRODUCT_NOT_FOUND;
      include (DIR_WS_MODULES.FILENAME_ERROR_HANDLER);

    } else {

      $info_smarty = new Smarty;
      $info_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

      // defaults
      $hide_qty = 0;

      // xs:booster start (v1.041)
      if (isset($_SESSION['xtb0']['tx']) && is_array($_SESSION['xtb0']['tx'])) {
        $xsb_tx = array();
        foreach($_SESSION['xtb0']['tx'] as $tx) {
          if($tx['products_id'] == $product->data['products_id']) {
            $xsb_tx = $tx;
            break;
          }
        }
            if (isset($xsb_tx['products_id'])) {           // replace || with && ?
          $hide_qty = (@$xsb_tx['XTB_ALLOW_USER_CHQTY'] != 'true' || $xsb_tx['products_id'] == $product->data['products_id']) ? 1 : 0;
          if(isset($xsb_tx['XTB_REDIRECT_USER_TO']) && $xsb_tx['products_id'] == $product->data['products_id']) {
            $info_smarty->assign('XTB_REDIRECT_USER_TO', $xsb_tx['XTB_REDIRECT_USER_TO']);
          }
            }
      }

      if (ACTIVATE_NAVIGATOR == 'true') {
        include (DIR_WS_MODULES.'product_navigator.php');
      }

      // Update products_viewed
      if ($_SESSION['customers_status']['customers_status_id'] != 0) {
        xtc_db_query("-- product_info.php
            UPDATE "
    .TABLE_PRODUCTS_DESCRIPTION."
               SET products_viewed = products_viewed+1
             WHERE products_id = '"
    .$product->data['products_id']."'
               AND language_id = "
    .$_SESSION['languages_id']);
      }

      // Get manufacturer name etc. for the product page
      $manufacturer_query = xtc_db_query("SELECT m.manufacturers_id,
                                                 m.manufacturers_name,
                                                 m.manufacturers_image,
                                                 mi.manufacturers_url
                                            FROM "
    . TABLE_MANUFACTURERS . " m
                                       LEFT JOIN "
    . TABLE_MANUFACTURERS_INFO . " mi
                                              ON (m.manufacturers_id = mi.manufacturers_id
                                             AND mi.languages_id = '"
    . (int)$_SESSION['languages_id'] . "'),
                                                 "
    . TABLE_PRODUCTS . " p
                                           WHERE p.products_id = '"
    . $product->data['products_id'] . "'
                                             AND p.manufacturers_id = m.manufacturers_id"
    );
      if (xtc_db_num_rows($manufacturer_query)) {
        $manufacturer = xtc_db_fetch_array($manufacturer_query);
        $info_smarty->assign('MANUFACTURER_IMAGE', (!empty($manufacturer['manufacturers_image']) ? DIR_WS_IMAGES.$manufacturer['manufacturers_image'] : ''));
        $info_smarty->assign('MANUFACTURER', $manufacturer['manufacturers_name']);
        $info_smarty->assign('MANUFACTURER_LINK', xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link($manufacturer['manufacturers_id'], $manufacturer['manufacturers_name'])));
      }

      // build products price
      $products_price = $xtPrice->xtcGetPrice(
                                    $product->data['products_id'],
                                    $format = true,
                                    1,
                                    $product->data['products_tax_class_id'],
                                    $product->data['products_price'],
                                    1
                                  );

      // check if customer is allowed to add to cart
      if ($_SESSION['customers_status']['customers_status_show_price'] != '0'
          && (($_SESSION['customers_status']['customers_fsk18'] == '1' && $product->data['products_fsk18'] == '0')
          || $_SESSION['customers_status']['customers_fsk18'] != '1')) {
        $add_pid_to_qty = xtc_draw_hidden_field('products_id', $product->data['products_id']);
        $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', ($hide_qty ? '' : 'size="3"'), ($hide_qty ? 'hidden' : 'text')).' '.$add_pid_to_qty);
        $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART));
      }

      // show expiry date of active special products
      $special_expires_date_query = "SELECT expires_date
                                       FROM "
    .TABLE_SPECIALS."
                                      WHERE products_id = '"
    .$product->data['products_id']."'
                                        AND status = '1'"
    ;
      $special_expires_date_query = xtDBquery($special_expires_date_query);
      $sDate = xtc_db_fetch_array($special_expires_date_query, true);
      $info_smarty->assign('PRODUCTS_EXPIRES', $sDate['expires_date'] != '0000-00-00 00:00:00' ? xtc_date_short($sDate['expires_date']) : '');

      // FSK18
      $info_smarty->assign('PRODUCTS_FSK18', $product->data['products_fsk18'] == '1' ? 'true' : '');

      //get shippingstatus image and name
      if (ACTIVATE_SHIPPING_STATUS == 'true') {
        $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
        $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
      }

      // form tags
      $info_smarty->assign('FORM_ACTION', xtc_draw_form('cart_quantity', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_get_all_get_params(array ('action')).'action=add_product')));
      $info_smarty->assign('FORM_END', '</form>');

      //products formated price
      $info_smarty->assign('PRODUCTS_PRICE', $products_price['formated']);

      //get products vpe
      $info_smarty->assign('PRODUCTS_VPE',$main->getVPEtext($product->data, $products_price['plain'])); //web28 - 2012-04-17 - use classes function getVPEtext()
     
      // products id
      $info_smarty->assign('PRODUCTS_ID', $product->data['products_id']);
     
      // products name
      $info_smarty->assign('PRODUCTS_NAME', $product->data['products_name']);

      // price incl tax and shipping link
      if ($_SESSION['customers_status']['customers_status_show_price'] != '0') {
        if (isset($xtPrice->TAX[$product->data['products_tax_class_id']])) {
          $tax_info = $main->getTaxInfo($xtPrice->TAX[$product->data['products_tax_class_id']]);
          $info_smarty->assign('PRODUCTS_TAX_INFO', $tax_info);
        }
        $info_smarty->assign('PRODUCTS_SHIPPING_LINK',$main->getShippingLink());
      }
    $info_smarty->assign('RATING', $product->getReviewRatingStars());
    $info_smarty->assign('RATINGS', $product->getReviewRating());


     $info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);
       $info_smarty->assign('PRODUCTS_EAN', $product->data['products_ean']);
      $info_smarty->assign('PRODUCTS_MANUFACTURERS_MODEL', $product->data['products_manufacturers_model']);
      $info_smarty->assign('PRODUCTS_QUANTITY', $product->data['products_quantity']);
      $info_smarty->assign('PRODUCTS_WEIGHT', $product->data['products_weight']);
      $info_smarty->assign('PRODUCTS_STATUS', $product->data['products_status']);
      $info_smarty->assign('PRODUCTS_ORDERED', $product->data['products_ordered']);
      $info_smarty->assign('PRODUCTS_PRINT', xtc_image_button('print.gif', $product->data['products_name'], 'onclick="javascript:window.open(\''.xtc_href_link(FILENAME_PRINT_PRODUCT_INFO, 'products_id='.$product->data['products_id']).'\', \'popup\', \'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no, '.POPUP_PRODUCT_PRINT_SIZE.'\')"'));
      $info_smarty->assign('PRODUCTS_DESCRIPTION', stripslashes($product->data['products_description']));
      $info_smarty->assign('PRODUCTS_SHORT_DESCRIPTION', stripslashes($product->data['products_short_description']));
     
     
      $info_smarty->assign('PRODUCTS_IMAGE', $product->productImage($product->data['products_image'], 'info'));
      $info_smarty->assign('PRODUCTS_POPUP_LINK', 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].'&imgID=0').'\')');
      $info_smarty->assign('PRODUCTS_URL', !empty($product->data['products_url']) ? sprintf(TEXT_MORE_INFORMATION, xtc_href_link(FILENAME_REDIRECT, 'action=product&id='.$product->data['products_id'], 'NONSSL', true, false)) : '');

      // more images
      $mo_images = xtc_get_products_mo_images($product->data['products_id']);
      if ($mo_images != false) {
        $more_images_data = array();
        foreach ($mo_images as $img) {
          $mo_img = $product->productImage($img['image_name'], 'info');
          $more_images_data[] = array ('PRODUCTS_IMAGE' => $mo_img,
                                       'PRODUCTS_POPUP_LINK' => 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE,
                                       'pID='.$product->data['products_id'].'&imgID='.$img['image_nr']).'\')'
                                       );
          //next 2 lines only needed for non modified templates
          $info_smarty->assign('PRODUCTS_IMAGE_'.$img['image_nr'], $mo_img);
          $info_smarty->assign('PRODUCTS_POPUP_LINK_'.$img['image_nr'], 'javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE, 'pID='.$product->data['products_id'].'&imgID='.$img['image_nr']).'\')');
        }
        $info_smarty->assign('more_images', $more_images_data);
      }

      // product discount
      if ($_SESSION['customers_status']['customers_status_public'] == 1 && $_SESSION['customers_status']['customers_status_discount'] != '0.00') {
        $discount = 0.00;
        $discount = $_SESSION['customers_status']['customers_status_discount'];
        if ($product->data['products_discount_allowed'] < $_SESSION['customers_status']['customers_status_discount'])
          $discount = $product->data['products_discount_allowed'];
        if ($discount != '0.00')
          $info_smarty->assign('PRODUCTS_DISCOUNT', $discount.'%');
      }

      //include modules
      if ($_SESSION['customers_status']['customers_status_graduated_prices'] == 1) {
        include (DIR_WS_MODULES.FILENAME_GRADUATED_PRICE);
      }
      include (DIR_WS_MODULES.'product_attributes.php');
      include (DIR_WS_MODULES.'product_reviews.php');
      include (DIR_WS_MODULES.FILENAME_PRODUCTS_MEDIA);
      include (DIR_WS_MODULES.FILENAME_ALSO_PURCHASED_PRODUCTS);
      include (DIR_WS_MODULES.FILENAME_CROSS_SELLING);

      // date available/added
      if ($product->data['products_date_available'] > date('Y-m-d H:i:s')) {
        $info_smarty->assign('PRODUCTS_DATE_AVIABLE', sprintf(TEXT_DATE_AVAILABLE, xtc_date_long($product->data['products_date_available'])));
        $info_smarty->assign('PRODUCTS_DATE_AVAILABLE', sprintf(TEXT_DATE_AVAILABLE, xtc_date_long($product->data['products_date_available'])));
      } elseif ($product->data['products_date_added'] != '0000-00-00 00:00:00') {
        $info_smarty->assign('PRODUCTS_ADDED', sprintf(TEXT_DATE_ADDED, xtc_date_long($product->data['products_date_added'])));
      }

      // get default product_info template
      if ($product->data['product_template'] == '' || $product->data['product_template'] == 'default') {
        $files = array ();
        if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/')) {
          while ($file = readdir($dir)) {
            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_info/'.$file) && (substr($file, -5) == ".html") && ($file != "index.html") && (substr($file, 0, 1) !=".")) {
              $files[] = $file;
            }
          }
          closedir($dir);
        }
        sort($files);
        $product->data['product_template'] = $files[0];
      }

      // session products history
      $i = isset($_SESSION['tracking']['products_history']) ? count($_SESSION['tracking']['products_history']) : 0;
      if ($i > 6) { $i = 6; array_shift($_SESSION['tracking']['products_history']); }
      $_SESSION['tracking']['products_history'][$i] = $product->data['products_id'];
      $_SESSION['tracking']['products_history'] = array_unique($_SESSION['tracking']['products_history']);

      $info_smarty->assign('language', $_SESSION['language']);

      // set cache ID
      if (!CacheCheck()) {
        $info_smarty->caching = 0;
        $product_info = $info_smarty->fetch(CURRENT_TEMPLATE.'/module/product_info/'.$product->data['product_template']);
      } else {
        $info_smarty->caching = 1;
        $info_smarty->cache_lifetime = CACHE_LIFETIME;
        $info_smarty->cache_modified_check = CACHE_CHECK;
        $cache_id = $product->data['products_id'].$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
        $product_info = $info_smarty->fetch(CURRENT_TEMPLATE.'/module/product_info/'.$product->data['product_template'], $cache_id);
      }
      $smarty->assign('main_content', $product_info);
    }
    ?>
    ?>

    ich hoffe ihr könnt den wald vor bäumen erkennen ich sehe ihn nämlich gerade nicht :datz:

    die kleinschreibung bitte ich zu entschuldigen, ich komme mit gibs an der linken hand nicht an die umschalttaste  :sorry:

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #215 am: 24. September 2013, 20:07:23
    Hallo bully807,

    schalte mal das Error Reporting ein (Forensuche) dann siehst du eine Fehlermeldung, bzw. mehr, als eine weiße Seite  :!:

    Schöne Grüße,
    Jan

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #216 am: 24. September 2013, 22:02:03
    Hallo bully807,

    Du hast die Änderungen in der includes/modules/product_info.php eingebaut.

    Das ist nicht nur falsch, sondern auch nicht nötig!

    Kopiere die Dateien in die passenden Verzeichnisse und baue den Code, so wie beschrieben, in der templates/DeinTemplate/module/product_info/product_info_v1.html  oder in die von Dir gewünschte product_info.html ein.

    Mit der folgenden Zeile (, die so in der Anleitung steht,) erzeugst Du die Smarty-Variablen.
    Code: PHP  [Auswählen]
    {ratings pID=$PRODUCTS_ID}{$RATING}

    Aber auch diese Zeile musst Du in der product_info.html EINMAL schreiben, nicht in den Core-Dateien!

    Der Sinn des ganzen war ja, dass im Core nichts geändert wird und somit ein Update leichter läuft.

    Achte auf den Hinweis von Spegeli. Hier habe ich versehentlich die beiden Sprachkonstanten vertauscht.

    burrito

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #217 am: 24. September 2013, 22:47:26
    Bitte entschuldigt den Doppelpost aber die alte Antwort konnte ich nicht mehr ändern.

    @bully807
    Ich habe den Thread gerade erst nochmal kurz überflogen und gemerkt, dass Du ja gar nicht meine Lösung verwendet hast.

    Jetzt kannst Du den eingeschlagenen Weg weiter gehen. Dann folge dem Rat von Jannemann und aktiviere das Error-Reporting. Hierzu im Export -Verzeichnis eine leer Datei _error_reporting.all anlegen. Dann sollten weitere Hinweise auf der weißen Seite erscheinen.

    Oder Du baust Deine Änderungen wieder aus und übernimmst meine Lösung. Hier musst Du die beiden beigelegte Dateien an ihr Ziel kopieren und kannst schon auf die Sterne zugreifen, so wie es in der Anleitung steht. Einfach einzubauen und einfach zu aktualisieren.

    @jannemann
    Ich habe den Hinweis von Spegeli (Danke!) genutzt und die Anleitung korrigiert. Hier nun das Installations-Paket (2 Dateien inkl. Anleitung) mit der Korrektur von Spegeli.

    Bitte aktualisiere doch den Download-Link im 1. Beitrag.

    burrito

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #218 am: 24. September 2013, 22:51:10
    Oh Mann! Anhang vergessen!

    Leider kann man den alten Eintrag zwar ändern aber nichts mehr anhängen.

    Also jetzt die korrigierte Version mit der Bitte zum Kopieren in den 1. Beitrag.

    burrito

    [EDIT Tomcraft 25.09.2013: Modul in Beitrag 1 aktualisiert.]

    bully807

    • Neu im Forum
    • Beiträge: 49
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #219 am: 25. September 2013, 09:11:04
    Hallo Ihr fleißigen Helfer,

    Ich konnte meinen fehler nach lager suche selbst bereinigen. Wiedermal die }   :datz:

    Danke

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #220 am: 25. September 2013, 13:16:53
    .. und ich würde mal sagen auch das:

    Code: PHP  [Auswählen]
    <?php
    <?php
    [...]
    ?>
    ?>

    Aworka

    • Mitglied
    • Beiträge: 136
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #221 am: 03. Oktober 2013, 06:32:35
    Mal eine kurze Frage, da ich dazu keinen Screenshot gesehen habe.
    Kann man die Bewertungen administrieren?

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #222 am: 04. Oktober 2013, 11:33:51
    Ja. Im Backend Menüpunkt Artikelkatalog/Artikelbewertungen

    burrito

    cschiller

    • Fördermitglied
    • Beiträge: 152
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #223 am: 08. Oktober 2013, 18:16:50
    Super Modul!  :thx:

    Gruß Carsten

    kandidel-food

    • Fördermitglied
    • Beiträge: 29
    • Geschlecht:
    Re: MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #224 am: 25. November 2013, 20:18:31
    Ich habe das Modul in der klassischen Form nach Hainzys Anleitung eingebaut. Funktionier auch tadellos in der product_listing und product_info.

    Nur in der new_products_overview.html wirft er mir das Wort "Kundenmeinung(en)" nicht aus.
    Woran könnte das liegen?

    Gruss, Stefan.
    5 Antworten
    8518 Aufrufe
    20. März 2012, 10:21:36 von hstreicher
    1 Antworten
    3135 Aufrufe
    30. Juli 2018, 10:25:19 von alkim media
    6 Antworten
    5028 Aufrufe
    12. März 2018, 14:32:49 von andy.kegel
               
    anything