Всем привет! Маюсь несколько дней этим вопросом.
Осваиваю инет-магазин. Установила плагин от нашего, всеми любимого, nevigen - список атрибутов. Добавила атрибуты. И здесь меня ждал подвох... Вывод большого кол-ва атрибутов ( 12 ) таблицей "наградил" карточку товара длинным хвостом.
пытаюсь немного скрасить всю картину путем правки CSS. Перенесла название товара влево над фото. "Хвост" из атрибутов немного поднялся вверх.
Еще хочу перенести описание товара вверх под фотографию товара, что бы хоть как-то скрасить эту пустоту. но мои попытки перенести код description непосредственно под image_middle не приносят плодов и только смещают плагин "список атрибутов" ниже. Можно ли всетаки как-нибудь реализовать перенос описания под фото? У меня что-то идей уже совсем не осталось
(
Ссылка на карточку товара
http://akvagrunt.ru/shop/standartКод файла product_default.php
[spoiler]<?php
/**
* @version 4.3.1 13.08.2013
* @author MAXXmarketing GmbH
* @package Jshopping
* @copyright Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
$numberlimit = 3;
?>
<?php
$product = $this->product;
?>
<?php include(dirname(__FILE__)."/load.js.php");?>
<div class="zt_jshop">
<form name="product" method="post" action="<?php print $this->action?>" enctype="multipart/form-data" autocomplete="off">
<div class="zt_jshop_information_detail row">
<div class="zt_jshop_image col-sm-5">
<h1><?php print $this->product->name?><?php if ($this->config->show_product_code){?> <?php }?></h1>
<?php include(dirname(__FILE__)."/ratingandhits.php");?>
<?php print $this->_tmp_product_html_start;?>
<div class="image_middle">
<?php print $this->_tmp_product_html_before_image;?>
<?php if ($product->label_id){?>
<div class="product_label <?php print $product->_label_name;?>"><?php print $product->_label_name;?></div>
<?php }?>
<?php if (count($this->videos)){?>
<?php foreach($this->videos as $k=>$video){?>
<?php if ($video->video_code){ ?>
<div style="display:none" class="video_full" id="hide_video_<?php print $k?>"><?php echo $video->video_code?></div>
<?php } else { ?>
<a style="display:none" class="video_full" id="hide_video_<?php print $k?>" href=""></a>
<?php } ?>
<?php } ?>
<?php }?>
<div id='list_product_image_middle'>
<?php if(!count($this->images)){?>
<img id = "main_image" src = "<?php print $this->image_product_path?>/<?php print $this->noimage?>" alt = "<?php print htmlspecialchars($this->product->name)?>" />
<?php }?>
<?php foreach($this->images as $k=>$image){?>
<a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?>>
<img id = "main_image_<?php print $image->image_id?>" src = "<?php print $this->image_product_path?>/<?php print $image->image_name;?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" />
</a>
<?php }?>
</div>
<?php print $this->_tmp_product_html_after_image;?>
</div>
<div class="jshop_img_description">
<div class="zt-carousel">
<div class="jCarouselLite">
<ul>
<?php print $this->_tmp_product_html_before_image_thumb;?>
<?php if ( (count($this->images)>1) || (count($this->videos) && count($this->images)) ) {?>
<?php foreach($this->images as $k=>$image){?>
<li style="border: 1px solid #E5E5E5;"><img class="jshop_img_thumb" src="<?php print $this->image_product_path?>/<?php print $image->image_thumb?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" onclick="showImage(<?php print $image->image_id?>)" /></li>
<?php }?>
<?php }?>
</ul>
</div>
<?php if(count($this->images) > $numberlimit){?>
<div class="nav_button">
<div class="prev"><i class="fa fa-angle-left"></i></div>
<div class="next"><i class="fa fa-angle-right"></i></div>
</div>
<?php }?>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
<?php if( (count($this->images))){ ?>
$(".jCarouselLite").jCarouselLite({
btnPrev: ".zt-carousel .prev",
btnNext: ".zt-carousel .next",
slideWidth: 80,
visible: <?php echo $numberlimit;?>
});
<?php } ?>
});
</script>
<?php print $this->_tmp_product_html_after_image_thumb;?>
<?php if (count($this->videos)){?>
<?php foreach($this->videos as $k=>$video){?>
<?php if ($video->video_code) { ?>
<a href="#" id="video_<?php print $k?>" onclick="showVideoCode(this.id);return false;"><img class="jshop_video_thumb" src="<?php print $this->video_image_preview_path."/"; if ($video->video_preview) print $video->video_preview; else print 'video.gif'?>" alt="video" /></a>
<?php } else { ?>
<a href="<?php print $this->video_product_path?>/<?php print $video->video_name?>" id="video_<?php print $k?>" onclick="showVideo(this.id, '<?php print $this->config->video_product_width;?>', '<?php print $this->config->video_product_height;?>'); return false;"><img class="jshop_video_thumb" src="<?php print $this->video_image_preview_path."/"; if ($video->video_preview) print $video->video_preview; else print 'video.gif'?>" alt="video" /></a>
<?php } ?>
<?php } ?>
<?php }?>
<?php print $this->_tmp_product_html_after_video;?>
</div>
</div>
<div class="zt_jshop_short_description col-sm-7 col-xs-12">
<div class="clearfix">
<?php if ($this->config->display_button_print) print printContent();?>
</div>
<div class="zt_price_detail">
<?php if($this->product->product_old_price > 0 || $this->product->_display_price ): ?>
<div class="zt_price_detail_inner">
<?php if ($this->product->product_old_price > 0){?>
<span class="old_price" id="old_price"><?php print formatprice($this->product->product_old_price)?></span>
<?php }?>
<?php if ($this->product->_display_price){?>
<span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
<?php } ?>
</div>
<?php endif; ?>
<?php if ($this->product->product_price_default > 0 && $this->config->product_list_show_price_default){?>
<div class="default_price"><?php print _JSHOP_DEFAULT_PRICE?>: <span id="pricedefault"><?php print formatprice($this->product->product_price_default)?></span></div>
<?php }?>
<?php print $this->product->_tmp_var_bottom_price;?>
<?php if ($this->config->show_tax_in_product && $this->product->product_tax > 0){?>
<span class="taxinfo"><?php print productTaxInfo($this->product->product_tax);?></span>
<?php }?>
<?php if ($this->config->show_plus_shipping_in_product){?>
<span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
<?php }?>
<?php if ($this->config->product_show_qty_stock){?>
<div class="qty_in_stock"><?php print _JSHOP_QTY_IN_STOCK?>: <span id="product_qty"><?php print sprintQtyInStock($this->product->qty_in_stock);?></span></div>
<?php }?>
<?php if (!$this->config->hide_text_product_not_available && $this->available != null ){ ?>
<div class = "not_available" id="not_available"><?php print $this->available?></div>
<?php }?>
<?php if ($this->product->product_basic_price_show){?>
<div class="prod_base_price"><?php print _JSHOP_BASIC_PRICE?>: <span id="block_basic_price"><?php print formatprice($this->product->product_basic_price_calculate)?></span> / <?php print $this->product->product_basic_price_unit_name;?></div>
<?php }?>
</div>
<?php if (count($this->attributes)){?>
<div class="jshop_prod_attributes">
<?php foreach($this->attributes as $attribut){?>
<div class="attributes">
<span class="attributes_title">
<span class="attributes_name"><?php print $attribut->attr_name?>:</span><span class="attributes_description"><?php print $attribut->attr_description;?></span>
</span>
<span class="attributes_description">
<span id='block_attr_sel_<?php print $attribut->attr_id?>'>
<?php print $attribut->selects?>
</span>
</span>
</div>
<?php }?>
</div>
<?php }?>
<?php print $this->_tmp_product_html_before_buttons;?>
<?php if (!$this->hide_buy){?>
<div class="prod_buttons" >
<div class="zt_buttons clearfix">
<span class="prod_qty">Quantily:
<input type="text" name="quantity" id="quantity" onkeyup="reloadPrices();" class="inputbox" value="<?php print $this->default_count_product?>" /><?php print $this->_tmp_qty_unit;?>
</span>
<?php print $this->_tmp_product_html_buttons;?>
<button title="Add to cart" type="submit" class="button_buy buy_detail" onclick="jQuery('#to').val('cart');" >
<i class="fa fa-shopping-cart"></i><?php print _JSHOP_ADD_TO_CART?>
</button>
<button title="Add to wishlist" type="submit" class="button_wishlist" onclick="jQuery('#to').val('wishlist');"><i class="fa fa-heart"></i></button>
</div>
</div>
<?php }?>
<?php print $this->_tmp_product_html_after_buttons;?>
<div class="short_description">
<p><?php print $this->product->short_description; ?></p>
</div>
<?php if ($this->config->product_show_manufacturer && $this->product->manufacturer_info->name!=""){?>
<div class="manufacturer_name">
<span class="bold"><?php print _JSHOP_MANUFACTURER?>:</span> <span><?php print $this->product->manufacturer_info->name?></span>
</div>
<?php }?>
<?php if (count($this->product->freeattributes)){?>
<div class="prod_free_attribs">
<table class="jshop">
<?php foreach($this->product->freeattributes as $freeattribut){?>
<tr>
<td class="name"><span class="freeattribut_name"><?php print $freeattribut->name;?></span> <?php if ($freeattribut->required){?><span>*</span><?php }?><span class="freeattribut_description"><?php print $freeattribut->description;?></span></td>
<td class="field"><?php print $freeattribut->input_field;?></td>
</tr>
<?php }?>
</table>
<?php if ($this->product->freeattribrequire) {?>
<div class="requiredtext">* <?php print _JSHOP_REQUIRED?></div>
<?php }?>
</div>
<?php }?>
</div>
</div>
<input type="hidden" name="to" id='to' value="cart" />
<input type="hidden" name="product_id" id="product_id" value="<?php print $this->product->product_id?>" />
<input type="hidden" name="category_id" id="category_id" value="<?php print $this->category_id?>" />
</form>
<div id="zt_tabs" class="col-sm-5 col-xs-12">
<ul class="tabs">
<li class="first"><a href="#tabs-1" title="tab-1" class="active tab"><?php echo _JSHOP_DESCRIPTION ;?></a></li>
<li><a href="#tabs-2" title="tab-2" class="tab"><?php echo JText::_("JSHOP_REVIEW"); ?></a></li>
</ul>
<div id="tab-1" class="content">
<div class="zt_tab_inner">
<?php print $this->product->description; ?>
<?php if ($this->product->product_url!=""){?>
<div class="prod_url">
<a target="_blank" href="<?php print $this->product->product_url;?>"><?php print _JSHOP_READ_MORE?></a>
</div>
<?php }?>
<?php if ($this->product->delivery_time != ''){?>
<div class="deliverytime"><?php print _JSHOP_DELIVERY_TIME?>: <?php print $this->product->delivery_time?></div>
<?php }?>
<?php if (is_array($this->product->extra_field)){?>
<div class="extra_fields">
<?php $extra_field_group = "";
foreach($this->product->extra_field as $extra_field){
if ($extra_field_group!=$extra_field['groupname']){
$extra_field_group = $extra_field['groupname'];
?>
<div class='extra_fields_group'><?php print $extra_field_group?></div>
<?php }?>
<div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
<?php }?>
</div>
<?php }?>
</div>
</div>
<div id="tab-2" class="content" style="display:none">
<div class="zt_tab_inner">
<?php
print $this->_tmp_product_html_before_review;
include(dirname(__FILE__)."/review.php");
?>
</div>
</div>
</div><!--/zt_tabs-->
<!------------------------------ short_description - ------------------------------->
<?php print $this->_tmp_product_html_before_demofiles; ?>
<div id="list_product_demofiles"><?php include(dirname(__FILE__)."/demofiles.php");?></div>
<?php
if ($this->config->product_show_button_back){?>
<div class="button_back">
<input type="button" class="button" value="<?php print _JSHOP_BACK;?>" onclick="<?php print $this->product->button_back_js_click;?>" />
</div>
<?php }?>
<?php
print $this->_tmp_product_html_before_related;
include(dirname(__FILE__)."/related.php");
?>
<?php print $this->_tmp_product_html_end;?>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('a.tab').click(function(){
$('.active').removeClass('active');
$(this).addClass('active');
$('.content').slideUp();
var content_show = $(this).attr('title');
$('#'+ content_show).slideDown();
});
jQuery('#quantity').keyup(function () {
this.value = this.value.replace(/[^0-9\.]/g,'');
});
});
</script>[/spoiler]
Может быть кто-то поможет с советом как еще сгладить эту всю "красоту" с хвостом из атрибутов. Другие товары с меньшим кол-м атрибутов, но этот основной хотелось бы тоже довести до ума.