first commit

This commit is contained in:
2025-03-12 17:06:23 +01:00
commit 2241f7131f
13185 changed files with 1692479 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
<?php
/**
* SOTESHOP/stAccessoriesPlugin
*
* Ten plik należy do aplikacji stAccessoriesPlugin opartej na licencji (Professional License SOTE).
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
*
* @package stAccessoriesPlugin
* @subpackage actions
* @copyright SOTE (www.sote.pl)
* @license http://www.sote.pl/license/sote (Professional License SOTE)
* @version $Id: actions.class.php 3369 2010-02-09 08:41:06Z pawel $
* @author Krzysztof Bebło <krzysztof.beblo@sote.pl>
*/
/**
* Akcje modułu akcesoria
*
* @author Krzysztof Bebło <krzysztof.beblo@sote.pl>
*
* @package stAccessoriesPlugin
* @subpackage actions
*/
class stAccessoriesFrontendActions extends stActions
{
/**
* Pokazuje akcesoria dla danego produktu
*/
public function executeAccessoriesList()
{
if(!$this->getRequest()->isXmlHttpRequest() && $this->getController()->getRenderMode() != sfView::RENDER_VAR){
$this->getResponse()->setStatusCode(404);
$this->getResponse()->setHttpHeader('Status', '404 Not Found');
return $this->forward('stErrorFrontend', 'error404');
}
$this->smarty = new stSmarty($this->getModuleName());
$this->config = stConfig::getInstance(sfContext::getInstance(), 'stProduct');
$this->config_points = stConfig::getInstance(sfContext::getInstance(), 'stPointsBackend');
$this->config_points->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage()));
$this->setLayout(false);
$product_id = $this->getRequestParameter('id');
$c = new Criteria();
$c->addJoin(ProductHasAccessoriesPeer::ACCESSORIES_ID, ProductPeer::ID);
$c->add(ProductHasAccessoriesPeer::PRODUCT_ID, $product_id);
$c->addAscendingOrderByColumn(ProductHasAccessoriesPeer::ID);
ProductPeer::addFilterCriteria($this->getContext(), $c, false);
$this->products = ProductPeer::doSelectForPager($c);
}
}

View File

@@ -0,0 +1,146 @@
<?php
use_helper('stCurrency', 'stProductImage', 'stText', 'stUrl', 'stAvailability');
sfLoader::loadHelpers(array('stProduct'), 'stProduct');
st_theme_use_stylesheet('stProduct.css');
if ($products)
{
$smarty->assign("show_name", $config->get('show_name_other'));
$smarty->assign("show_image", $config->get('show_image_other'));
$smarty->assign("show_price", $config->get('show_price_other'));
$smarty->assign("show_description", $config->get('show_description_other'));
$smarty->assign("show_old_price", $config->get('show_old_price_other'));
$smarty->assign("show_discount", $config->get('show_discount_other'));
$smarty->assign("show_basket", $config->get('show_basket_long'));
$smarty->assign("price_view", $config->get('price_view_other'));
$smarty->assign('show_stock', $config->get('show_depository_long'));
$smarty->assign('show_availability', $config->get('show_availability_long'));
$smarty->assign('button_type', $config->get('button_type_long'));
$photo_max_height = st_asset_thumbnail_setting('height', 'thumb');
$cut_name = $config->get('cut_name_other');
$max_name_length = $config->get('cut_name_num_other');
$results = array();
foreach ($products as $index => $product)
{
$product_url = st_url_for('stProduct/show?url='.$product->getFriendlyUrl());
$product_name = $product->getName();
$results[$index]['instance'] = $product ;
$results[$index]['id'] = $product->getId();
$results[$index]['photo'] = content_tag('a', st_product_image_tag($product, 'thumb'), array('href' => $product_url));
$results[$index]['photo_small'] = content_tag('a', st_product_image_tag($product, 'small'), array('href' => $product_url));
$results[$index]['photo_max_height'] = $photo_max_height;
if ($cut_name && st_check_strlen($product_name) > $max_name_length)
{
$results[$index]['name'] = "<span title=\"". $product_name ."\">" . content_tag('a', st_truncate_text($product_name, $max_name_length, '...'), array('href' => $product_url, 'class' => 'product_name')) . "</span>";
}
else
{
$results[$index]['name'] = content_tag('a', $product_name, array('href' => $product_url, 'class' => 'product_name'));
}
$results[$index]['points_value'] = $product->getPointsValue();
$results[$index]['points_earn'] = $product->getPointsEarn();
$results[$index]['points_only'] = $product->getPointsOnly();
$results[$index]['uom'] = st_product_uom($product);
$results[$index]['stock'] = $product->getStock();
if ($product->isPriceVisible()){
if ($config->get('show_uom_other') && $product->getUom()){
$uom = " / ".$results[$index]['uom'];
}else{
$uom = "";
}
$results[$index]['price'] = st_currency_format($product->getPriceBrutto(true)).$uom;
$results[$index]['price_net'] = st_currency_format($product->getPriceNetto(true)).$uom;
$old_price_brutto = $product->getOldPriceBrutto(true);
$results[$index]['check_old_price'] = $old_price_brutto != 0;
$results[$index]['old_price'] = st_currency_format($old_price_brutto);
$results[$index]['old_price_net'] = st_currency_format($product->getOldPriceNetto(true));
$results[$index]['discount'] = $product->getDiscountInPercent();
$results[$index]['check_price'] = false;
$results[$index]['basket'] = st_get_component('stBasket', 'add', array('product' => $product));
if ($config->get('show_basic_price_long') && $product->hasBasicPrice() && $product->getBasicPriceBrutto()!=0)
{
$results[$index]['basic_price'] = array(
'netto' => st_currency_format($product->getBasicPriceNetto(true)),
'brutto' => st_currency_format($product->getBasicPriceBrutto(true)),
'quantity' => st_product_basic_price_quantity($product),
'for_quantity' => st_product_basic_price_for_quantity($product),
);
}
}
else
{
$results[$index]['check_price'] = true;
}
$results[$index]['description'] = $product->getShortDescription() ? $product->getShortDescription() : st_truncate_text($product->getDescription(), 140, '...');
$results[$index]['name_without_link'] = $product->getName();
$results[$index]['is_observe'] = stProductObservePluginListener::isObserveProduct($product->getId());
$results[$index]['link'] = $product_url;
$results[$index]['code'] = $product->getCode();
$results[$index]['availability'] = st_availability_show($product);
}
//points system
$smarty->assign('points_system_is_active', stPoints::isPointsSystemActive());
$smarty->assign('show_points', $config_points->get('product_group_show_points'));
$smarty->assign('display_type', $config_points->get('product_group_display_type'));
$smarty->assign('points_shortcut', $config_points->get('points_shortcut', null, true));
$smarty->assign('config_points',$config_points);
$smarty->assign("results", $results);
$config_observe = stConfig::getInstance(sfContext::getInstance(), 'stProductObserveBackend');
$smarty->assign('is_observe_enabled', $config_observe->get('enabled'));
$smarty->display('accessories_list.html');
}

View File

@@ -0,0 +1,69 @@
<section id="product-accessories" class="full-list product-list" >
<div class="row" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product col-xs-4 col-sm-4 col-md-3 col-lg-3">
<div class="thumbnail clearfix view-img">
{if $show_image==1}<div data-equalizer-watch="image"><div class="image">{$product.photo_small}</div></div>{/if}
<div class="text-center caption clearfix">
<p class="name" data-equalizer-watch="name">{if $show_name==1}{$product.name}{/if}</p>
{if $show_availability}
<div class="product-availability" data-equalizer-watch="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability" data-equalizer-watch="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
<div data-equalizer-watch="info">
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price text-muted">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price text-muted">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price text-center"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
<div class="discount-old_price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1)}
{if $product.check_old_price==1}
<div class="old_price price nowrap">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
{/if}
</div>
</div>
</div>
</div>
</div>
{/foreach}
</div>
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories [data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,87 @@
{assign var='col_xs' value=$theme_config->getConfigParameter('layout_config.products_in_row_mobile')}
{assign var='col_sm' value=$theme_config->getConfigParameter('layout_config.products_in_row_desktop')}
<section id="product-accessories" class="product-list full-list grid-wrapper grid-xs-{$col_xs} grid-sm-3{if $col_sm == 4} grid-md-4{elseif $col_sm == 5} grid-md-4 grid-lg-5{/if}" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product thumbnail clearfix">
{if $is_observe_enabled }
<div class="product-observe {if $product.is_observe}observe-yes{else}observe-no{/if}" data-product-observe="{$product.id}">
<svg width="23" height="21" viewBox="0 0 23 21" xmlns="http://www.w3.org/2000/svg">
<path d="M6.4592 1C3.44417 1 1 3.81598 1 7.28966C1 7.97227 1.09438 8.62947 1.26893 9.2449C1.71875 10.8309 2.96968 12.0161 4.1733 13.1426L11.5 20L18.8267 13.1426C20.0303 12.0161 21.2813 10.8309 21.7311 9.2449C21.9056 8.62947 22 7.97227 22 7.28966C22 3.81598 19.5558 1 16.5408 1C14.2698 1 12.3227 2.59762 11.5 4.87056C10.6773 2.59762 8.73018 1 6.4592 1Z" stroke-width="2" stroke-linejoin="round"/>
</svg>
</div>
{/if}
{if $show_image==1}<div data-equalizer-watch="image"><div class="image{if $theme_config->getConfigParameter('layout_config.product_img_space') == 'space'} space{/if}">{$product.photo_small}</div></div>{/if}
<div class="caption clearfix {if $theme_config->getConfigParameter('layout_config.product_info_align_desktop') == 'left'}text-left{else}text-center{/if}">
<div data-equalizer-watch="thumb">
{if $show_name==1}<p class="name">{$product.name}</p>{/if}
{if $show_availability}
<div class="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_weight}<div class="weight text-muted">{if $product.weight}{__ text="Waga"}: {$product.weight}{/if}</div>{/if}
{if $show_description==1}<div class="description tinymce_html">{$product.description}</div>{/if}
<div class="box-price">
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="price old_price">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
</div>
</div>
<div class="product-shopping-cart">
{if $button_type == 'basket'}
{if $show_price==1 && $show_basket==1}
{basket_add_link product=$product.instance namespace="product_accesoriess_card"}
{/if}
{else}
<a class="btn btn-shopping-cart" href="{$product.link}">{__ text="Sprawdź"}</a>
{/if}
</div>
</div>
</div>
{/foreach}
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories[data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,76 @@
{assign var='col_xs' value=$theme_config->getConfigParameter('layout_config.products_in_row_mobile')}
{assign var='col_sm' value=$theme_config->getConfigParameter('layout_config.products_in_row_desktop')}
<section id="product-accessories" class="product-list full-list grid-wrapper grid-xs-{$col_xs} grid-sm-3{if $col_sm == 4} grid-md-4{elseif $col_sm == 5} grid-md-4 grid-lg-5{/if}" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product thumbnail clearfix">
{if $show_image==1}
<div class="relative" data-equalizer-watch="image">
<div class="image{if $theme_config->getConfigParameter('layout_config.product_img_space') == 'space'} space{/if}">{$product.photo_small}</div>
<div class="box-price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="price discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="price old_price nowrap">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price nowrap">{$product.price_net}</div>
<div class="price minor_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price nowrap">{$product.price}</div>
<div class="price minor_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{/if}
{if $product.basic_price}
<div class="price basic_price"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
</div>
{if $button_type == 'basket'}
{if $show_price==1 && $show_basket==1}
{basket_add_link product=$product.instance namespace="product_acc"}
{/if}
{else}
<a class="btn btn-shopping-cart" href="{$product.link}">{__ text="Sprawdź"}</a>
{/if}
</div>
{/if}
<div class="caption clearfix {if $theme_config->getConfigParameter('layout_config.product_info_align_desktop') == 'left'}text-left{else}text-center{/if}">
{if $show_name==1}<p class="name" >{$product.name}</p>{/if}
{if $show_availability}
<div class="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_description==1}<div class="description tinymce_html">{$product.description}</div>{/if}
</div>
</div>
{/foreach}
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories[data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,79 @@
<section id="product-accessories" class="home-list product-list" >
<div class="row" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product col-xs-4 col-sm-4 col-md-3 col-lg-3">
<div class="thumbnail clearfix view-img">
{if $show_image==1}
<div data-equalizer-watch="image" class="relative">
<div class="back-side-product text-center">
<a href="{$product.link}" data-equalizer-watch="image">
<span class="ornament first"></span><span class="ornament second"></span>
<span class="btn btn-primary">{__ text="zobacz"}</span>
</a>
</div>
<div class="image">{$product.photo_small}</div>
</div>
{/if}
<div class="caption clearfix">
<p class="name" data-equalizer-watch="name">{if $show_name==1}{$product.name}{/if}</p>
{if $show_availability}
<div class="product-availability" data-equalizer-watch="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability" data-equalizer-watch="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_description}<div class="description" data-equalizer-watch="desc">{$product.description}</div>{/if}
{if $show_price==1}
<div class="main_price" data-equalizer-watch="main_price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount-old_price ">
<div class="discount">{__ text="Rabat"}: <span class="nowrap">{$product.discount} %</span></div>
</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="discount-old_price ">
<div class="price old_price nowrap">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
</div>
{/if}
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price"><span class="txt">{__ text="netto"}:</span> <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price"><span class="txt">{__ text="Cena"}:</span> <span class="nowrap">{$product.price}</span></div>
{elseif $price_view=='only_net'}
<div class="price"><span class="txt">{__ text="netto"}:</span> <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price"><span class="txt">{__ text="brutto"}:</span> <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{/if}
</div>
{/if}
</div>
</div>
</div>
{/foreach}
</div>
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories [data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,43 @@
<div id="st_component-st_product-list_other">
<div id="st_component-st_product-product_list_other_head"></div>
{foreach key=row item=product from=$results}
<div class="st_component-st_product-product_list_other">
{if ($show_image)==1}<div class="st_product-list_other_image" style="height: {$product.photo_max_height}px">{$product.photo}</div>{/if}
{if ($show_name)==1}<div class="st_product-list_other_name">{$product.name}</div>{/if}
{if ($show_price)==1}
{if ($product.check_price)!=1}
{if $price_view=='net_gross'}
<div class="st_product-list_other_price_double">{$product.price_net} <br /><span>({$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="st_product-list_other_price">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="st_product-list_other_price">{$product.price_net}</div>
{elseif $price_view=='gross_net'}
<div class="st_product-list_other_price_double">{$product.price} <br /><span>({$product.price_net}</span>)</div>
{/if}
{else}
<div style="min-height: 47px; height: 47px;"></div>
{/if}
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="st_product-list_other_discount">{__ text="Rabat"}: <span>{$product.discount} %</span></div>
{elseif ($show_old_price==1 && $product.check_price!=1)}
{if $product.check_old_price==1}
{if ($price_view=='net_gross' || $price_view=='only_net')}
<div class="st_product-list_other_old_price"><span>{$product.old_price_net}</span></div>
{else}
<div class="st_product-list_other_old_price"><span>{$product.old_price}</span></div>
{/if}
{else}
<div class="st_product-list_other_discount"></div>
{/if}
{else}
<div class="st_product-list_other_discount"></div>
{/if}
{/if}
</div>
{/foreach}
</div>
<div class="st_component-st_product-product_list_other_foot">
<br class="st_clear_all" />
</div>
<br class="st_clear_all" />

View File

@@ -0,0 +1,99 @@
<div id="product_accessories">
{foreach key=row item=product from=$results}
<div class="item">
{if ($show_image)==1}<div class="image roundies">{$product.photo}</div>{/if}
{if ($show_name)==1}<div class="name">{$product.name}</div>{/if}
{if $show_price==1 && $product.check_price!=1 && $product.points_only!=1 }
{if $price_view=='net_gross'}
<div class="double_price price">{$product.price_net} <br /><span>({$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price"><span>{$product.price}</span></div>
{elseif $price_view=='only_net'}
<div class="price"><span>{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="double_price price">{$product.price} <br /><span>({$product.price_net}</span>)</div>
{/if}
{else}
<div class="price"></div>
{/if}
<div class="discount-old_price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1 && $product.points_only!=1}
<div class="discount"><span>{$product.discount} %</span></div>
{elseif ($show_old_price==1 && $product.check_price!=1)}
{if $product.check_old_price==1}
<div class="old_price price">
{if ($price_view=='net_gross' || $price_view=='only_net')}
<span>{$product.old_price_net}</span>
{else}
<span>{$product.old_price}</span>
{/if}
</div>
{/if}
{/if}
</div>
<div class="minor_price basic_price">
{if $product.basic_price}
<i>{$product.basic_price.quantity}<br />({$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity})</i>
{/if}
</div>
{if $points_system_is_active==1 && $show_points==1}
{if $display_type=='earn_value' && $product.points_only!=1}
<div class="major_price price">{if $product.points_earn > 0}{__ text="Otrzymasz"}: <span style="color:green;">{$product.points_earn} {$points_shortcut}</span>{/if}</div>
<div class="minor_price price">{if $product.points_value > 0}(<span style="color:#ED1B24;">{$product.points_value} {$points_shortcut}</span>){/if}</div>
{elseif $display_type=='only_value' || $product.points_only==1}
<div class="price">{if $product.points_value > 0}<span style="color:#ED1B24;">{$product.points_value} {$points_shortcut}</span>{/if}</div>
<div class="price"></div>
{elseif $display_type=='only_earn' && $product.points_only!=1}
<div class="price">{if $product.points_earn > 0}{__ text="Otrzymasz"}: <span style="color:green;">{$product.points_earn} {$points_shortcut}</span>{/if}</div>
<div class="price"></div>
{elseif $display_type=='value_earn' && $product.points_only!=1}
<div class="major_price price">{if $product.points_value > 0}<span style="color:#ED1B24;">{$product.points_value} {$points_shortcut}</span>{/if}</div>
<div class="minor_price price">{if $product.points_earn > 0}({__ text="Otrzymasz"}: <span style="color:green;">{$product.points_earn} {$points_shortcut}</span>){/if}</div>
{elseif $display_type=='value_earn_alternative' && $product.points_only!=1}
<div class="major_price price">{if $product.points_value > 0}<span style="color:#ED1B24;">{$product.points_value} {$points_shortcut}</span>{/if}{if $product.points_value > 0 && $product.points_earn > 0} / {/if}{if $product.points_earn > 0}<span style="color:green;">{$product.points_earn} {$points_shortcut}</span>{/if}</div>
<div class="price"></div>
{elseif $display_type=='earn_value_alternative' && $product.points_only!=1}
<div class="major_price price">{if $product.points_earn > 0}<span style="color:green;">{$product.points_earn} {$points_shortcut}</span>{/if}{if $product.points_value > 0 && $product.points_earn > 0} / {/if}{if $product.points_value > 0}<span style="color:#ED1B24;">{$product.points_value} {$points_shortcut}</span>{/if}</div>
<div class="price"></div>
{/if}
{/if}
</div>
{/foreach}
</div>
<div class="clear"></div>
{literal}
<script type="text/javascript">
jQuery(function($) {
function equalHeight(group)
{
var tallest = 0;
group.each(function() {
var height = $(this).height();
if(height > tallest) {
tallest = height;
}
});
group.height(tallest);
}
function update() {
equalHeight($("#product_accessories .image"));
equalHeight($("#product_accessories .name"));
equalHeight($("#product_accessories .price"));
equalHeight($("#product_accessories .basic_price"));
equalHeight($("#product_accessories .discount-old_price"));
equalHeight($('#product_accessories .basket'));
}
$(window).load(update);
update();
});
</script>
{/literal}

View File

@@ -0,0 +1,129 @@
<section id="product-accessories">
<div class="full-list product-list row">
{assign var='i' value=0}
{foreach key=row item=product from=$results}
{assign var='i' value=$i+1}
<div class="product col-xs-12 col-sm-4 col-md-4 col-lg-4 item nr_{$i}">
<div class="thumbnail clearfix view-img">
<div class="pg_label">
{foreach key=group_id item=group_image from=$product.my_groups}
{$group_image}
{/foreach}
</div>
{if $show_image==1}<div class="image">{$product.photo_small}</div>{/if}
<div class="caption clearfix">
<div class="caption_inner text-center">
{if $show_name==1}<p class="text-center name">{$product.name}</p>{/if}
{if $show_availability}
<div class="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_weight}<div class="weight text-center">{if $product.weight}{__ text="Waga"}: {$product.weight}{/if}</div>{/if}
{if $show_price==1}
<div class="main_price text-center">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount-old_price">
<div class="discount">{__ text="Rabat"}: <span class="nowrap">{$product.discount} %</span></div>
</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="discount-old_price">
<div class="price old_price nowrap">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
</div>
{/if}
{if $show_price==1 && $product.check_price!=1 && $product.points_only!=1}
{if $price_view=='net_gross'}
<div class="price major_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{/if}
</div>
{/if}
<div class="text-muted basic_price text-center">
{if $product.basic_price}
<i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i>
{/if}
</div>
<a class="mask-link" href="{$product.link}"></a>
{if $button_type == 'basket'}
{if $show_price==1 && $show_basket==1 && $product.check_price!=1}
<div class="hidden-xs text-center">
{basket_add_link product=$product.instance namespace="product_accessories"}
</div>
{/if}
{else}
<div class="hidden-xs text-center">
<a class="btn btn-shopping-cart" href="{$product.link}">{__ text="Sprawdź"}</a>
</div>
{/if}
</div>
</div>
</div>
</div>
{/foreach}
</div>
</div>
{literal}
<script type="text/javascript">
jQuery(function ($) {
var productId = '#product-accessories ';
$(document).ready(function() {
var images = $(productId + '.image img');
var cnt = images.length;
function loaded() {
cnt--;
if (cnt == 0) {
$(productId + '.full-list').masonry({
itemSelector: '.item'
});
heightMainProd(productId);
}
}
for (var i = 0; i < images.length; i++) {
var image = images[i];
if (image.complete || image.readyState === 4) {
loaded();
}
else {
var $image = $(image);
if (!$image.attr('src')) {
loaded();
} else {
$image.one("load", loaded);
}
}
}
$(window).resize(function() {
heightMainProd(productId);
});
});
});
</script>
{/literal}

View File

@@ -0,0 +1,107 @@
{assign var='col_xs' value=$theme_config->getConfigParameter('layout_config.products_in_row_mobile')}
{assign var='col_sm' value=$theme_config->getConfigParameter('layout_config.products_in_row_desktop')}
<section id="product-accessories" class="full-list product-list row">
{foreach key=row item=product from=$results}
<div class="product{if $col_xs == 2} col-xs-6{else} col-xs-12{/if} col-sm-4{if $col_sm == 4} col-md-3 col-lg-3{elseif $col_sm == 5} col-md-3 col-lg-20p{else} col-default{/if}">
<div class="thumbnail clearfix">
{if $show_image==1}<div class="image{if $theme_config->getConfigParameter('layout_config.product_img_space') == 'space'} space{/if}">{$product.photo_small}</div>{/if}
<div class="caption clearfix {if $theme_config->getConfigParameter('layout_config.product_info_align_desktop') == 'left'}text-left{else}text-center{/if}">
{if $show_name==1}<p class="name">{$product.name}</p>{/if}
{if $show_availability}
<div class="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_weight}<div class="weight text-muted">{if $product.weight}{__ text="Waga"}: {$product.weight}{/if}</div>{/if}
{if $show_description==1}<div class="description tinymce_html">{$product.description}</div>{/if}
<div class="box-price">
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="price old_price">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
</div>
<div class="product-shopping-cart">
{if $button_type == 'basket'}
{if $show_price==1 && $show_basket==1}
{basket_add_link product=$product.instance namespace="product_accesoriess_card"}
{/if}
{else}
<a class="btn btn-shopping-cart" href="{$product.link}">{__ text="Sprawdź"}</a>
{/if}
</div>
</div>
</div>
</div>
{/foreach}
</section>
{literal}
<script type="text/javascript">
jQuery(function ($) {
var containerList = $('#product-accessories');
var containerListImg = $('#product-accessories .image img');
$(document).ready(function() {
var images = containerListImg
var cnt = images.length;
function loaded() {
cnt--;
if (cnt == 0) {
containerList.masonry({
itemSelector: '.product'
});
}
}
for (var i = 0; i < images.length; i++) {
var image = images[i];
if (image.complete || image.readyState === 4) {
loaded();
}
else {
var $image = $(image);
if (!$image.attr('src')) {
loaded();
} else {
$image.one("load", loaded);
}
}
}
});
});
</script>
{/literal}

View File

@@ -0,0 +1,65 @@
<section id="product-accessories" class="full-list product-list" >
<div class="row" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product col-xs-4 col-sm-4 col-md-3 col-lg-3">
<div class="thumbnail clearfix view-img">
{if $show_image==1}<div data-equalizer-watch="image"><div class="image">{$product.photo_small}</div></div>{/if}
<div class="text-center caption clearfix">
<p class="name" data-equalizer-watch="name">{if $show_name==1}{$product.name}{/if}</p>
<div data-equalizer-watch="info">
{if $show_price==1 && $product.check_price!=1 && $product.points_only!=1}
{if $price_view=='net_gross'}
<div class="double_price price">
{$product.price_net}
<div class="minor_price">({$product.price})</div>
</div>
{elseif $price_view=='only_gross'}
<div class="price">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{$product.price_net}</div>
{elseif $price_view=='gross_net'}
<div class="double_price price">
{$product.price}
<div class="minor_price">({$product.price_net})</div>
</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price text-center"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
<div class="discount-old_price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1 && $product.points_only!=1}
<div class="discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1)}
{if $product.check_old_price==1}
<div class="old_price price">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
{/if}
</div>
</div>
{basket_add_link product=$product.instance namespace="product_list"}
<div class="text-center" data-equalizer-watch="basket">
<a class="product-details" href="{$product.link}">{__ text="szczegóły" langCatalogue="stProduct"}</a>
</div>
</div>
</div>
</div>
{/foreach}
</div>
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories [data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,93 @@
{assign var='col_xs' value=$theme_config->getConfigParameter('layout_config.products_in_row_mobile')}
{assign var='col_sm' value=$theme_config->getConfigParameter('layout_config.products_in_row_desktop')}
<section id="product-accessories" class="product-list full-list grid-wrapper grid-xs-{$col_xs} grid-sm-3{if $col_sm == 4} grid-md-4{elseif $col_sm == 5} grid-md-4 grid-lg-5{/if}" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product thumbnail clearfix">
{if $is_observe_enabled }
<div class="product-observe observe-no" data-product-observe="{$product.id}">
<svg width="23" height="21" viewBox="0 0 23 21" xmlns="http://www.w3.org/2000/svg">
<path d="M6.4592 1C3.44417 1 1 3.81598 1 7.28966C1 7.97227 1.09438 8.62947 1.26893 9.2449C1.71875 10.8309 2.96968 12.0161 4.1733 13.1426L11.5 20L18.8267 13.1426C20.0303 12.0161 21.2813 10.8309 21.7311 9.2449C21.9056 8.62947 22 7.97227 22 7.28966C22 3.81598 19.5558 1 16.5408 1C14.2698 1 12.3227 2.59762 11.5 4.87056C10.6773 2.59762 8.73018 1 6.4592 1Z" stroke-width="2" stroke-linejoin="round"/>
</svg>
</div>
{/if}
{if $show_image==1}
<div data-equalizer-watch="image" class="relative">
<div class="image">
{$product.photo_small}
</div>
{if $show_description==1 && $product.description != ''}
<div class="description tinymce_html" onclick="window.location.href='{$product.link}'">{$product.description}</div>
{/if}
</div>
{/if}
<div class="caption text-left flex" data-equalizer-watch="caption">
<div class="caption-left">
{if $show_name==1}<p class="name">{$product.name}</p>{/if}
{if $show_availability}
<div class="product-availability">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_weight}<div class="weight text-muted">{if $product.weight}{__ text="Waga"}: {$product.weight}{/if}</div>{/if}
{if $product.colors}<div class="options-color-on-list">{$product.colors}</div>{/if}
<div class="product-shopping-cart">
{if $button_type == 'basket'}
{if $show_price==1 && $show_basket==1}
{basket_add_link product=$product.instance namespace="product_acc"}
{/if}
{else}
<a class="btn btn-shopping-cart" href="{$product.link}">{__ text="Sprawdź"}</a>
{/if}
</div>
</div>
<div class="caption-right box-price">
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="price major_price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
<div class="price minor_price">({__ text="brutto"}: <span class="nowrap">{$product.price}</span>)</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price">{__ text="netto"}: <span class="nowrap">{$product.price_net}</span></div>
{elseif $price_view=='gross_net'}
<div class="price major_price">{__ text="brutto"}: <span class="nowrap">{$product.price}</span></div>
<div class="price minor_price">({__ text="netto"}: <span class="nowrap">{$product.price_net}</span>)</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount">{__ text="Rabat"}: {$product.discount} %</div>
{elseif ($show_old_price==1 && $product.check_price!=1 && $product.check_old_price==1)}
<div class="price old_price">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
</div>
</div>
</div>
{/foreach}
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories[data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}

View File

@@ -0,0 +1,79 @@
<section id="product-accessories" class="full-list product-list" >
<div class="row" data-equalizer>
{foreach key=row item=product from=$results}
<div class="product col-xs-4 col-sm-4 col-md-3 col-lg-3">
<div class="thumbnail clearfix view-img">
{if $is_observe_enabled }
<div class="product-observe {if $product.is_observe}observe-yes{else}observe-no{/if}" data-product-observe="{$product.id}">
<svg width="23" height="21" viewBox="0 0 23 21" xmlns="http://www.w3.org/2000/svg">
<path d="M6.4592 1C3.44417 1 1 3.81598 1 7.28966C1 7.97227 1.09438 8.62947 1.26893 9.2449C1.71875 10.8309 2.96968 12.0161 4.1733 13.1426L11.5 20L18.8267 13.1426C20.0303 12.0161 21.2813 10.8309 21.7311 9.2449C21.9056 8.62947 22 7.97227 22 7.28966C22 3.81598 19.5558 1 16.5408 1C14.2698 1 12.3227 2.59762 11.5 4.87056C10.6773 2.59762 8.73018 1 6.4592 1Z" stroke-width="2" stroke-linejoin="round"/>
</svg>
</div>
{/if}
{if $show_image==1}<div data-equalizer-watch="image"><div class="image">{$product.photo_small}</div></div>{/if}
<div class="text-center caption clearfix" data-equalizer-watch="info">
<p class="name">{if $show_name==1}{$product.name}{/if}</p>
{if $show_availability}
<div class="product-availability text-center">
{$product.availability}
{if $show_stock}
({$product.stock} {$product.uom})
{/if}
</div>
{elseif $show_stock}
<div class="product-availability text-center">
{__ text="Dostępność" langCatalogue="stAvailabilityFrontend"}: {$product.stock} {$product.uom}
</div>
{/if}
{if $show_price==1 && $product.check_price!=1}
{if $price_view=='net_gross'}
<div class="double_price price">
<span class="nowrap">{$product.price_net}</span>
<div class="minor_price nowrap">({$product.price})</div>
</div>
{elseif $price_view=='only_gross'}
<div class="price nowrap">{$product.price}</div>
{elseif $price_view=='only_net'}
<div class="price nowrap">{$product.price_net}</div>
{elseif $price_view=='gross_net'}
<div class="double_price price">
<span class="nowrap">{$product.price}</span>
<div class="minor_price nowrap">({$product.price_net})</div>
</div>
{/if}
{if $product.basic_price}
<div class="text-muted basic_price text-center"><i>{$product.basic_price.quantity} ( {$product.basic_price.brutto} {__ text="za"} {$product.basic_price.for_quantity} )</i></div>
{/if}
{/if}
<div class="discount-old_price">
{if $show_discount==1 && $product.discount!=0 && $product.check_price!=1}
<div class="discount">{__ text="Rabat"}: <span class="nowrap">{$product.discount} %</span></div>
{elseif ($show_old_price==1 && $product.check_price!=1)}
{if $product.check_old_price==1}
<div class="old_price price nowrap">
{if ($price_view=='net_gross' || $price_view=='only_net')}
{$product.old_price_net}
{else}
{$product.old_price}
{/if}
</div>
{/if}
{/if}
</div>
</div>
</div>
</div>
{/foreach}
</div>
</section>
{literal}
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
$('#product-accessories [data-equalizer]').equalizer({ use_tallest: true });
});
});
</script>
{/literal}