php actual site
unknown
php
4 years ago
6.3 kB
6
Indexable
<?php
/**
* sublayout products
*
* @package VirtueMart
* @author Max Milbers
* @link ${PHING.VM.MAINTAINERURL}
* @copyright Copyright (c) 2014 VirtueMart Team. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL2, see LICENSE.php
* @version $Id: cart.php 7682 2014-02-26 17:07:20Z Milbo $
*/
defined('_JEXEC') or die('Restricted access');
$products_per_row = empty($viewData['products_per_row'])? 1:$viewData['products_per_row'] ;
$currency = $viewData['currency'];
$showRating = $viewData['showRating'];
$verticalseparator = " vertical-separator";
echo shopFunctionsF::renderVmSubLayout('askrecomjs');
$ItemidStr = '';
$Itemid = shopFunctionsF::getLastVisitedItemId();
if(!empty($Itemid)){
$ItemidStr = '&Itemid='.$Itemid;
}
$dynamic = false;
if (vRequest::getInt('dynamic',false)) {
$dynamic = true;
}
foreach ($viewData['products'] as $type => $products ) {
$col = 1;
$nb = 1;
$row = 1;
if($dynamic){
$rowsHeight[$row]['product_s_desc'] = 1;
$rowsHeight[$row]['price'] = 1;
$rowsHeight[$row]['customfields'] = 1;
$col = 2;
$nb = 2;
} else {
$rowsHeight = shopFunctionsF::calculateProductRowsHeights($products,$currency,$products_per_row);
if( (!empty($type) and count($products)>0) or (count($viewData['products'])>1 and count($products)>0)){
$productTitle = vmText::_('COM_VIRTUEMART_'.strtoupper($type).'_PRODUCT'); ?>
<div class="<?php echo $type ?>-view">
<h4><?php echo $productTitle ?></h4>
<?php // Start the Output
}
}
// Calculating Products Per Row
$cellwidth = ' width'.floor ( 100 / $products_per_row );
$BrowseTotalProducts = count($products);
foreach ( $products as $product ) {
if(!is_object($product) or empty($product->link)) {
vmdebug('$product is not object or link empty',$product);
continue;
}
// Show the horizontal seperator
if ($col == 1 && $nb > $products_per_row) { ?>
<div class="horizontal-separator"></div>
<?php }
// this is an indicator wether a row needs to be opened or not
if ($col == 1) { ?>
<div class="row">
<?php }
// Show the vertical seperator
if ($nb == $products_per_row or $nb % $products_per_row == 0) {
$show_vertical_separator = ' ';
} else {
$show_vertical_separator = $verticalseparator;
}
// Show Products ?>
<div class="product vm-col<?php echo ' vm-col-' . $products_per_row . $show_vertical_separator ?>">
<div class="spacer product-container clearfix">
<div class="product-media">
<div class="vm-product-media-container">
<?php // Bagde - Custom Field
echo shopFunctionsF::renderVmSubLayout('badge',array('product'=>$product,'position'=>'badge'));
?>
<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
<div class="product-overlay">
<div class="product-actions">
<?php //echo $rowsHeight[$row]['customs'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('addtocart_small',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
</div>
<div class="vm-product-rating-container">
<?php echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$showRating, 'product'=>$product));?>
</div>
</div>
<div class="vm-details-button">
<?php // Product Details Button
$link = empty($product->link)? $product->canonical:$product->link;
$icon ='<i class="fa fa-share"></i>';
echo JHtml::link($link.$ItemidStr,$icon, array ('title' => $product->product_name, 'class' => 'product-details' ) );
//echo JHtml::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id , FALSE), vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
?>
</div>
</div>
</div>
</div>
<div class="product-details-full">
<div class="product-small-detail">
<h3><?php echo JHtml::link ($product->link.$ItemidStr, $product->product_name); ?></h3>
<div class="vm-product-rating-container">
<?php echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$showRating, 'product'=>$product));?>
</div>
<?php //echo $rowsHeight[$row]['price'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['price'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('prices_cat',array('product'=>$product,'currency'=>$currency)); ?>
<div class="clear"></div>
</div>
</div>
<div class="product-list-details">
<div class="vm-product-descr-container-<?php echo $rowsHeight[$row]['product_s_desc'] ?>">
<?php if(!empty($rowsHeight[$row]['product_s_desc'])){
?>
<p class="product_s_desc">
<?php // Product Short Description
if (!empty($product->product_s_desc)) {
echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 180, ' ...') ?>
<?php } ?>
</p>
<?php } ?>
</div>
<?php //echo $rowsHeight[$row]['customs'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('addtocart_cat',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
</div>
</div>
</div>
<?php if(vRequest::getInt('dynamic')){
echo vmJsApi::writeJS();
} ?>
</div>
</div>
<?php
$nb ++;
// Do we need to close the current row now?
if ($col == $products_per_row || $nb>$BrowseTotalProducts) { ?>
<div class="clear"></div>
</div>
<?php
$col = 1;
$row++;
} else {
$col ++;
}
}
if( (!empty($type) and count($products)>0) or (count($viewData['products'])>1 and count($products)>0) ){
// Do we need a final closing row tag?
//if ($col != 1) {
?>
<div class="clear"></div>
</div>
<?php
// }
}
}
Editor is loading...