#1 (permalink)  
Alt 08.01.2010, 09:09
Neuer Benutzer
 
Registriert seit: 03.01.2008
Beiträge: 28
Standard Lightbox in Verbindung mit Attributbildern

Hallo Zusammen,

folgendes Problem:

Ich möchte den Standard Popup/Bilderzoom durch die Lightbox ersetzen. Allerdings habe ich nicht verschiedene Produktbilder im Stammartikle selbst angelegt, sondern in der Attributeverwaltung.
Daher hat mir die Forensuche nicht weitergeholfen.

Wenn ich die Lightbox zum Laufen bekomme, wird immer nur das Produktbild aus dem Stammartikel angezeigt. Ich möchte jetzt allerdings erreichen, dass über die Lightbox-Funktion ebenfalls die Attributbilder gezoomt werden, so wie das mit dem Standard-Popup/Bilderzoom einwandfrei funktioniert.

Hier mal meine Dateien, mit der der standardmäßige Bilderzoom bei den Attributbildern funktioniert:

Hier die product_info_v1.html

HTML-Code:
<td><a href="{$PRODUCTS_POPUP_LINK}" id="products_popup"><img src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" id="products_image"/></a></td>
                        </tr>
                        <!-- more images -->
						{if $PRODUCTS_IMAGE_1 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">                          
                          <a href="{$PRODUCTS_POPUP_LINK_1}"><img src="{$PRODUCTS_IMAGE_1}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>
						{/if}     
                        {if $PRODUCTS_IMAGE_2 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">
                          <a href="{$PRODUCTS_POPUP_LINK_2}"><img src="{$PRODUCTS_IMAGE_2}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>  
						{/if}
						{if $PRODUCTS_IMAGE_3 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">                          
                          <a href="{$PRODUCTS_POPUP_LINK_3}"><img src="{$PRODUCTS_IMAGE_3}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>  
						{/if}
                        <!-- more images eof -->                                                                  
                      </table>
                      <br />{if $PRODUCTS_IMAGE_LINK!=''}<a href="{$PRODUCTS_IMAGE_LINK}" onclick="window.open(this.href); return false;">{$PRODUCTS_TEXT_ZOOM}</a><br />{/if}
die product_info.php

PHP-Code:
<?php
/* -----------------------------------------------------------------------------------------
   $Id: product_info.php 1317 2005-10-21 16:03:18Z mz $   

   XT-Commerce - community made shopping
   http://www.xt-commerce.com

   Copyright (c) 2003 XT-Commerce
   -----------------------------------------------------------------------------------------
   based on: 
   (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
   (c) 2002-2003 osCommerce(product_info.php,v 1.94 2003/05/04); www.oscommerce.com 
   (c) 2003      nextcommerce (product_info.php,v 1.46 2003/08/25); www.nextcommerce.org

   Released under the GNU General Public License 
   -----------------------------------------------------------------------------------------
   Third Party contribution:
   Customers Status v3.x  (c) 2002-2003 Copyright Elari elari@free.fr | www.unlockgsm.com/dload-osc/ | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist
   New Attribute Manager v4b                            Autor: Mike G | mp3man@internetwork.net | http://downloads.ephing.com   
   Cross-Sell (X-Sell) Admin 1                          Autor: Joshua Dechant (dreamscape)
   Released under the GNU General Public License
   ---------------------------------------------------------------------------------------*/

//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');

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



if (!
is_object($product) || !$product->isProduct()) { // product not found in database

    
$error TEXT_PRODUCT_NOT_FOUND;
    include (
DIR_WS_MODULES.FILENAME_ERROR_HANDLER);

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

    
xtc_db_query("update ".TABLE_PRODUCTS_DESCRIPTION." set products_viewed = products_viewed+1 where products_id = '".$product->data['products_id']."' and language_id = '".$_SESSION['languages_id']."'");


        
$products_price $xtPrice->xtcGetPrice($product->data['products_id'], $format true1$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') {
            
// fsk18
            
if ($_SESSION['customers_status']['customers_fsk18'] == '1') {
                if (
$product->data['products_fsk18'] == '0') {
                    
$info_smarty->assign('ADD_QTY'xtc_draw_input_field('products_qty''1''size="3"').' '.xtc_draw_hidden_field('products_id'$product->data['products_id']));
                    
$info_smarty->assign('ADD_CART_BUTTON'xtc_image_submit('button_in_cart.gif'IMAGE_BUTTON_IN_CART));
                }
            } else {
                
$info_smarty->assign('ADD_QTY'xtc_draw_input_field('products_qty''1''size="3"').' '.xtc_draw_hidden_field('products_id'$product->data['products_id']));
                
$info_smarty->assign('ADD_CART_BUTTON'xtc_image_submit('button_in_cart.gif'IMAGE_BUTTON_IN_CART));
            }
        }

        if (
$product->data['products_fsk18'] == '1') {
            
$info_smarty->assign('PRODUCTS_FSK18''true');
        }
        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']));
        }
        
$info_smarty->assign('FORM_ACTION'xtc_draw_form('cart_quantity'xtc_href_link(FILENAME_PRODUCT_INFOxtc_get_all_get_params(array ('action')).'action=add_product')));
        
$info_smarty->assign('FORM_END''</form>');
        
$info_smarty->assign('PRODUCTS_PRICE'$products_price['formated']);
        
$info_smarty->assign('PRODUCTS_PRICE_PLAIN'$products_price['plain']);  // ioptcalc
        
if ($product->data['products_vpe_status'] == && $product->data['products_vpe_value'] != 0.0 && $products_price['plain'] > 0)
            
$info_smarty->assign('PRODUCTS_VPE'$xtPrice->xtcFormat($products_price['plain'] * ($product->data['products_vpe_value']), true).TXT_PER.xtc_get_vpe_name($product->data['products_vpe']));
        
$info_smarty->assign('PRODUCTS_ID'$product->data['products_id']);
        
$info_smarty->assign('PRODUCTS_NAME'$product->data['products_name']);
        if (
$_SESSION['customers_status']['customers_status_show_price'] != 0) {
            
// price incl tax
            
$tax_rate $xtPrice->TAX[$product->data['products_tax_class_id']];                
            
$tax_info $main->getTaxInfo($tax_rate);
            
$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_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''<img src="templates/'.CURRENT_TEMPLATE.'/buttons/'.$_SESSION['language'].'/print.gif"  style="cursor:hand" onclick="javascript:window.open(\''.xtc_href_link(FILENAME_PRINT_PRODUCT_INFO'products_id='.$product->data['products_id']).'\', \'popup\', \'toolbar=0, width=640, height=600\')" alt="" />');
        
$info_smarty->assign('PRODUCTS_DESCRIPTION'stripslashes($product->data['products_description']));
        
$image '';
        if (
$product->data['products_image'] != '')
            
$image DIR_WS_INFO_IMAGES.$product->data['products_image'];

        
$info_smarty->assign('PRODUCTS_IMAGE'$image);

        
//mo_images - by Novalis@eXanto.de
        
if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
            
$connector '/';
        }else{
            
$connector '&';
        }
        
$info_smarty->assign('PRODUCTS_POPUP_LINK''javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE'pID='.$product->data['products_id'].$connector.'imgID=0').'\')');
        
$info_smarty->assign('PRODUCTS_POPUP_LINK_BASE'xtc_href_link(FILENAME_POPUP_IMAGE'pID='.$product->data['products_id']));
        
$mo_images xtc_get_products_mo_images($product->data['products_id']);
        if (
$mo_images != false) {
            foreach (
$mo_images as $img) {
                
$mo_img DIR_WS_INFO_IMAGES.$img['image_name'];
                
                
$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'].$connector.'imgID='.$img['image_nr']).'\')');
            }
        }
        
//mo_images EOF
        
$discount 0.00;
        if (
$_SESSION['customers_status']['customers_status_public'] == && $_SESSION['customers_status']['customers_status_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 (
DIR_WS_MODULES.'product_attributes.php');
        include (
DIR_WS_MODULES.'product_reviews.php');
        
// ioptcalc beginn 
    
if( isset($products_options_data) ) {
      
$count_opt=0;
      
$options_js_idlist='';
      
$options_js_pricelist='';
      
$sep='';
      foreach( 
$products_options_data as $opt ) {
        
$count_opt += sizeof($opt['DATA']);
        foreach ( 
$opt['DATA'] as $opt_val ) {
          
$options_js_idlist .= $sep."'".$opt_val['JS_ID']."'";
          
$options_js_pricelist .= $sep.$opt_val['JS_PRICE'];
          
$sep=', ';
        }
      }
      
      
$info_smarty->assign('curr_format_symbol_left',     $xtPrice->currencies[$xtPrice->actualCurr]['symbol_left']);  
      
$info_smarty->assign('curr_format_symbol_right',    $xtPrice->currencies[$xtPrice->actualCurr]['symbol_right']);  
      
$info_smarty->assign('curr_format_decimal_point',   $xtPrice->currencies[$xtPrice->actualCurr]['decimal_point']);  
      
$info_smarty->assign('curr_format_thousands_point'$xtPrice->currencies[$xtPrice->actualCurr]['thousands_point']);  
      
$info_smarty->assign('curr_format_decimal_places',  $xtPrice->currencies[$xtPrice->actualCurr]['decimal_places']);  

      
$info_smarty->assign('OPTIONS_JS_COUNT',  $count_opt);  
      
$info_smarty->assign('OPTIONS_JS_IDLIST'$options_js_idlist);  
      
$info_smarty->assign('OPTIONS_JS_PRICELIST'$options_js_pricelist);  
    }  
  
// ioptcalc end 

        
if (xtc_not_null($product->data['products_url']))
            
$info_smarty->assign('PRODUCTS_URL'sprintf(TEXT_MORE_INFORMATIONxtc_href_link(FILENAME_REDIRECT'action=product&id='.$product->data['products_id'], 'NONSSL'truefalse)));

        if (
$product->data['products_date_available'] > date('Y-m-d H:i:s')) {
            
$info_smarty->assign('PRODUCTS_DATE_AVIABLE'sprintf(TEXT_DATE_AVAILABLExtc_date_long($product->data['products_date_available'])));

        } else {
            if (
$product->data['products_date_added'] != '0000-00-00 00:00:00')
                
$info_smarty->assign('PRODUCTS_ADDED'sprintf(TEXT_DATE_ADDEDxtc_date_long($product->data['products_date_added'])));

        }

        if (
$_SESSION['customers_status']['customers_status_graduated_prices'] == 1)
            include (
DIR_WS_MODULES.FILENAME_GRADUATED_PRICE);

        include (
DIR_WS_MODULES.FILENAME_PRODUCTS_MEDIA);
        include (
DIR_WS_MODULES.FILENAME_ALSO_PURCHASED_PRODUCTS);
        include (
DIR_WS_MODULES.FILENAME_CROSS_SELLING);
    
    if (
$product->data['product_template'] == '' or $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) and ($file != "index.html") and (substr($file01) !=".")) {
                    
$files[] = array ('id' => $file'text' => $file);
                } 
//if
            
// while
            
closedir($dir);
        }
        
$product->data['product_template'] = $files[0]['id'];
    }

$i count($_SESSION['tracking']['products_history']);
    if (
$i 6) {
        
array_shift($_SESSION['tracking']['products_history']);
        
$_SESSION['tracking']['products_history'][6] = $product->data['products_id'];
        
$_SESSION['tracking']['products_history'] = array_unique($_SESSION['tracking']['products_history']);
    } else {
        
$_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);
?>
Wenn ich diese beide Dateien für die Lightbox abändere, funktioniert die Lightbox zwar, aber eben nur mit dem "Fehler", dass das Produktbild aus dem Stamm und nicht die Attribute gezoomt werden:

Hier die geänderte product_info_v1.html (Ausschnitt)

HTML-Code:
<td><a href="{$PRODUCTS_IMAGE_POPUP}" rel="lightbox[1]" title="{$PRODUCTS_NAME}" >
						  <img src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" id="products_image"/></a></td>
                        </tr>
                        <!-- more images -->
						{if $PRODUCTS_IMAGE_1 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">                          
                          <a href="{$PRODUCTS_IMAGE_POPUP_1}" rel="lightbox[1]" title="{$PRODUCTS_NAME}"><img src="{$PRODUCTS_IMAGE_1}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>
						{/if}     
                        {if $PRODUCTS_IMAGE_2 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">
                          <a href="{$PRODUCTS_IMAGE_POPUP_2}" rel="lightbox[1]" title="{$PRODUCTS_NAME}"><img src="{$PRODUCTS_IMAGE_2}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>  
						{/if}
						{if $PRODUCTS_IMAGE_3 != ''}
                        <tr>
                          <td style="border-top: 1px solid; border-color: #cccccc;">                          
                          <a href="{$PRODUCTS_IMAGE_POPUP_3}" rel="lightbox[1]" title="{$PRODUCTS_NAME}"><img src="{$PRODUCTS_IMAGE_3}" alt="{$PRODUCTS_NAME}" /></a>                          
                          </td>
                        </tr>  
						{/if}
                        <!-- more images eof -->
die geänderte product_info.php, beschränkt auf den geänderten Abschnitt:

PHP-Code:
if ($product->data['products_image'] != '')
            
$image DIR_WS_INFO_IMAGES.$product->data['products_image'];
// begin Lightbox
$image_info DIR_WS_POPUP_IMAGES.$product->data['products_image'];
$info_smarty->assign('PRODUCTS_IMAGE_POPUP'$image_info);
// end Lightbox
        
$info_smarty->assign('PRODUCTS_IMAGE'$image);

        
//mo_images - by Novalis@eXanto.de
        
if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
            
$connector '/';
        }else{
            
$connector '&';
        }
        
$info_smarty->assign('PRODUCTS_POPUP_LINK''javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_IMAGE'pID='.$product->data['products_id'].$connector.'imgID=0').'\')');
        
$info_smarty->assign('PRODUCTS_POPUP_LINK_BASE'xtc_href_link(FILENAME_POPUP_IMAGE'pID='.$product->data['products_id']));
        
$mo_images xtc_get_products_mo_images($product->data['products_id']);
        if (
$mo_images != false) {
            foreach (
$mo_images as $img) {
                
$mo_img DIR_WS_INFO_IMAGES.$img['image_name'];
//begin Lightbox
$mo_image_info DIR_WS_POPUP_IMAGES.$img['image_name'];
$info_smarty->assign('PRODUCTS_IMAGE_POPUP_'.$img['image_nr'], $mo_image_info);
//end Lightbox                 
                
$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'].$connector.'imgID='.$img['image_nr']).'\')');
            }
        } 
Wäre echt der Hammer, wenn wir das hier gelöst bekommen, da ich wirklich schon alles ausprobiert habe, aber leider nicht DIE Lösung gefunden habe

Danke!!!

Geändert von heli-online.com (08.01.2010 um 09:10 Uhr) Grund: Codeanpassung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
attributbildern, lightbox, verbindung

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PayPal Express Modul mit GiroPay - Stand 08.05.2012 mikkel PayPal Express-Kaufabwicklung für xt:Commerce 288 27.04.2012 18:07
Kaufabwicklung mit Kunde von xt:commerce juwesoft Allgemeine Diskussionen 0 04.01.2010 08:42
Problem mit Freitext nupwerbung Shopbereich 1 30.12.2009 21:43
Probleme mit der Installation eshine Installation und Konfiguration 6 18.11.2009 23:09
Neuling mit 1000 Fragen zu 3.0.4 SP2.1 sofan Installation und Konfiguration 2 22.06.2009 13:09


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand