Add new templates and update existing ones for An Home Products module
- Created new index.php files for various directories to establish structure. - Added form.tpl and index.php for form helpers to enhance form handling. - Introduced suggestions.tpl and top.tpl for improved admin interface. - Implemented ajax-products.tpl and banners.tpl for front-end product display. - Developed content.tpl and widget-blocks.tpl for dynamic content rendering. - Enhanced widget-tabs.tpl and widget-wrapper.tpl for better tabbed navigation. - Included necessary licensing information in all new files.
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{extends file="helpers/form/form.tpl"}
|
||||
|
||||
{block name="input"}
|
||||
|
||||
{if $input.type == 'number'}
|
||||
<input type="number"
|
||||
id="{if isset($input.id)}{$input.id}{else}{$input.name}{/if}"
|
||||
name="{$input.name}"
|
||||
class="form-control {if isset($input.class)} {$input.class} {/if}"
|
||||
onkeyup="return (function (el, e) {
|
||||
if (e.keyCode == 8) return true;
|
||||
jQuery(el).val((parseInt(jQuery(el).val()) || 0));
|
||||
if (jQuery(el).val() < (parseInt(jQuery(el).attr('min')) || 0)) {
|
||||
jQuery(el).val((parseInt(jQuery(el).attr('min')) || 0));
|
||||
} else if (jQuery(el).val() > (parseInt(jQuery(el).attr('max')) || 0)) {
|
||||
jQuery(el).val((parseInt(jQuery(el).attr('max')) || 0));
|
||||
}
|
||||
})(this, event);"
|
||||
value="{$fields_value[$input.name]|escape:'html':'UTF-8'}"
|
||||
{if isset($input.size)} size="{$input.size}"{/if}
|
||||
{if isset($input.maxchar) && $input.maxchar} data-maxchar="{$input.maxchar|intval}"{/if}
|
||||
{if isset($input.maxlength) && $input.maxlength} maxlength="{$input.maxlength|intval}"{/if}
|
||||
{if isset($input.readonly) && $input.readonly} readonly="readonly"{/if}
|
||||
{if isset($input.disabled) && $input.disabled} disabled="disabled"{/if}
|
||||
{if isset($input.autocomplete) && !$input.autocomplete} autocomplete="off"{/if}
|
||||
{if isset($input.required) && $input.required} required="required" {/if}
|
||||
{if isset($input.max)} max="{$input.max|intval}"{/if}
|
||||
{if isset($input.min)} min="{$input.min|intval}"{/if}
|
||||
{if isset($input.placeholder) && $input.placeholder} placeholder="{$input.placeholder}"{/if} />
|
||||
{if isset($input.suffix)}
|
||||
<span class="input-group-addon">
|
||||
{$input.suffix}
|
||||
</span>
|
||||
{/if}
|
||||
{elseif $input.type == 'file_lang'}
|
||||
|
||||
{foreach from=$languages item=language}
|
||||
{if $languages|count > 1}
|
||||
<div class="translatable-field lang-{$language.id_lang}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
|
||||
{/if}
|
||||
<div class="form-group-image">
|
||||
{if isset($fields_value[$input.name][$language.id_lang]) && $fields_value[$input.name][$language.id_lang] != ''}
|
||||
<div class="form-group">
|
||||
<div id="{$input.name}-{$language.id_lang}-images-thumbnails" class="col-lg-12">
|
||||
<img src="../modules/an_homeproducts/img/{$fields_value[$input.name][$language.id_lang]}"
|
||||
class="img-thumbnail"
|
||||
style="max-height: 150px; max-width: 150px;"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div id="{$input.name}-{$language.id_lang}-images-delete" class="col-lg-12">
|
||||
<span id="{$input.name}_{$language.id_lang}-deletebutton" type="button" name="submitDeleteAttachments"
|
||||
class="btn btn-default an-image-deletebutton an-image-deletebutton-{$language.id_lang}">
|
||||
<i class="icon-trash"></i> {l s='Delete' mod='an_homeproducts'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-9">
|
||||
<input id="{$input.name}_{$language.id_lang}" type="file" name="{$input.name}_{$language.id_lang}" class="hide" />
|
||||
<div class="dummyfile input-group">
|
||||
<span class="input-group-addon"><i class="icon-file"></i></span>
|
||||
<input id="{$input.name}_{$language.id_lang}-name" type="text" class="disabled" name="filename" readonly />
|
||||
<span class="input-group-btn">
|
||||
<button id="{$input.name}_{$language.id_lang}-selectbutton" type="button" name="submitAddAttachments" class="btn btn-default">
|
||||
<i class="icon-folder-open"></i> {l s='Choose a file' mod='an_homeproducts'}
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
<div class="col-lg-2">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
|
||||
{$language.iso_code}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=lang}
|
||||
<li><a href="javascript:hideOtherLanguage({$lang.id_lang});" tabindex="-1">{$lang.name}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
</div>
|
||||
{/if}
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
$('.an-image-deletebutton-{$language.id_lang}').click(function(e){
|
||||
if (confirm('Are you sure?') ) {
|
||||
var formGroupImage = $(this).closest('.form-group-image');
|
||||
|
||||
$(formGroupImage).append('<input type="hidden" name="delete_{$input.name}[{$language.id_lang}]" value="{$language.id_lang}" /> ');
|
||||
|
||||
$(formGroupImage).find('.form-group').fadeOut(function () {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#{$input.name}_{$language.id_lang}-selectbutton').click(function(e){
|
||||
$('#{$input.name}_{$language.id_lang}').trigger('click');
|
||||
});
|
||||
$('#{$input.name}_{$language.id_lang}').change(function(e){
|
||||
var val = $(this).val();
|
||||
var file = val.split(/[\\/]/);
|
||||
$('#{$input.name}_{$language.id_lang}-name').val(file[file.length-1]);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/foreach}
|
||||
{if isset($input.desc) && !empty($input.desc)}
|
||||
<p class="help-block">
|
||||
{$input.desc}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{elseif $input.type == 'html'}
|
||||
{if isset($input.html_content)}
|
||||
{if $input.html_content == 'hr'}
|
||||
<hr />
|
||||
{else}
|
||||
{$input.html_content}
|
||||
{/if}
|
||||
{else}
|
||||
{$input.name|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{else}
|
||||
{$smarty.block.parent}
|
||||
{/if}
|
||||
{/block}
|
||||
@@ -0,0 +1,25 @@
|
||||
{*
|
||||
* 2024 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2024 Anvanto
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
{extends file="helpers/list/list_content.tpl"}
|
||||
|
||||
{block name="td_content"}
|
||||
{if isset($params.type) && $params.type == 'image'}
|
||||
{if isset($tr.image) && $tr.image !='' }
|
||||
<img src="{$tr.image|escape:'htmlall':'UTF-8'}" alt="" class="anmodule-img-list" style="max-width: 50px; max-height: 50px;" />
|
||||
{else}
|
||||
{l s='No image' mod='an_homeproducts'}
|
||||
{/if}
|
||||
{else}
|
||||
{$smarty.block.parent}
|
||||
{/if}
|
||||
{/block}
|
||||
@@ -0,0 +1,13 @@
|
||||
{*
|
||||
* 2024 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2024 Anvanto
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
{include file='../../../helpers-form.tpl'}
|
||||
@@ -0,0 +1,87 @@
|
||||
{*
|
||||
* 2024 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2024 Anvanto
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
*}
|
||||
|
||||
{extends file="helpers/form/form.tpl"}
|
||||
|
||||
{block name="input"}
|
||||
|
||||
{if $input.type == 'anSearchProductsList'}
|
||||
<div class="col-lg-12 anSearchProducts-wrap">
|
||||
<div id="{if isset($input.id)}{$input.id|escape:'html':'UTF-8'}{else}{$input.name|escape:'html':'UTF-8'}{/if}"
|
||||
class="an_field_search_products{if isset($input.class)} {$input.class|escape:'html':'UTF-8'}{/if} {* fixed-width-xl *}"
|
||||
data-searchProdutsController="{if isset($input.searchProdutsController)}{$input.searchProdutsController|escape:'htmlall':'UTF-8'}{/if}"
|
||||
data-classProductLine="js-an_field_search-line an_field_search_products-line{if isset($input.classProductLine)} {$input.classProductLine|escape:'html':'UTF-8'}{/if}"
|
||||
data-classProductRemove="js-an_field_search_products-remove {if isset($input.classProductRemove)}{$input.classProductRemove|escape:'html':'UTF-8'}{/if}"
|
||||
data-inputName="{$input.name|escape:'html':'UTF-8'}"
|
||||
data-classSarchInput="{if isset($input.classSarchInput)}{$input.classSarchInput|escape:'html':'UTF-8'}{/if}"
|
||||
>
|
||||
{foreach from=$fields_value[$input.name] item=item name=fo}
|
||||
<div class="js-an_field_search-line an_field_search_products-line {if isset($input.classProductLine)}{$input.classProductLine|escape:'html':'UTF-8'}{/if}">
|
||||
<input type="hidden" name="{$input.name|escape:'html':'UTF-8'}" value="{$item.id_product|intval}" />{* <img src="'+img+'" />*}
|
||||
<div class="js-an_field_search-line-number an-hp-hide">{$item.position|intval}</div>
|
||||
<div class="label">
|
||||
<i class="js-anSearchProductsList-more_vert material-icons more_vert">more_vert</i>
|
||||
<span>{$item.name} (ref: {$item.reference})</span>
|
||||
<i class="material-icons delete js-an_field_search_products-remove {if isset($input.classProductRemove)}{$input.classProductRemove|escape:'html':'UTF-8'}{/if}">delete</i>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
{elseif isset($input.anSearchProductsInput) && $input.type == 'text'}
|
||||
<div class="anSearchProducts-input-wrap">
|
||||
{$smarty.block.parent}
|
||||
</div>
|
||||
{elseif $input.type == 'number'}
|
||||
<input type="number"
|
||||
id="{if isset($input.id)}{$input.id|escape:'htmlall':'UTF-8'}{else}{$input.name|escape:'htmlall':'UTF-8'}{/if}"
|
||||
name="{$input.name|escape:'htmlall':'UTF-8'}"
|
||||
class="form-control {if isset($input.class)} {$input.class|escape:'htmlall':'UTF-8'} {/if}"
|
||||
onkeyup="return (function (el, e) {
|
||||
if (e.keyCode == 8) return true;
|
||||
jQuery(el).val((parseInt(jQuery(el).val()) || 0));
|
||||
if (jQuery(el).val() < (parseInt(jQuery(el).attr('min')) || 0)) {
|
||||
jQuery(el).val((parseInt(jQuery(el).attr('min')) || 0));
|
||||
} else if (jQuery(el).val() > (parseInt(jQuery(el).attr('max')) || 0)) {
|
||||
jQuery(el).val((parseInt(jQuery(el).attr('max')) || 0));
|
||||
}
|
||||
})(this, event);"
|
||||
value="{$fields_value[$input.name]|escape:'html':'UTF-8'}"
|
||||
{if isset($input.size)} size="{$input.size|escape:'htmlall':'UTF-8'}"{/if}
|
||||
{if isset($input.maxchar) && $input.maxchar} data-maxchar="{$input.maxchar|intval}"{/if}
|
||||
{if isset($input.maxlength) && $input.maxlength} maxlength="{$input.maxlength|intval}"{/if}
|
||||
{if isset($input.readonly) && $input.readonly} readonly="readonly"{/if}
|
||||
{if isset($input.disabled) && $input.disabled} disabled="disabled"{/if}
|
||||
{if isset($input.autocomplete) && !$input.autocomplete} autocomplete="off"{/if}
|
||||
{if isset($input.required) && $input.required} required="required" {/if}
|
||||
{if isset($input.max)} max="{$input.max|intval}"{/if}
|
||||
{if isset($input.min)} min="{$input.min|intval}"{/if}
|
||||
{if isset($input.placeholder) && $input.placeholder} placeholder="{$input.placeholder|escape:'htmlall':'UTF-8'}"{/if} />
|
||||
{if isset($input.suffix)}
|
||||
<span class="input-group-addon">
|
||||
{$input.suffix|escape:'htmlall':'UTF-8'}
|
||||
</span>
|
||||
{/if}
|
||||
{elseif $input.type == 'html'}
|
||||
{if isset($input.html_content)}
|
||||
{if $input.html_content == 'hr'}
|
||||
<hr />
|
||||
{else}
|
||||
{$input.html_content|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{else}
|
||||
{$input.name|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{else}
|
||||
{$smarty.block.parent}
|
||||
{/if}
|
||||
{/block}
|
||||
205
modules/an_homeproducts/views/templates/admin/suggestions.tpl
Normal file
205
modules/an_homeproducts/views/templates/admin/suggestions.tpl
Normal file
@@ -0,0 +1,205 @@
|
||||
{*
|
||||
* 2021 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2021 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{$contact_us = '#'}
|
||||
{$rate_url = '#'}
|
||||
{$anvanto_url = 'https://bit.ly/2TH0AJ6'}
|
||||
|
||||
{if isset($theme.url_contact_us)}
|
||||
{$contact_us = $theme.url_contact_us}
|
||||
{/if}
|
||||
|
||||
{if isset($theme.url_rate)}
|
||||
{$rate_url = $theme.url_rate}
|
||||
{/if}
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Ubuntu:400,700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
.an_panel {
|
||||
border-radius: 5px;
|
||||
margin: 0 4px 39px;
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
}
|
||||
.an_panel-link {
|
||||
text-decoration: underline!important;
|
||||
}
|
||||
|
||||
.an_panel_info {
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
display: flex;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.an_panel_info-item {
|
||||
background: #fff;
|
||||
box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 2px;
|
||||
padding: 12px 16px 12px 16px;
|
||||
max-width: 330px;
|
||||
width: 100%;
|
||||
margin-right: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.an_panel_info-item:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.an_panel_info-item-contact {
|
||||
border-left: 3px solid #21a6cb;
|
||||
}
|
||||
.an_panel_info-item-rate {
|
||||
border-left: 3px solid #fed500;
|
||||
}
|
||||
.an_panel_info-item-docs {
|
||||
border-left: 3px solid #e56b93;
|
||||
}
|
||||
.an_panel_info-item-ad {
|
||||
border-left: 3px solid #0ca300;
|
||||
}
|
||||
.an_panel_info-item h2 {
|
||||
font-size: 16px;
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
font-weight: bold;
|
||||
margin: 0 0 4px;
|
||||
}
|
||||
.an_panel_info-item p {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
margin: 0;
|
||||
}
|
||||
.an_panel_info .grade {
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
justify-content: flex-end;
|
||||
margin-top: 13px;
|
||||
}
|
||||
.an_panel_info-stars {
|
||||
transition: all .2s;
|
||||
padding-right: 3px;
|
||||
}
|
||||
.an_panel_info-stars path {
|
||||
fill: #e0e0e0;
|
||||
}
|
||||
.an_panel_info-stars:nth-of-type(1):hover path,
|
||||
.an_panel_info-stars:nth-of-type(2):hover path,
|
||||
.an_panel_info-stars:nth-of-type(3):hover path,
|
||||
.an_panel_info-stars:nth-of-type(4):hover path,
|
||||
.an_panel_info-stars:nth-of-type(5):hover path,
|
||||
.an_panel_info-stars:nth-of-type(1):hover ~ .an_panel_info-stars:nth-of-type(n+1) path,
|
||||
.an_panel_info-stars:nth-of-type(2):hover ~ .an_panel_info-stars:nth-of-type(n+2) path,
|
||||
.an_panel_info-stars:nth-of-type(3):hover ~ .an_panel_info-stars:nth-of-type(n+3) path,
|
||||
.an_panel_info-stars:nth-of-type(4):hover ~ .an_panel_info-stars:nth-of-type(n+4) path,
|
||||
.an_panel_info-stars:nth-of-type(5):hover ~ .an_panel_info-stars:nth-of-type(n+5) path {
|
||||
fill: #fed500;
|
||||
}
|
||||
@media (max-width: 1366px) {
|
||||
.an_panel_info-item {
|
||||
max-width: 50%;
|
||||
}
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.an_panel_info-item {
|
||||
max-width: 100%;
|
||||
margin-right: 0;
|
||||
}
|
||||
.an_panel_info {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.an_panel_info-item {
|
||||
margin-right: 0;
|
||||
}
|
||||
.an_panel_modules-item {
|
||||
flex-direction: column;
|
||||
padding: 20px 0;
|
||||
position: relative;
|
||||
}
|
||||
.an_panel_modules-item-title {
|
||||
position: static;
|
||||
}
|
||||
.an_panel_modules-disabled-flag {
|
||||
top: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="an_panel_info">
|
||||
<div class="an_panel_info-item an_panel_info-item-contact">
|
||||
<h2>{l s='Contact Us' mod='an_homeproducts'}</h2>
|
||||
<p><a class="an_panel-link" href="{$contact_us|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Contact Us' mod='an_homeproducts'}</a> {l s='on any question or problem with the module' mod='an_homeproducts'}</p>
|
||||
</div>
|
||||
{if $rate_url <> ''}
|
||||
<div class="an_panel_info-item an_panel_info-item-rate">
|
||||
<h2>{l s='Rate' mod='an_homeproducts'}{if isset($theme.name) AND $theme.name != ''} "{$theme.name|escape:'htmlall':'UTF-8'}"{/if}</h2>
|
||||
<div class="grade">
|
||||
<a href="{$rate_url|escape:'htmlall':'UTF-8'}" target="_blank" id="star5" class="an_panel_info-stars">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="21px" height="20px">
|
||||
<path fill-rule="evenodd" fill="rgb(254, 213, 0)"
|
||||
d="M20.495,9.068 C20.889,8.667 21.028,8.079 20.858,7.532 C20.688,6.985 20.245,6.595 19.701,6.512 L14.860,5.778 C14.654,5.746 14.476,5.611 14.384,5.416 L12.220,0.833 C11.977,0.318 11.484,-0.002 10.934,-0.002 C10.386,-0.002 9.892,0.318 9.649,0.833 L7.485,5.416 C7.393,5.612 7.214,5.746 7.008,5.778 L2.168,6.513 C1.624,6.595 1.181,6.986 1.011,7.532 C0.841,8.079 0.980,8.667 1.373,9.068 L4.875,12.635 C5.025,12.787 5.093,13.006 5.058,13.220 L4.232,18.257 C4.158,18.700 4.270,19.131 4.544,19.472 C4.971,20.002 5.716,20.163 6.312,19.836 L10.640,17.458 C10.821,17.359 11.049,17.359 11.229,17.458 L15.558,19.836 C15.769,19.952 15.993,20.010 16.225,20.010 C16.648,20.010 17.049,19.814 17.325,19.472 C17.600,19.131 17.711,18.699 17.638,18.257 L16.811,13.220 C16.776,13.006 16.844,12.787 16.993,12.635 L20.495,9.068 Z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{$contact_us|escape:'htmlall':'UTF-8'}" target="_blank" id="star4" class="an_panel_info-stars">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="21px" height="20px">
|
||||
<path fill-rule="evenodd" fill="rgb(254, 213, 0)"
|
||||
d="M20.495,9.068 C20.889,8.667 21.028,8.079 20.858,7.532 C20.688,6.985 20.245,6.595 19.701,6.512 L14.860,5.778 C14.654,5.746 14.476,5.611 14.384,5.416 L12.220,0.833 C11.977,0.318 11.484,-0.002 10.934,-0.002 C10.386,-0.002 9.892,0.318 9.649,0.833 L7.485,5.416 C7.393,5.612 7.214,5.746 7.008,5.778 L2.168,6.513 C1.624,6.595 1.181,6.986 1.011,7.532 C0.841,8.079 0.980,8.667 1.373,9.068 L4.875,12.635 C5.025,12.787 5.093,13.006 5.058,13.220 L4.232,18.257 C4.158,18.700 4.270,19.131 4.544,19.472 C4.971,20.002 5.716,20.163 6.312,19.836 L10.640,17.458 C10.821,17.359 11.049,17.359 11.229,17.458 L15.558,19.836 C15.769,19.952 15.993,20.010 16.225,20.010 C16.648,20.010 17.049,19.814 17.325,19.472 C17.600,19.131 17.711,18.699 17.638,18.257 L16.811,13.220 C16.776,13.006 16.844,12.787 16.993,12.635 L20.495,9.068 Z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{$contact_us|escape:'htmlall':'UTF-8'}" target="_blank" class="an_panel_info-stars">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="21px" height="20px">
|
||||
<path fill-rule="evenodd" fill="rgb(254, 213, 0)"
|
||||
d="M20.495,9.068 C20.889,8.667 21.028,8.079 20.858,7.532 C20.688,6.985 20.245,6.595 19.701,6.512 L14.860,5.778 C14.654,5.746 14.476,5.611 14.384,5.416 L12.220,0.833 C11.977,0.318 11.484,-0.002 10.934,-0.002 C10.386,-0.002 9.892,0.318 9.649,0.833 L7.485,5.416 C7.393,5.612 7.214,5.746 7.008,5.778 L2.168,6.513 C1.624,6.595 1.181,6.986 1.011,7.532 C0.841,8.079 0.980,8.667 1.373,9.068 L4.875,12.635 C5.025,12.787 5.093,13.006 5.058,13.220 L4.232,18.257 C4.158,18.700 4.270,19.131 4.544,19.472 C4.971,20.002 5.716,20.163 6.312,19.836 L10.640,17.458 C10.821,17.359 11.049,17.359 11.229,17.458 L15.558,19.836 C15.769,19.952 15.993,20.010 16.225,20.010 C16.648,20.010 17.049,19.814 17.325,19.472 C17.600,19.131 17.711,18.699 17.638,18.257 L16.811,13.220 C16.776,13.006 16.844,12.787 16.993,12.635 L20.495,9.068 Z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{$contact_us|escape:'htmlall':'UTF-8'}" target="_blank" class="an_panel_info-stars">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="21px" height="20px">
|
||||
<path fill-rule="evenodd" fill="rgb(254, 213, 0)"
|
||||
d="M20.495,9.068 C20.889,8.667 21.028,8.079 20.858,7.532 C20.688,6.985 20.245,6.595 19.701,6.512 L14.860,5.778 C14.654,5.746 14.476,5.611 14.384,5.416 L12.220,0.833 C11.977,0.318 11.484,-0.002 10.934,-0.002 C10.386,-0.002 9.892,0.318 9.649,0.833 L7.485,5.416 C7.393,5.612 7.214,5.746 7.008,5.778 L2.168,6.513 C1.624,6.595 1.181,6.986 1.011,7.532 C0.841,8.079 0.980,8.667 1.373,9.068 L4.875,12.635 C5.025,12.787 5.093,13.006 5.058,13.220 L4.232,18.257 C4.158,18.700 4.270,19.131 4.544,19.472 C4.971,20.002 5.716,20.163 6.312,19.836 L10.640,17.458 C10.821,17.359 11.049,17.359 11.229,17.458 L15.558,19.836 C15.769,19.952 15.993,20.010 16.225,20.010 C16.648,20.010 17.049,19.814 17.325,19.472 C17.600,19.131 17.711,18.699 17.638,18.257 L16.811,13.220 C16.776,13.006 16.844,12.787 16.993,12.635 L20.495,9.068 Z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{$contact_us|escape:'htmlall':'UTF-8'}" target="_blank" class="an_panel_info-stars">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="21px" height="20px">
|
||||
<path fill-rule="evenodd" fill="rgb(254, 213, 0)"
|
||||
d="M20.495,9.068 C20.889,8.667 21.028,8.079 20.858,7.532 C20.688,6.985 20.245,6.595 19.701,6.512 L14.860,5.778 C14.654,5.746 14.476,5.611 14.384,5.416 L12.220,0.833 C11.977,0.318 11.484,-0.002 10.934,-0.002 C10.386,-0.002 9.892,0.318 9.649,0.833 L7.485,5.416 C7.393,5.612 7.214,5.746 7.008,5.778 L2.168,6.513 C1.624,6.595 1.181,6.986 1.011,7.532 C0.841,8.079 0.980,8.667 1.373,9.068 L4.875,12.635 C5.025,12.787 5.093,13.006 5.058,13.220 L4.232,18.257 C4.158,18.700 4.270,19.131 4.544,19.472 C4.971,20.002 5.716,20.163 6.312,19.836 L10.640,17.458 C10.821,17.359 11.049,17.359 11.229,17.458 L15.558,19.836 C15.769,19.952 15.993,20.010 16.225,20.010 C16.648,20.010 17.049,19.814 17.325,19.472 C17.600,19.131 17.711,18.699 17.638,18.257 L16.811,13.220 C16.776,13.006 16.844,12.787 16.993,12.635 L20.495,9.068 Z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="an_panel_info-item an_panel_info-item-docs">
|
||||
<h2><a class="an_panel-link" href="{$anvanto_url|escape:'htmlall':'UTF-8'}" target="_blank">{l s="What's next?" mod='an_homeproducts'}</a></h2>
|
||||
<p>{l s='Find out how to improve your shop with' mod='an_homeproducts'} <a href="{$anvanto_url|escape:'htmlall':'UTF-8'}" class="suggestions-link" target="_blank">{l s='other modules and themes' mod='an_homeproducts'}</a> {l s='made by Anvanto.' mod='an_homeproducts'}</p>
|
||||
</div>
|
||||
|
||||
{*
|
||||
<div class="an_panel_info-item an_panel_info-item-ad">
|
||||
<h2><a class="an_panel-link" href="{$theme.url_doc|escape:'htmlall':'UTF-8'}" target="_blank">New 4th block</a></h2>
|
||||
<p>New next for this block</p>
|
||||
</div>
|
||||
*}
|
||||
</div>
|
||||
16
modules/an_homeproducts/views/templates/admin/top.tpl
Normal file
16
modules/an_homeproducts/views/templates/admin/top.tpl
Normal file
@@ -0,0 +1,16 @@
|
||||
{*
|
||||
* 2021 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2021 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{include file='./suggestions.tpl'}
|
||||
@@ -0,0 +1,18 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{foreach from=$products item="product" key="position"}
|
||||
{include file="catalog/_partials/miniatures/product.tpl" product=$product position=$position productClasses="col-xs-6 col-lg-4 col-xl-3"}
|
||||
{/foreach}
|
||||
23
modules/an_homeproducts/views/templates/front/banners.tpl
Normal file
23
modules/an_homeproducts/views/templates/front/banners.tpl
Normal file
@@ -0,0 +1,23 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{if count($banners) > 0}
|
||||
<div class="row{if isset($class)} {$class|escape:'htmlall':'UTF-8'}{/if}">
|
||||
{foreach from=$banners item=banner}
|
||||
{include file=$banner.tplFilePath}
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
<div class="an_homeproducts-banner {$banner.show_on_class|escape:'htmlall':'UTF-8'} {if $banner.imgUrlFile != ''}an_homeproducts-banner-overlay{else}an_homeproducts-banner-noimg{/if} col-sm-{$banner.col|intval}">
|
||||
{if $banner.imgUrlFile !=''}
|
||||
<img src="{$banner.imgUrlFile}"/>
|
||||
{/if}
|
||||
<div class="an_homeproducts-banner-content">
|
||||
<p class="an_homeproducts-banner-title h1 {if $banner.text != ''}an_homeproducts-banner-title-margin{/if}">{$banner.title|escape:'htmlall':'UTF-8'}</p>
|
||||
{$banner.text nofilter}
|
||||
</div>
|
||||
{if $banner.link !=''}
|
||||
<a href="{$banner.link|escape:'htmlall':'UTF-8'}" class="an_homeproducts-banner-link"></a>
|
||||
{/if}
|
||||
</div>
|
||||
66
modules/an_homeproducts/views/templates/front/content.tpl
Normal file
66
modules/an_homeproducts/views/templates/front/content.tpl
Normal file
@@ -0,0 +1,66 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
<div class="an_homeproducts-content js-an_homeproducts-content active" {if $widget.config.slider}data-items="4" data-nav="{$widget.config.slider_nav}" data-dots="{$widget.config.slider_dots}" data-loop="{$widget.config.slider_loop}"{/if} data-block-id="{$block.id_block|escape:'htmlall':'UTF-8'}">
|
||||
{if $block.text != ''}
|
||||
<div>{$block.text nofilter}</div>
|
||||
{/if}
|
||||
|
||||
{if isset($widget.banners[$block.special_id_block]['0'])}
|
||||
{include file='./banners.tpl' banners=$widget.banners[$block.special_id_block]['0']}
|
||||
{/if}
|
||||
|
||||
{if ($block.show_sort && count($block.sort)) || ($widget.config.view_type == 'tabs' && $block.link !='')}
|
||||
<div class="an_homeproducts-tab-top">
|
||||
{if $block.show_sort && count($block.sort)}
|
||||
<div class="an_homeproducts-sort">
|
||||
<span>{l s='Sort by:' mod='an_homeproducts'}</span>
|
||||
<select class="js-an_homeproducts-sort">
|
||||
{foreach from=$block.sort item=sort}
|
||||
<option value="{$sort.urlParameter|escape:'htmlall':'UTF-8'}">{$sort.label|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $widget.config.view_type == 'tabs' && $block.link !=''}
|
||||
<a href="{$block.link|escape:'htmlall':'UTF-8'}" class="an_homeproducts-link-all">{l s='All products' mod='an_homeproducts'}</a>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $block.show_sub_cat && isset($block.childrenCats) }
|
||||
<div class="an_homeproducts-conteiner-category js-an_homeproducts-conteiner-category">
|
||||
{foreach from=$block.childrenCats item=subCat name=subcatlist}
|
||||
<a class="an_homeproducts-category js-an_homeproducts-category {if $smarty.foreach.subcatlist.index == 0}active{/if}" data-cat="{$subCat.id_category|intval}">{$subCat.name|escape:'htmlall':'UTF-8'}</a>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<section class="featured-products an_homeproducts-products clearfix mt-3 js-an_homeproducts-products">
|
||||
{include file="catalog/_partials/productlist.tpl" products=$block.products cssClass="row" productClass="col-xs-6 col-lg-4 col-xl-3"}
|
||||
</section>
|
||||
|
||||
{if !$widget.config.slider && $widget.config.show_load_more && $block.productsNextPage > 0 }
|
||||
<button class="btn btn-primary an_homeproducts-loadmore js-an_homeproducts-loadmore" data-page="2">{l s='Load more' mod='an_homeproducts'}</button>
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{if isset($widget.banners[$block.special_id_block]['1'])}
|
||||
{include file='./banners.tpl' banners=$widget.banners[$block.special_id_block]['1']}
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,28 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
{extends file="./widget-wrapper.tpl"}
|
||||
|
||||
{block name='an_homeproducts_content'}
|
||||
<div class="an_homeproducts-container js-an_homeproducts-container">
|
||||
{foreach from=$widget.blocks item=block}
|
||||
<div class=" js-an_homeproducts-block an_homeproducts-block" style="margin-bottom: 50px;">
|
||||
<div class="h2 products-section-title">
|
||||
{if $block.link !=''}<a href="{$block.link|escape:'htmlall':'UTF-8'}">{/if}{$block.title|escape:'htmlall':'UTF-8'}{if $block.link !=''}</a>{/if}
|
||||
</div>
|
||||
{include file='./content.tpl' widget=$widget block=$block}
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/block}
|
||||
@@ -0,0 +1,37 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
{extends file="./widget-wrapper.tpl"}
|
||||
|
||||
{block name='an_homeproducts_content'}
|
||||
<div class="an_homeproducts-tabs js-an_homeproducts-tabs">
|
||||
<div class="row">
|
||||
<div class="an_homeproducts-tabs-list col-sm-12">
|
||||
{foreach from=$widget.blocks item=block name=tablist}
|
||||
<a class="btn btn-info an_homeproducts-tab js-an_homeproducts-tab {if $smarty.foreach.tablist.index == 0}tab-loaded active{/if}" data-block-id="{$block.id_block|escape:'htmlall':'UTF-8'}">
|
||||
{$block.title|escape:'htmlall':'UTF-8'}
|
||||
</a>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{foreach from=$widget.blocks item=block}
|
||||
<div class="an_homeproducts-container js-an_homeproducts-container">
|
||||
{include file='./content.tpl' widget=$widget block=$block}
|
||||
</div>
|
||||
{break}
|
||||
{/foreach}
|
||||
{/block}
|
||||
@@ -0,0 +1,36 @@
|
||||
{*
|
||||
* 2022 Anvanto
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
|
||||
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
|
||||
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
|
||||
*
|
||||
* @author Anvanto <anvantoco@gmail.com>
|
||||
* @copyright 2022 Anvanto
|
||||
* @license Valid for 1 website (or project) for each purchase of license
|
||||
* International Registered Trademark & Property of Anvanto
|
||||
*}
|
||||
|
||||
<div class="an_homeproducts js-an_homeproducts {if $widget.config.view_type == 'tabs'}an_homeproducts-type-tabs{/if} {if $widget.config.slider}an_homeproducts-slider{/if}" data-url="{$widget.urlProducts|escape:'javascript':'UTF-8' nofilter}">
|
||||
|
||||
{if isset($widget.banners['0']['0'])}
|
||||
{include file='./banners.tpl' banners=$widget.banners['0']['0'] class="anhp-banner-global-top"}
|
||||
{/if}
|
||||
|
||||
{if $widget.config.title != ''}
|
||||
<div class="an_homeproducts-title h1">{$widget.config.title nofilter}</div>
|
||||
{/if}
|
||||
{if $widget.config.text != ''}
|
||||
<div>{$widget.config.text nofilter}</div>
|
||||
{/if}
|
||||
|
||||
|
||||
{block name='an_homeproducts_content'}{/block}
|
||||
|
||||
{if isset($widget.banners['0']['1'])}
|
||||
{include file='./banners.tpl' banners=$widget.banners['0']['1'] class="anhp-banner-global-bottom"}
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
0
modules/an_homeproducts/views/templates/index.php
Normal file
0
modules/an_homeproducts/views/templates/index.php
Normal file
Reference in New Issue
Block a user