Integrazione Jqzoom evolution 2.3
Moderatore: mod Generali
Integrazione Jqzoom evolution 2.3
Buona sera, ho trovato su questo sito una versione piu' aggiornata di JQzoom rispetto all'attuale add-on - del marzo 2010 - vorrei sapere come integrarlo nella pagina product_info.php: ho scaricato il vecchio add on per studiarmi come funziona ma mi rendo conto che il codice e' tutto diverso rispetto all'oscommerce che ho installato io (v2.3); qualcuno e' riuscito ad usarlo?
Re: Integrazione Jqzoom evolution 2.3
Non lo usa nessuno?
Io ci sto smanettando ma non ne sono uscito ancora.
Io ci sto smanettando ma non ne sono uscito ancora.
Re: Integrazione Jqzoom evolution 2.3
Niente, non ne sto uscendo, se siete in grado di capirci qualcosa ecco il codice di product_info.php:
Codice: Seleziona tutto
<?php
/*
$Id$
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2010 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);
$product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
$product_check = tep_db_fetch_array($product_check_query);
require(DIR_WS_INCLUDES . 'template_top.php');
?>
<script type='text/javascript' src='ext/js/jquery-1.5.xx.js'></script>
<script type='text/javascript' src='ext/js/jquery.jqzoom-core.js'></script>
<?php echo tep_draw_content_top();?>
<?php
if ($product_check['total'] < 1) {
?>
<?php echo tep_draw_title_top();?>
<h1><?php echo TEXT_PRODUCT_NOT_FOUND; ?></h1>
<?php echo tep_draw_title_bottom();?>
<div class="contentContainer">
<div class="contentPadd">
<div class="buttonSet">
<span class="fl_right"><div class="bg_button2" onMouseOut="this.className='bg_button2';" onMouseOver="this.className='bg_button2-act';"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?></div></span>
</div>
</div>
</div>
<?php
} else {
$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
$product_info = tep_db_fetch_array($product_info_query);
tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");
if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
$products_price = ' <span class="productSpecialPrice fl_left">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span> <del class="fl_left">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del>';
} else {
$products_price = '<span class="productSpecialPrice">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
}
if (tep_not_null($product_info['products_model'])) {
$products_name = $product_info['products_name'] . '<br /><span class="smallText">[' . $product_info['products_model'] . ']</span>';
} else {
$products_name = $product_info['products_name'];
}
?>
<?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>
<div class="contentContainer page_un">
<div class="contentPadd">
<div class="prods_info decks big">
<div class="forecastle">
<ol class="masthead">
<li class="port_side">
<?php
if (tep_not_null($product_info['products_image'])) {
$pi_query = tep_db_query("select image, htmlcontent from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$product_info['products_id'] . "' order by sort_order");
?>
<?php
if (tep_db_num_rows($pi_query) > 0) {
?>
<div id="piGal">
<ul>
<?php
$pi_counter = 0;
while ($pi = tep_db_fetch_array($pi_query)) {
$pi_counter++;
$pi_entry = ' <li class="wrapper_pic_div" style="width:'.(PROD_INFO_IMAGE_WIDTH + PIC_MARG).'px;height:'.(PROD_INFO_IMAGE_HEIGHT + PIC_MARG).'px;"><a href="';
if (tep_not_null($pi['htmlcontent'])) {
$pi_entry .= '#piGalimg_' . $pi_counter;
} else {
$pi_entry .= tep_href_link(DIR_WS_IMAGES . $pi['image']);
}
$pi_entry .= '" target="javascript:void(0);" class="JQzoom_class" style="width:'.(PROD_INFO_IMAGE_WIDTH + PIC_MARG).'px;height:'.(PROD_INFO_IMAGE_HEIGHT + PIC_MARG).'px;">' . tep_image(DIR_WS_IMAGES . $pi['image'], '', (PROD_INFO_IMAGE_WIDTH + 2), (PROD_INFO_IMAGE_HEIGHT + 2), ' style="width:'.(PROD_INFO_IMAGE_HEIGHT + PIC_MARG).'px;height:'.(PROD_INFO_IMAGE_HEIGHT + PIC_MARG).'px;margin:'.PIC_MARG2.'px 0px 0px '.PIC_MARG2.'px;"') . ''.tep_draw_prod_pic_info_top().''.tep_draw_prod_pic_info_bottom().'</a>';
if (tep_not_null($pi['htmlcontent'])) {
$pi_entry .= '<div style="display: none;"><div id="piGalimg_' . $pi_counter . '">' . $pi['htmlcontent'] . '</div></div>';
}
$pi_entry .= '</li>';
echo $pi_entry;
}
?>
</ul>
</div>
<?php
if (PROD_INFO_IMAGE_WIDTH != PROD_INFO_IMAGE_HEIGHT){
$coeff = ((PROD_INFO_IMAGE_HEIGHT/PROD_INFO_IMAGE_WIDTH));
}else{
$coeff = 1;
}
?>
<script type="text/javascript">
$(document).ready(function(){
var options = {
zoomType: 'inner',
lens:true,
preloadImages: true,
alwaysOn:false,
zoomWidth: 250,
zoomHeight: 320,
xOffset:90,
yOffset:30,
position:'left'
};
$('.JQzoom_class').jqzoom();
});
</script>
<?php
} else {
// $image_width = (PROD_INFO_IMAGE_WIDTH +(262 - PROD_INFO_IMAGE_WIDTH));
?>
<?php echo '<a href="'.tep_href_link(DIR_WS_IMAGES . $product_info['products_image']).'" class="JQzoom_class" style="">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>' ;?>
<?php
}
?>
<script type="text/javascript">
$("#piGal a[rel^='fancybox']").fancybox({
cyclic: true
});
</script>
<?php
}
?>
</li>
<li class="starboard_side">
<?php
if (tep_db_num_rows($pi_query) > 0) {
?>
<div class="info">
<?php
}else{
?>
<div class="info">
<?php
}
?>
<?php
if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
<div class="data data_padd small_title"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></div>
<?php
}else{
?>
<div class="data data_padd small_title"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></div>
<?php
}
?>
<br /><h2><?php echo $products_name; ?></h2>
<h2 class="price"><?php echo '<b>'.PRICE. '</b>'.$products_price; ?></h2>
<?php
$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
$products_attributes = tep_db_fetch_array($products_attributes_query);
if ($products_attributes['total'] > 0) {
?>
<div class="options">
<p class="options-title"><?php echo TEXT_PRODUCT_OPTIONS; ?></p>
<ul class="ofh">
<?php
$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
$products_options_array = array();
$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");
while ($products_options = tep_db_fetch_array($products_options_query)) {
$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
if ($products_options['options_values_price'] != '0') {
$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
}
}
if (is_string($HTTP_GET_VARS['products_id']) && isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
$selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];
} else {
$selected_attribute = false;
}
?>
<li class="fl_left"><label><?php echo $products_options_name['products_options_name'] . ':'; ?></label><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></li>
<?php
}
?>
</ul>
</div>
<?php
}
?>
<div class="desc desc_padd"><?php echo stripslashes($product_info['products_description']); ?></div>
<?php
$reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and reviews_status = 1");
$reviews = tep_db_fetch_array($reviews_query);
?>
<div class="buttonSet">
<span class="buttonAction"><div class="bg_button22" onMouseOut="this.className='bg_button22';" onMouseOver="this.className='bg_button22-act';"><?php echo tep_draw_button(IMAGE_BUTTON_REVIEWS . (($reviews['count'] > 0) ? ' (' . $reviews['count'] . ')' : ''), 'comment', tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params())); ?></div></span>
<div class="fl_right" align="right"><div class="bg_button2" onMouseOut="this.className='bg_button2';" onMouseOver="this.className='bg_button2-act';"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary'); ?></div></div>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<?php
if ((USE_CACHE == 'true') && empty($SID)) {
echo tep_cache_also_purchased(3600);
} else {
include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
}
?>
</form>
<?php
}
?>
<?php echo tep_draw_content_bottom();?>
<?php
require(DIR_WS_INCLUDES . 'template_bottom.php');
require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
Re: Integrazione Jqzoom evolution 2.3
In primis dedurrei che e' impossibile integrare jzoom con product_info visto che nessuno ha risposto al mio topic in una settimana.
Ma siccome sembra piuttosto strano visto che nulla e' impossibile col codice, deduco quindi che nessuno si interessa piu' di studiarlo eccetto me.
In tal caso, vi appunto un biasimo poiche' se nessuno studia il codice e tutti vogliono la pappa pronta, si limita l'innovazione e la si pone sulle spalle di quei pochi che ancora sono competenti di questa pratica BASILARE di ogni forma di programmazione.
L'innovazione non puo' andare avanti se non esiste una collaborazione, non si puo' pretendere che tutto salti fuori da una testa sola, perche' piu' occhi vuole dire piu' probabilita' di notare errori che due soli non sono in grado di vedere.
Vi consiglio di cominciare a studiare un po'. Non voglio vedere l'alba del giorno in cui saranno considerati "webdeveloper" coloro che sanno usare solo le piattaforme e moduli costruiti da quei pochi nerd vecchia maniera.
La filosofia dell'open source muore se non si partecipa allo sviluppo.
Ma siccome sembra piuttosto strano visto che nulla e' impossibile col codice, deduco quindi che nessuno si interessa piu' di studiarlo eccetto me.
In tal caso, vi appunto un biasimo poiche' se nessuno studia il codice e tutti vogliono la pappa pronta, si limita l'innovazione e la si pone sulle spalle di quei pochi che ancora sono competenti di questa pratica BASILARE di ogni forma di programmazione.
L'innovazione non puo' andare avanti se non esiste una collaborazione, non si puo' pretendere che tutto salti fuori da una testa sola, perche' piu' occhi vuole dire piu' probabilita' di notare errori che due soli non sono in grado di vedere.
Vi consiglio di cominciare a studiare un po'. Non voglio vedere l'alba del giorno in cui saranno considerati "webdeveloper" coloro che sanno usare solo le piattaforme e moduli costruiti da quei pochi nerd vecchia maniera.
La filosofia dell'open source muore se non si partecipa allo sviluppo.