This commit is contained in:
2025-04-01 00:38:54 +02:00
parent d4d4c0c09d
commit 87da06293a
22351 changed files with 5168854 additions and 7538 deletions

View File

@@ -0,0 +1,120 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<style>
#affiliate_2 {
display: block!important;
}
</style>
{if _PS_VERSION_ >= 1.6}
<style>
.blmod_module .bootstrap input[type="checkbox"] {
margin-top: 2px!important;
}
</style>
{/if}
{if _PS_VERSION_ >= 1.5}
<style>
.blmod_module .conf img, .blmod_module .warn img, .blmod_module .error img, .alert img{
display: none;
}
.blmod_module .warn, .blmod_module .error, .blmod_module .conf {
padding-left: 40px;
padding-right: 0;
}
</style>
{/if}
{if _PS_VERSION_ < 1.5}
<style>
.blmod_module .row{
background: #FFF;
}
.module_logo{
margin-top: 0!important;
margin-bottom: 15px;
}
.blmod_module #content{
border: 0!important;
}
.blmod_module .order_table_order{
width: 900px!important;
}
.blmod_module .order_table_date{
font-size: 11px;
}
.order_table_order tr:hover, .order_table_logs tr:hover{
background-color: #d9edf7!important;
}
.info_block_order_status .list_checkbox{
margin-top: 4px;
}
.list_name img{
margin-right: 4px;
}
.icon_menu_box{
margin-right: 15px!important;
}
.blmod_module .pagination{
margin-bottom: 10px;
}
</style>
{/if}
{if _PS_VERSION_ >= '1.5' && _PS_VERSION_ < '1.6'}
<style>
.xml_feed_module .conf img, .xml_feed_module .warn img, .xml_feed_module .error img {
display: none;
}
</style>
{/if}
{if _PS_VERSION_ >= '1.7.8'}
<style>
.blmod_module .alert.alert-success::before, .blmod_module .alert.alert-warning::before {
top: 7px;
}
</style>
{/if}
<div class="xml_feed_module">
<div class="blmod_module">
<div class="blmod-modal-bg"></div>
<div class="blmod-modal">
<div class="blmod-body">
<div class="blmod-dual-ring blmod_mt15"></div>
<div class="blmod_mt15">
New XML feed is creating...
</div>
</div>
</div>
<div class="module_logo">
<img src="{$moduleImgPath|escape:'htmlall':'UTF-8'}logo.png" />
</div>
<div class="module_title">
<h2>{$displayName|escape:'htmlall':'UTF-8'}</h2>
<div class="module_version">{l s='Version:' mod='xmlfeeds'} {$version|escape:'htmlall':'UTF-8'}</div>
</div>
<div class="clear_block"></div>
<div class="bootstrap">
<div id="content" class="bootstrap content_blmod">
{include file="{$tpl_dir}/views/templates/admin/helper/notification.tpl" notifications=$notifications moduleImgPath=$moduleImgPath}
<div class="bootstrap">
<div style="float: left; width: 260px; margin-right: 20px;">
{include file="{$tpl_dir}/views/templates/admin/menu.tpl" version=$version moduleImgPath=$moduleImgPath full_address_no_t=$full_address_no_t token=$token currentPage=$currentPage}
</div>
<div class="feed_settings_box">
{$contentHtml}
</div>
<div class="cb"></div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,23 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0" style="margin-top: -8px;">
<tr>
<td class="settings-column-name">{l s='Only enable' mod='xmlfeeds'}</td>
<td>
<label for="only_enabled">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_enabled' name='only_enabled' status=$s.only_enabled}
</label>
</td>
</tr>
</table>

View File

@@ -0,0 +1,218 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td class="settings-column-name">{l s='Add CDATA' mod='xmlfeeds'}</td>
<td>
<label for="cdata_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='cdata_status' name='cdata_status' status=$s.cdata_status}
</label>
<div class="clear_block"></div>
<div class="bl_comments">[{l s='It escapes characters that are not allowed to be passed to XML.' mod='xmlfeeds'}<br>{l s='This will solve the problem: "This page contains the following errors"' mod='xmlfeeds'}]</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Drop HTML tags' mod='xmlfeeds'}</td>
<td>
<label for="html_tags_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='html_tags_status' name='html_tags_status' status=$s.html_tags_status}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='HTML special chars decode' mod='xmlfeeds'}</td>
<td>
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='is_htmlspecialchars' name='is_htmlspecialchars' status=$s.is_htmlspecialchars}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Add "-0" to the product ID' mod='xmlfeeds'}</td>
<td>
<label for="product_id_with_zero">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='product_id_with_zero' name='product_id_with_zero' status=$s.product_id_with_zero}
</label>
<div class="clear_block"></div>
<div class="bl_comments">[{l s='Disabled: 123, enabled: 123-0 (product without combinations)' mod='xmlfeeds'}]</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Category map' mod='xmlfeeds'}</td>
<td>
<select name="category_map_id">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $categoryMapList as $c}
<option value="{$c.id|escape:'htmlall':'UTF-8'}" {if $s.category_map_id == $c.id}selected{/if}>{$c.title|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Attribute map' mod='xmlfeeds'}</td>
<td>
<select name="attribute_map_id">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $attributeMapList as $c}
<option value="{$c.id|escape:'htmlall':'UTF-8'}" {if $s.attribute_map_id == $c.id}selected{/if}>{$c.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Feature map' mod='xmlfeeds'}</td>
<td>
<select name="feature_map_id">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $featureMapList as $c}
<option value="{$c.id|escape:'htmlall':'UTF-8'}" {if $s.feature_map_id == $c.id}selected{/if}>{$c.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Label when in stock' mod='xmlfeeds'}</td>
<td>
<input type="text" name="label_in_stock_text" value="{$s.label_in_stock_text|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[Replace default availability label when in stock]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Label when out of stock' mod='xmlfeeds'}</td>
<td>
<input type="text" name="label_out_of_stock_text" value="{$s.label_out_of_stock_text|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[Replace default availability label when out of stock (and back order allowed)]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Delivery time in-stock' mod='xmlfeeds'}</td>
<td>
<input type="text" name="in_stock_text" value="{$s.in_stock_text|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[Replace default delivery time of in-stock products]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Delivery time out-of-stock' mod='xmlfeeds'}</td>
<td>
<input type="text" name="out_of_stock_text" value="{$s.out_of_stock_text|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[Replace default delivery time of out-of-stock products with allowed backorders]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Delivery is not available' mod='xmlfeeds'}</td>
<td>
<input type="text" name="on_demand_stock_text" value="{$s.on_demand_stock_text|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[Default text if delivery is not possible]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Header rows' mod='xmlfeeds'}</td>
<td>
<textarea name="header_information" style="max-width: 470px; width: 100%; height: 60px;">{$s.header_information|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">{l s='[Make sure that you have entered validate XML code]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Footer rows' mod='xmlfeeds'}</td>
<td>
<textarea name="footer_information" style="max-width: 470px; width: 100%; height: 60px;">{$s.footer_information|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">{l s='[Make sure that you have entered validate XML code]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Extra feed rows' mod='xmlfeeds'}</td>
<td>
<textarea name="extra_feed_row" style="max-width: 470px; width: 100%; height: 60px;">{$s.extra_feed_row|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">{l s='[Make sure that you have entered validate XML code]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Product category tree type' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="category_tree_type" value="0"{if empty($s.category_tree_type)} checked="checked"{/if}> {l s='All categories' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="category_tree_type" value="1"{if $s.category_tree_type eq 1} checked="checked"{/if}> {l s='According breadcrumbs' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Feed generation time' mod='xmlfeeds'}</td>
<td>
<label for="feed_generation_time" class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='feed_generation_time' name='feed_generation_time' status=$s.feed_generation_time}
</label>
<input style="width: 155px; margin-left: 14px;" type="text" name="feed_generation_time_name" value="{$s.feed_generation_time_name|escape:'htmlall':'UTF-8'}" placeholder="Field name" size="6">
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Maximum possible quantity' mod='xmlfeeds'}</td>
<td>
<label for="feed_generation_time" class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='max_quantity_status' name='max_quantity_status' status=$s.max_quantity_status}
</label>
<input style="width: 78px; margin-left: 14px;" type="text" name="max_quantity" value="{$s.max_quantity|escape:'htmlall':'UTF-8'}" size="6">
<div class="bl_comments">{l s='[If the quantity of the product is greater than, it will be replaced with the specified value]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Gender field by category' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("gender_field_category");
});
</script>
<label class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='gender_field_category_status' name='gender_field_category_status' status=$s.gender_field_category_status}
</label>
<span class="gender_field_category_button" style="cursor: pointer; color: #268CCD; margin-left: 10px; top: 5px; position: relative;">{l s='[Show/Hide categories]' mod='xmlfeeds'}</span>
<div class="gender_field_category" style="display: none; margin-top: 20px;">
<div class="blmod_mb10">
{l s='Field name' mod='xmlfeeds'} <input style="width: 155px; margin-left: 14px;" type="text" name="gender_field_category_name" value="{$s.gender_field_category_name|escape:'htmlall':'UTF-8'}" size="6">
</div>
<div>
{l s='Default value' mod='xmlfeeds'} <input style="width: 155px; margin-left: 14px;" type="text" name="gender_field_category_prime_value" value="{$s.gender_field_category_prime_value|escape:'htmlall':'UTF-8'}" size="6">
</div>
<div class="bl_comments blmod_mb25">{l s='[This value will be used if no gender is specified for the category]' mod='xmlfeeds'}</div>
{$categoriesTreeGender}
</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Empty product description' mod='xmlfeeds'}</td>
<td>
<div class="mb10">
<label>
<input type="radio" name="empty_description" value="0"{if $s.empty_description eq 0} checked="checked"{/if}> {l s='Leave empty' mod='xmlfeeds'}
</label>
<div class="blmod_cb"></div>
</div>
<div class="mb10">
<label>
<input type="radio" name="empty_description" value="1"{if $s.empty_description eq 1} checked="checked"{/if}> {l s='Replace empty description with the product name' mod='xmlfeeds'}
</label>
<div class="blmod_cb"></div>
</div>
<div>
<label>
<input type="radio" name="empty_description" value="2"{if $s.empty_description eq 2} checked="checked"{/if}>
<input style="width: 350px;" type="text" name="empty_description_text" value="{$s.empty_description_text|escape:'htmlall':'UTF-8'}" placeholder="{l s='Replace empty description with custom text' mod='xmlfeeds'}">
</label>
<div class="blmod_cb"></div>
</div>
</td>
</tr>
</table>

View File

@@ -0,0 +1,317 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td class="settings-column-name">{l s='Only enable' mod='xmlfeeds'}</td>
<td>
<label for="only_enabled">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_enabled' name='only_enabled' status=$s.only_enabled}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Only "available for order"' mod='xmlfeeds'}</td>
<td>
<label for="only_available_for_order">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_available_for_order' name='only_available_for_order' status=$s.only_available_for_order}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Only "on sale"' mod='xmlfeeds'}</td>
<td>
<label for="only_on_sale">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_on_sale' name='only_on_sale' status=$s.only_on_sale}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by price range' mod='xmlfeeds'}</td>
<td>
{l s='From' mod='xmlfeeds'} <input class="price_range_field" type="text" name="price_from" value="{$priceFrom|escape:'htmlall':'UTF-8'}">
{l s='To' mod='xmlfeeds'} <input class="price_range_field" type="text" name="price_to" value="{$priceTo|escape:'htmlall':'UTF-8'}">
<div class="bl_comments">{l s='[Specify price range will be active]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="filter-by-quantity">
<td class="settings-column-name">{l s='Include by quantity' mod='xmlfeeds'}</td>
<td>
<label for="filter_qty_status" style="position: relative; top: -6px;">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='filter_qty_status' name='filter_qty_status' status=$s.filter_qty_status}
</label>
<select name="filter_qty_type">
<option value=">"{if $s.filter_qty_type eq '>'} selected{/if}>></option>
<option value="<"{if $s.filter_qty_type eq '<'} selected{/if}><</option>
<option value="="{if $s.filter_qty_type eq '='} selected{/if}>=</option>
</select>
<input style="width: 65px;" class="filter_qty_value" type="text" name="filter_qty_value" placeholder="{l s='Value' mod='xmlfeeds'}" value="{$s.filter_qty_value|escape:'htmlall':'UTF-8'}">
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Exclude by minimum order quantity' mod='xmlfeeds'}</td>
<td>
{l s='From' mod='xmlfeeds'} <input class="price_range_field" type="text" name="exclude_minimum_order_qty_from" value="{$s.exclude_minimum_order_qty_from|escape:'htmlall':'UTF-8'}">
{l s='To' mod='xmlfeeds'} <input class="price_range_field" type="text" name="exclude_minimum_order_qty_to" value="{$s.exclude_minimum_order_qty_to|escape:'htmlall':'UTF-8'}">
<div class="bl_comments">{l s='[Values are included inclusive]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by visibility status' mod='xmlfeeds'}</td>
<td>
<select name="filter_visibility">
<option value=""{if empty($s.filter_visibility)} selected{/if}>{l s='All' mod='xmlfeeds'}</option>
<option value="both"{if $s.filter_visibility eq 'both'} selected{/if}>{l s='Everywhere' mod='xmlfeeds'}</option>
<option value="catalog"{if $s.filter_visibility eq 'catalog'} selected{/if}>{l s='Catalog only' mod='xmlfeeds'}</option>
<option value="search"{if $s.filter_visibility eq 'search'} selected{/if}>{l s='Search only' mod='xmlfeeds'}</option>
<option value="none"{if $s.filter_visibility eq 'none'} selected{/if}>{l s='Nowhere' mod='xmlfeeds'}</option>
</select>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Created for the last XX days' mod='xmlfeeds'}</td>
<td>
<input class="price_range_field" type="text" name="filter_created_before_days" value="{$s.filter_created_before_days|escape:'htmlall':'UTF-8'}" placeholder="{l s='Number of days' mod='xmlfeeds'}">
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by manufacturers' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function(){
boxToggle("manufacturers_list");
});
</script>
<label for="manufacturers_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='manufacturers_status' name='manufacturers' status=$s.manufacturer}
</label>
<span class="manufacturers_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide manufacturers]' mod='xmlfeeds'}</span>
<div class="manufacturers_list" style="display: none; margin-top:10px;">{$manufacturersList}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by suppliers' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("supplier_list");
});
</script>
<label for="supplier_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='supplier_status' name='suppliers' status=$s.supplier}
</label>
<span class="supplier_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide suppliers]' mod='xmlfeeds'}</span>
<div class="supplier_list" style="display: none; margin-top:10px;">{$supplierList}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by product lists' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("product_list");
});
</script>
<label for="product_list_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='product_list_status' name='product_list_status' status=$s.product_list_status}
</label>
<span class="product_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide product lists]' mod='xmlfeeds'}</span>
<div class="product_list" style="display: none; margin-top:10px;">
{$productListSettingsPage}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by categories' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("categories_list");
});
</script>
<label for="products_categories">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='products_categories' name='categories' status=$s.categories}
</label>
<span class="categories_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide categories]' mod='xmlfeeds'}</span>
<div class="categories_list" style="display: none; margin-top: 20px;">
<div>
<label class="blmod_mr20">
<input type="radio" name="filter_category_type" value="0" {if empty($s.filter_category_type)} checked="checked"{/if}> {l s='Filter by main category' mod='xmlfeeds'}
</label>
<label class="">
<input type="radio" name="filter_category_type" value="1" {if !empty($s.filter_category_type)} checked="checked"{/if}> {l s='Filter by all categories' mod='xmlfeeds'}
</label>
<div class="cb"></div>
</div>
{$categoriesTree}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Exclude by categories' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("categories_without_list");
});
</script>
<label for="products_categories_without">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='products_categories_without' name='categories_without' status=$s.categories_without}
</label>
<span class="categories_without_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide categories]' mod='xmlfeeds'}</span>
<div class="categories_without_list" style="display: none; margin-top: 20px;">
<div>
<label class="blmod_mr20">
<input type="radio" name="filter_category_without_type" value="0" {if empty($s.filter_category_without_type)} checked="checked"{/if}> {l s='Filter by main category' mod='xmlfeeds'}
</label>
<label class="">
<input type="radio" name="filter_category_without_type" value="1" {if !empty($s.filter_category_without_type)} checked="checked"{/if}> {l s='Filter by all categories' mod='xmlfeeds'}
</label>
<div class="cb"></div>
</div>
{$categoriesTreeL}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by attributes' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("only_with_attributes");
});
</script>
<label for="only_with_attributes">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_with_attributes' name='only_with_attributes_status' status=$s.only_with_attributes_status}
</label>
<span class="only_with_attributes_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide attributes]' mod='xmlfeeds'}</span>
<div class="only_with_attributes" style="display: none; margin-top: 20px;">
{$filterAttributes}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Exclude by attributes' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("only_without_attributes");
});
</script>
<label for="only_without_attributes">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_without_attributes' name='only_without_attributes_status' status=$s.only_without_attributes_status}
</label>
<span class="only_without_attributes_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide attributes]' mod='xmlfeeds'}</span>
<div class="only_without_attributes" style="display: none; margin-top: 20px;">
{$filterWithoutAttributes}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by features' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("only_with_features");
});
</script>
<label for="only_with_attributes">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_with_features' name='only_with_features_status' status=$s.only_with_features_status}
</label>
<span class="only_with_features_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide features]' mod='xmlfeeds'}</span>
<div class="only_with_features" style="display: none; margin-top: 20px;">
{foreach $featuresWithValues as $f}
<div class="blmod_mb10">
<div class="attribute-group-title">{$f.name|escape:'htmlall':'UTF-8'}</div>
{foreach $f.values as $v}
<label class="attribute-list">
<input {if $v.id_feature_value|in_array:$s.only_with_features}checked{/if} type="checkbox" name="only_with_features[]" value="{$v.id_feature_value|escape:'htmlall':'UTF-8'}"> {$v.value|escape:'htmlall':'UTF-8'}
</label>
{/foreach}
</div>
{/foreach}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Exclude by features' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("only_without_features");
});
</script>
<label for="only_without_features">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='only_without_features' name='only_without_features_status' status=$s.only_without_features_status}
</label>
<span class="only_without_features_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide features]' mod='xmlfeeds'}</span>
<div class="only_without_features" style="display: none; margin-top: 20px;">
{foreach $featuresWithValues as $f}
<div class="blmod_mb10">
<div class="attribute-group-title">{$f.name|escape:'htmlall':'UTF-8'}</div>
{foreach $f.values as $v}
<label class="attribute-list">
<input {if $v.id_feature_value|in_array:$s.only_without_features}checked{/if} type="checkbox" name="only_without_features[]" value="{$v.id_feature_value|escape:'htmlall':'UTF-8'}"> {$v.value|escape:'htmlall':'UTF-8'}
</label>
{/foreach}
</div>
{/foreach}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by discount status' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="filter_discount" value="0"{if $s.filter_discount eq 0} checked="checked"{/if}> {l s='All' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="filter_discount" value="1"{if $s.filter_discount eq 1} checked="checked"{/if}> {l s='With discount' mod='xmlfeeds'}
</label>
<label>
<input type="radio" name="filter_discount" value="2"{if $s.filter_discount eq 2} checked="checked"{/if}> {l s='Without discount' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Include by image status' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="filter_image" value="0"{if $s.filter_image eq 0} checked="checked"{/if}> {l s='All' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="filter_image" value="1"{if $s.filter_image eq 1} checked="checked"{/if}> {l s='With images' mod='xmlfeeds'}
</label>
<label>
<input type="radio" name="filter_image" value="2"{if $s.filter_image eq 2} checked="checked"{/if}> {l s='Without images' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Exclude by empty value' mod='xmlfeeds'}</td>
<td>
<label class="attribute-list">
<input type="checkbox" name="filter_exclude_empty_params[]" value="reference"{if 'reference'|in_array:$s.filter_exclude_empty_params} checked="checked"{/if}> Reference
</label>
<label class="attribute-list">
<input type="checkbox" name="filter_exclude_empty_params[]" value="ean13"{if 'ean13'|in_array:$s.filter_exclude_empty_params} checked="checked"{/if}> EAN-13
</label>
<label class="attribute-list">
<input type="checkbox" name="filter_exclude_empty_params[]" value="isbn"{if 'isbn'|in_array:$s.filter_exclude_empty_params} checked="checked"{/if}> ISBN
</label>
<label class="attribute-list">
<input type="checkbox" name="filter_exclude_empty_params[]" value="upc"{if 'upc'|in_array:$s.filter_exclude_empty_params} checked="checked"{/if}> UPC
</label>
</td>
</tr>
</table>

View File

@@ -0,0 +1,245 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr style="display: none;">
<td >Feed id:</td>
<td>
<input type="text" readonly="readonly" name="feed_id" value="{$page|escape:'htmlall':'UTF-8'}">
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Feed name' mod='xmlfeeds'}</td>
<td>
<input style="width: 310px;" type="text" name="name" value="{$s.name|escape:'htmlall':'UTF-8'}" required>
{if !empty($s.feed_mode)}<img class="feed_type_id" alt="Feed type" title="Feed type" src="../modules/{$name|escape:'htmlall':'UTF-8'}/views/img/type_{$s.feed_mode|escape:'htmlall':'UTF-8'}.png" />{/if}
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Feed status' mod='xmlfeeds'}</td>
<td>
<label for="xmf_feed_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='xmf_feed_status' name='status' status=$s.status}
</label>
</td>
</tr>
<tr class="only-product order-settings">
<td class="settings-column-name">{l s='Use cron' mod='xmlfeeds'}</td>
<td>
<label for="use_cron">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='use_cron' name='use_cron' status=$s.use_cron}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Split by combination' mod='xmlfeeds'}</td>
<td>
<label for="split_by_combination">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='split_by_combination' name='split_by_combination' status=$s.split_by_combination}
</label>
<div class="clear_block"></div>
<div class="bl_comments">{l s='[Display each combination as a separate product]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Split feed' mod='xmlfeeds'}</td>
<td>
<label for="split_feed" class="with-input"class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='split_feed' name='split_feed' status=$s.split_feed}
</label>
<input style="width: 130px; margin-left: 14px;" placeholder="{l s='Products per feed' mod='xmlfeeds'}" type="text" name="split_feed_limit" value="{if !empty($s.split_feed_limit)}{$s.split_feed_limit|escape:'htmlall':'UTF-8'}{/if}" size="6">
<div class="clear_block"></div>
<div class="bl_comments">{l s='[Divide feed into few according to the amount of products]' mod='xmlfeeds'}</div>
</td>
</tr>
{if empty($s.use_cron)}
<tr>
<td class="settings-column-name">{l s='Use cache' mod='xmlfeeds'}</td>
<td>
<label for="use_cache" class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='use_cache' name='use_cache' status=$s.use_cache}
</label>
<input style="width: 130px; margin-left: 14px;" placeholder="{l s='Period in minutes' mod='xmlfeeds'}" type="text" name="cache_time" value="{if !empty($s.cache_time)}{$s.cache_time|escape:'htmlall':'UTF-8'}{/if}" size="6">
{if $s.use_cache eq 1 && empty($s.cache_time)}
<div class="alert-small-blmod ">{l s='You need to enter cache period in minutes (e.g. 180)' mod='xmlfeeds'}</div>
{/if}
</td>
</tr>
{/if}
<tr class="only-product">
<td class="settings-column-name">{l s='Compressor (archive file)' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="compressor_type" value="0"{if empty($s.compressor_type)} checked="checked"{/if}> {l s='None' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="compressor_type" value="1"{if $s.compressor_type eq 1} checked="checked"{/if}> {l s='Zip' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="compressor_type" value="2"{if $s.compressor_type eq 2} checked="checked"{/if}> {l s='Gz' mod='xmlfeeds'}
</label>
<label>
<input type="radio" name="compressor_type" value="3"{if $s.compressor_type eq 3} checked="checked"{/if}> {l s='Gzip' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr class="only-product compressor-name-action"{if empty($s.compressor_type)} style="display: none;" {/if}>
<td class="settings-column-name">{l s='Compressed file name' mod='xmlfeeds'}</td>
<td>
<input placeholder="" type="text" name="zip_file_name" value="{if !empty($s.zip_file_name)}{$s.zip_file_name|escape:'htmlall':'UTF-8'}{/if}" size="6">
<div class="clear_block"></div>
<div class="bl_comments">{l s='[Enter file name without the extension]' mod='xmlfeeds'}</div>
{if !empty($s.compressor_type) && empty($s.zip_file_name)}
<div class="alert-small-blmod">{l s='File name cannot be empty' mod='xmlfeeds'}</div>
{/if}
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Protect by IP addresses' mod='xmlfeeds'}</td>
<td>
<input type="text" name="protect_by_ip" value="{$s.protect_by_ip|escape:'htmlall':'UTF-8'}" autocomplete="off">
<div class="bl_comments">{l s='[Use a comma to separate them (e.g. 11.10.1.1, 22.2.2.3)]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Protect with password' mod='xmlfeeds'}</td>
<td>
<label for="use_password" class="with-input">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='use_password' name='use_password' status=$s.use_password}
</label>
<input style="display: inline-block; width: 130px; margin-left: 14px;" placeholder="{l s='Password' mod='xmlfeeds'}" type="password" name="password" autocomplete="off" value="{if !empty($s.password)}{$s.password|escape:'htmlall':'UTF-8'}{/if}" size="6">
{if $s.use_password eq 1 && empty($s.password)}
<div class="alert-small-blmod">{l s='Password cannot be empty' mod='xmlfeeds'}</div>
{/if}
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Shipping countries' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function(){
boxToggle("countries_list");
});
</script>
<label for="shipping_countries_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='shipping_countries_status' name='shipping_countries_status' status=$s.shipping_countries_status}
</label>
<span class="countries_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide countries]' mod='xmlfeeds'}</span>
<div class="countries_list" style="display: none; margin-top:10px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id="radio_div" style="margin-top: 0; margin-bottom: 0;">
<tr>
<th><br></th>
<th>{l s='Name' mod='xmlfeeds'}</th>
</tr>
{foreach $countries as $c}
{if $c.id_country|in_array:$s.shipping_countries}
<tr>
<td class="center">
<input type="checkbox" {if $c.id_country|in_array:$s.shipping_countries} checked{/if} id="country_{$c.id_country|escape:'htmlall':'UTF-8'}" name="shipping_countries[]" value="{$c.id_country|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="country_{$c.id_country|escape:'htmlall':'UTF-8'}" class="t">
{$c.name|escape:'htmlall':'UTF-8'}
</label>
</td>
</tr>
{/if}
{/foreach}
{foreach $countries as $c}
{if !$c.id_country|in_array:$s.shipping_countries}
<tr>
<td class="center">
<input type="checkbox" {if $c.id_country|in_array:$s.shipping_countries} checked{/if} id="country_{$c.id_country|escape:'htmlall':'UTF-8'}" name="shipping_countries[]" value="{$c.id_country|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="country_{$c.id_country|escape:'htmlall':'UTF-8'}" class="t">
{$c.name|escape:'htmlall':'UTF-8'}
</label>
</td>
</tr>
{/if}
{/foreach}
</table>
</div>
</td>
</tr>
{if $s.feed_mode == 'vi'}
<tr>
<td class="settings-column-name">{l s='Vivino, bottle size' mod='xmlfeeds'}</td>
<td>
<select name="vivino_bottle_size" style="width: 273px; display: inline-block;">
<option value="0">{l s='none' mod='xmlfeeds'}</option>
{foreach $productFeatures as $f}
<option value="{$f.id_feature|escape:'htmlall':'UTF-8'}"{if $s.vivino_bottle_size eq $f.id_feature} selected{/if}>{$f.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<input style="width: 75px; margin-top: -3px;" type="text" name="vivino_bottle_size_default" value="{$s.vivino_bottle_size_default|escape:'htmlall':'UTF-8'}" placeholder="{l s='Default size' mod='xmlfeeds'}" />
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Vivino, lot size' mod='xmlfeeds'}</td>
<td>
<select name="vivino_lot_size" style="width: 273px; display: inline-block;">
<option value="0">{l s='none' mod='xmlfeeds'}</option>
{foreach $productFeatures as $f}
<option value="{$f.id_feature|escape:'htmlall':'UTF-8'}"{if $s.vivino_lot_size eq $f.id_feature} selected{/if}>{$f.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<input style="width: 75px; margin-top: -3px;" type="text" name="vivino_lot_size_default" value="{$s.vivino_lot_size_default|escape:'htmlall':'UTF-8'}" placeholder="{l s='Default size' mod='xmlfeeds'}" />
</td>
</tr>
{/if}
{if $s.feed_mode == 'spa'}
<tr>
<td class="settings-column-name">{l s='Spartoo, size' mod='xmlfeeds'}</td>
<td>
<select name="spartoo_size">
<option value="0">{l s='none' mod='xmlfeeds'}</option>
{foreach $productAttributes as $f}
<option value="{$f.id_attribute_group|escape:'htmlall':'UTF-8'}"{if $s.spartoo_size eq $f.id_attribute_group} selected{/if}>{$f.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
{/if}
{if $s.feed_mode == 's' || $s.feed_mode == 'bp'}
<tr>
<td class="settings-column-name">{l s='Skroutz Analytics ID' mod='xmlfeeds'}</td>
<td>
<input type="text" name="skroutz_analytics_id" value="{$s.skroutz_analytics_id|escape:'htmlall':'UTF-8'}">
<div class="bl_comments">{l s='[If you want to use Skroutz Analytics, insert the shop account ID]' mod='xmlfeeds'}</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Variant size' mod='xmlfeeds'}</td>
<td>
<select name="skroutz_variant_size">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $groups as $g}
<option value="{$g.id_attribute_group|escape:'htmlall':'UTF-8'}"{if $g.id_attribute_group == $s.skroutz_variant_size} selected{/if}>{$g.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<div class="bl_comments">{l s='[If you want to use variants, you need to specify product size attribute]' mod='xmlfeeds'}</div>
</td>
</tr>
{/if}
{if $s.feed_mode == 'wor'}
<tr>
<td class="settings-column-name">{l s='Worten, ship from country' mod='xmlfeeds'}</td>
<td>
<input type="text" name="worten_ship_from_country" value="{$s.worten_ship_from_country|escape:'htmlall':'UTF-8'}" autocomplete="off">
<div class="bl_comments">{l s='[Example: FR|France]' mod='xmlfeeds'}</div>
</td>
</tr>
{/if}
</table>

View File

@@ -0,0 +1,24 @@
<?php
/**
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,71 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0" style="margin-top: -8px;">
<tr>
<td class="settings-column-name">{l s='Filter by status' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("order_state_list");
});
</script>
<label for="order_state_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='order_state_status' name='order_state_status' status=$s.order_state_status}
</label>
<span class="order_state_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide status]' mod='xmlfeeds'}</span>
<div class="order_state_list" style="display: none; margin-top:10px;">
{$orderStatusList}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Filter by payments' mod='xmlfeeds'}</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("order_payment_list");
});
</script>
<label for="order_payments_status">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='order_payments_status' name='order_payments_status' status=$s.order_payments_status}
</label>
<span class="order_payment_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide payments]' mod='xmlfeeds'}</span>
<div class="order_payment_list" style="display: none; margin-top:10px;">
{$orderPaymentsList}
</div>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Filter by date' mod='xmlfeeds'}</td>
<td>
<select name="filter_date_type">
{foreach $filterDateTypes as $id => $v}
<option value="{$id|escape:'htmlall':'UTF-8'}"{if $s.filter_date_type == $id} selected{/if}>{$v|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<div {if $s.filter_date_type != $FILTER_DATE_DATE_RANGE} style="display: none;" {/if}id="order-filter-date-range" class="blmod_mt10">
<label>
From <input style="width: 90px;" type="text" name="filter_date_from" id="filter-date-from" value="{if $s.filter_date_from}{$s.filter_date_from|escape:'htmlall':'UTF-8'}{/if}" class="datepicker-blmod">
</label>
<label class="blmod_ml15">
To <input style="width: 90px;" type="text" name="filter_date_to" id="filter-date-from-to" value="{if $s.filter_date_to}{$s.filter_date_to|escape:'htmlall':'UTF-8'}{/if}" class="datepicker-blmod">
</label>
</div>
<div class="blmod_cb"></div>
<div {if $s.filter_date_type != $FILTER_DATE_CUSTOM_DAYS} style="display: none;" {/if}id="order-filter-custom-days" class="blmod_mt10">
<input style="width: 50px;" type="text" name="filter_custom_days" value="{if $s.filter_custom_days}{$s.filter_custom_days|escape:'htmlall':'UTF-8'}{/if}"> {l s='days from today back' mod='xmlfeeds'}
</div>
</td>
</tr>
</table>

View File

@@ -0,0 +1,117 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td class="settings-column-name">{l s='Currency' mod='xmlfeeds'}</td>
<td>
<select name="currency_id">
<option value="">{l s='Default' mod='xmlfeeds'}</option>
{foreach $currencyList as $c}
<option value="{$c.id|escape:'htmlall':'UTF-8'}"{if $s.currency_id == $c.id} selected{/if}>{$c.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Price with currency' mod='xmlfeeds'}</td>
<td>
<label for="price_with_currency">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='price_with_currency' name='price_with_currency' status=$s.price_with_currency}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Unit price without unit' mod='xmlfeeds'}</td>
<td>
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='unit_price_without_unit' name='unit_price_without_unit' status=$s.unit_price_without_unit}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Price format' mod='xmlfeeds'}</td>
<td>
<select name="price_format_id">
<option value="0"{if empty($s.price_format_id)} selected{/if}>{l s='Default' mod='xmlfeeds'}</option>
{foreach $priceFromList as $pfId => $pf}
<option value="{$pfId|escape:'htmlall':'UTF-8'}"{if $s.price_format_id == $pfId} selected{/if}>{$pf|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Round mode' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="price_rounding_type" value="0"{if empty($s.price_rounding_type)} checked="checked"{/if}> {l s='Tool object' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="price_rounding_type" value="1"{if $s.price_rounding_type eq 1} checked="checked"{/if}> {l s='Product object' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Shipping price' mod='xmlfeeds'}</td>
<td>
<label class="blmod_mr20">
<input type="radio" name="shipping_price_mode" value="0"{if $s.shipping_price_mode eq 0} checked="checked"{/if}> {l s='Default carrier' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="shipping_price_mode" value="1"{if $s.shipping_price_mode eq 1} checked="checked"{/if}> {l s='According to the country' mod='xmlfeeds'}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Affilaite price' mod='xmlfeeds'}</td>
<td>
{if !empty($prices_affiliate)}
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div" style="margin-top: 0; margin-bottom: 0;">
<tr>
<th><br></th>
<th>{l s='Price name' mod='xmlfeeds'}</th>
<th>{l s='XML name' mod='xmlfeeds'}</th>
<th>{l s='Formula' mod='xmlfeeds'}</th>
</tr>
{foreach $prices_affiliate as $p}
<tr>
<td class="center">
<input type="checkbox" {if $p.affiliate_id|in_array:$s.affiliate} checked{/if} id="affiliate_blmod_{$p.affiliate_id|escape:'htmlall':'UTF-8'}" name="affiliate[]" value="{$p.affiliate_id|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_blmod_{$p.affiliate_id|escape:'htmlall':'UTF-8'}" class="t">
{$p.affiliate_name|escape:'htmlall':'UTF-8'}
</label>
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_blmod_{$p.affiliate_id|escape:'htmlall':'UTF-8'}" class="t">
{$p.xml_name|escape:'htmlall':'UTF-8'}
</label>
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_blmod_{$p.affiliate_id|escape:'htmlall':'UTF-8'}" class="t">
{$p.affiliate_formula|escape:'htmlall':'UTF-8'}
</label>
</td>
</tr>
{/foreach}
</table>
<div class="bl_comments" style="margin-top: 7px;">[{l s='Another option: add &affiliate=name at the and of the feed URL' mod='xmlfeeds'}]</div>
{else}
<div class="bl_comments">
{l s='There is no affiliate price.' mod='xmlfeeds'}<br>{l s='Please use the "' mod='xmlfeeds'}<a class="link-highlighted" target="_blank" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&add_affiliate_price=1">Affiliate price</a>{l s='" feature if you need to create it.' mod='xmlfeeds'}
</div>
{/if}
</td>
</tr>
</table>

View File

@@ -0,0 +1,93 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="title-editor-type">
<div class="title-editor-type-name">{l s='Replace elements' mod='xmlfeeds'}</div>
<div style="display: none" id="title-replace-new-row">
<div class="cn_line" data-id="__NEW_ROW__">
{l s='Find what' mod='xmlfeeds'} <input style="width: 200px; margin-right: 16px;" type="text" name="title_replace_key[__NEW_ROW__]"> {l s='replace with' mod='xmlfeeds'} <input style="width: 200px;" type="text" name="title_replace_value[__NEW_ROW__]">
</div>
</div>
<div id="title-replace-box">
{foreach $productTitleEditorValues.key as $k => $keyValue}
<div class="cn_line" data-id="{$k|escape:'htmlall':'UTF-8'}">
{l s='Find what' mod='xmlfeeds'} <input style="width: 200px; margin-right: 16px;" type="text" name="title_replace_key[{$k|escape:'htmlall':'UTF-8'}]" value="{$keyValue|escape:'htmlall':'UTF-8'}"> {l s='replace with' mod='xmlfeeds'} <input style="width: 200px;" type="text" name="title_replace_value[{$k|escape:'htmlall':'UTF-8'}]" value="{$productTitleEditorValues.value[$k]|escape:'htmlall':'UTF-8'}">
</div>
{/foreach}
</div>
<div style="float: right; margin-right: 3px;" id="add-title-replace-row" class="blmod_button_small">
{l s='Add more' mod='xmlfeeds'}
</div>
<div style="float: left;" class="bl_comments">
{l s='[Rows with empty "Find what" will be removed]' mod='xmlfeeds'}
</div>
<div class="cb"></div>
</div>
<div class="title-editor-type">
<div class="title-editor-type-name">{l s='Add elements' mod='xmlfeeds'}</div>
<div>
{foreach $productTitleEditorElementsList as $k => $n}
<label class="attribute-list">
<input type="checkbox" name="title_editor_add_elements[]" value="{$k|escape:'htmlall':'UTF-8'}"{if $k|in_array:$productTitleEditorNewElements.elements} checked{/if}> {$n|escape:'htmlall':'UTF-8'}
</label>
{/foreach}
</div>
</div>
<div class="title-editor-type">
<div class="title-editor-type-name">{l s='Add attributes' mod='xmlfeeds'}</div>
<div>
<div class="mb10">
<label class="attribute-list">
<input type="checkbox" name="title_editor_options[]" value="attribute_name"{if attribute_name|in_array:$productTitleEditorNewElements.options} checked{/if}> {l s='Attributes with name' mod='xmlfeeds'}
</label>
</div>
<div class="mb10">
<label class="attribute-list">
<input id="title_editor_all_attributes" type="checkbox" name="title_editor_add_elements[]" value="1"{if 1|in_array:$productTitleEditorNewElements.elements} checked{/if}> {l s='All attributes' mod='xmlfeeds'}
</label>
</div>
{foreach $attributesGroups as $a}
<label class="attribute-list">
<input type="checkbox" class="title_editor_attributes" name="title_editor_add_attributes[]" value="{$a.id_attribute_group|escape:'htmlall':'UTF-8'}"{if $a.id_attribute_group|in_array:$productTitleEditorNewElements.attributes OR 1|in_array:$productTitleEditorNewElements.elements} checked{/if}{if 1|in_array:$productTitleEditorNewElements.elements} readonly="readonly" disabled="disabled"{/if}> {$a.name|escape:'htmlall':'UTF-8'}
</label>
{/foreach}
</div>
</div>
<div class="title-editor-type">
<div class="title-editor-type-name">{l s='Title transform' mod='xmlfeeds'}</div>
<div class="mb10">
<label class="blmod_mr20">
<input type="radio" name="title_transform" value="0"{if empty($s.title_transform)} checked="checked"{/if}> {l s='None' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="title_transform" value="1"{if $s.title_transform eq 1} checked="checked"{/if}> {l s='First character uppercase' mod='xmlfeeds'}
</label>
<label class="blmod_mr20">
<input type="radio" name="title_transform" value="2"{if $s.title_transform eq 2} checked="checked"{/if}> {l s='Uppercase all' mod='xmlfeeds'}
</label>
<label>
<input type="radio" name="title_transform" value="3"{if $s.title_transform eq 3} checked="checked"{/if}> {l s='Lowercase all' mod='xmlfeeds'}
</label>
</div>
<div class="cb"></div>
</div>
<div class="title-editor-type">
<div class="title-editor-type-name">{l s='Title max length' mod='xmlfeeds'}</div>
<div class="mb10">
<input style="width: 150px;" type="text" name="title_length" value="{$s.title_length|escape:'htmlall':'UTF-8'}">
<div class="bl_comments">
{l s='[Leave empty if you do not want to restrict length]' mod='xmlfeeds'}
</div>
</div>
<div class="cb"></div>
</div>

View File

@@ -0,0 +1,118 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr class="only-product only-category">
<td class="settings-column-name">{l s='XML in one branch' mod='xmlfeeds'}</td>
<td>
<label for="one_branch">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='one_branch' name='one_branch' status=$s.one_branch}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Encoding' mod='xmlfeeds'}</td>
<td>
<input type="text" name="encoding_text" value="{$s.encoding_text|escape:'htmlall':'UTF-8'}" placeholder="Default: UTF-8">
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='All images' mod='xmlfeeds'}</td>
<td>
<label for="all_images">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='all_images' name='all_images' status=$s.all_images}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Last-Modified header' mod='xmlfeeds'}</td>
<td>
<label for="last_modified_header">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='last_modified_header' name='last_modified_header' status=$s.last_modified_header}
</label>
</td>
</tr>
<tr>
<td class="settings-column-name">{l s='Each item on a new line' mod='xmlfeeds'}</td>
<td>
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='item_starts_on_a_new_line' name='item_starts_on_a_new_line' status=$s.item_starts_on_a_new_line}
</label>
</td>
</tr>
<tr class="only-product">
<td class="settings-column-name">{l s='Add attribute ID to item ID' mod='xmlfeeds'}</td>
<td>
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='attribute_id_as_combination_id' name='attribute_id_as_combination_id' status=$s.attribute_id_as_combination_id}
</label>
<div class="cb"></div>
<div class="bl_comments">{l s='[Use product attribute ID as a combination ID]' mod='xmlfeeds'}</div>
</td>
</tr>
{if !empty($groups)}
<tr id="merge-attributes-by-group-box" class="only-product{if !empty($s['merge_attributes_by_group'])} box-toggle-active{/if}">
<td class="settings-column-name">{l s='Merge attributes by group' mod='xmlfeeds'}</td>
<td>
<label for="merge_attributes_by_group">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='merge_attributes_by_group' name='merge_attributes_by_group' status=$s.merge_attributes_by_group}
</label>
<div class="cb"></div>
<div id="merge-attributes-by-group-select"{if empty($s.merge_attributes_by_group)} style="display: none;"{/if}>
<div class="blmod_mt10">
<select name="merge_attributes_parent">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $groups as $g}
<option value="{$g.id_attribute_group|escape:'htmlall':'UTF-8'}"{if $g.id_attribute_group == $s.merge_attributes_parent} selected{/if}>{$g.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</div>
</div>
<div class="bl_comments">{l s='[Especially useful for Skroutz/Bestprice colors and sizes]' mod='xmlfeeds'}</div>
</td>
</tr>
{/if}
<tr class="only-product">
<td class="settings-column-name">{l s='Add XML tag by product list' mod='xmlfeeds'}</td>
<td>
{if !empty($productListWithXmlTags)}
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div" style="margin-top: 0; margin-bottom: 0;">
<tr>
<th style="text-align: center; width: 40px;">
<input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, 'product_list_xml_tag[]', this.checked)">
</th>
<th>
{l s='Name' mod='xmlfeeds'}
</th>
</tr>
{foreach $productListWithXmlTags as $p}
<tr>
<td class="center">
<input type="checkbox" {if $p.id|in_array:$s.product_list_xml_tag} checked{/if} id="product_list_xml_tag_{$p.id|escape:'htmlall':'UTF-8'}" name="product_list_xml_tag[]" value="{$p.id|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="product_list_xml_tag_{$p.id|escape:'htmlall':'UTF-8'}" class="t">
{$p.name|escape:'htmlall':'UTF-8'}
</label>
</td>
</tr>
{/foreach}
</table>
{else}
<div class="bl_comments">
{l s='There is no product list with XML tags.' mod='xmlfeeds'}<br>{l s='You need to use the "' mod='xmlfeeds'}<a class="link-highlighted" target="_blank" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&product_list_page=1">Product list</a>{l s='" feature if you need to create it.' mod='xmlfeeds'}
</div>
{/if}
</td>
</tr>
</table>

View File

@@ -0,0 +1,19 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="float: left; width: 190px; font-weight: bold;">{l s='File name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="file-name" value="{$b_name['file-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<div class="cb"></div>
<div style="float: left; width: 190px; font-weight: bold;">{l s='Category block name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="cat-block-name" value="{$b_name['cat-block-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<div class="cb"></div>
<div style="float: left; width: 190px; font-weight: bold;">{l s='Description block name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text"{if !empty($disabled_branch_name)} disabled="disabled" {/if}name="desc-block-name" value="{$b_name['desc-block-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<br/><br/>

View File

@@ -0,0 +1,22 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
{foreach $feedTypeList as $feedId => $f}
<label class="feed_type_icon" title="{$f.name|escape:'htmlall':'UTF-8'}" data-name="{$f.name|escape:'htmlall':'UTF-8'|lower}">
<img alt="{$f.name|escape:'htmlall':'UTF-8'} xml feed" src="../modules/xmlfeeds/views/img/type_{$feedId|escape:'htmlall':'UTF-8'}.png" />
<input type="radio" name="feed_mode" value="{$feedId|escape:'htmlall':'UTF-8'}" title="{$f.name|escape:'htmlall':'UTF-8'}"> {$f.name|escape:'htmlall':'UTF-8'}
</label>
{if $f@iteration is div by 4}
<div class="cb"></div>
{/if}
{/foreach}

View File

@@ -0,0 +1,113 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="table_name">{$block_name|escape:'htmlall':'UTF-8'}</div>
<div class="cb"></div>
<div class="field-settings-{$blockClass|escape:'htmlall':'UTF-8'} cn_table{$scrollClass|escape:'htmlall':'UTF-8'}">
<div class="cn_top">
<div class="cn_name">
{l s='Prestashop field' mod='xmlfeeds'}
</div>
{if empty($only_checkbox)}
<div class="cn_name_xml">
{l s='XML tag name' mod='xmlfeeds'}
</div>
{/if}
{if !empty($s.feed_mode) && ($s.feed_mode == 'pub' || $s.feed_mode == 'twi') && empty($only_checkbox)}
<div class="cn_status">
{l s='Product' mod='xmlfeeds'}
</div>
<div class="cn_status" style="margin-left: 20px;">
{l s='Offer' mod='xmlfeeds'}
</div>
{else}
<div class="cn_status">
{l s='Status' mod='xmlfeeds'}
</div>
{/if}
</div>
{foreach $fields as $f}
<div class="cn_line">
<div class="cn_name">
{$f.title|escape:'htmlall':'UTF-8'}
</div>
{if empty($f.is_only_checkbox)}
{if $f.field_name == 'id_product+product'}
<div class="cn_name_xml">
<input style="width: 80px;" type="text" name="product_id_prefix" value="{if !empty($f.product_id_prefix)}{$f.product_id_prefix|escape:'htmlall':'UTF-8'}{/if}" placeholder="prefix"/>
<input style="width: 150px;" type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
</div>
{elseif $f.field_name == 'additional_reference+bl_extra'}
<div class="cn_name_xml">
<input style="width: 80px;" type="text" name="reference_prefix" value="{if !empty($f.reference_prefix)}{$f.reference_prefix|escape:'htmlall':'UTF-8'}{/if}" placeholder="prefix"/>
<input style="width: 150px;" type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
</div>
{elseif $f.field_name == 'additional_ean13_with_prefix+bl_extra'}
<div class="cn_name_xml">
<input style="width: 80px;" type="text" name="ean_prefix" value="{if !empty($f.ean_prefix)}{$f.ean_prefix|escape:'htmlall':'UTF-8'}{/if}" placeholder="prefix"/>
<input style="width: 150px;" type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
</div>
{elseif $f.field_name == 'product_categories_tree+bl_extra'}
<div class="cn_name_xml">
<input style="width: 150px;" type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
<input style="width: 80px;" type="text" name="category_tree_separator" value="{if !empty($f.category_tree_separator)}{$f.category_tree_separator|escape:'htmlall':'UTF-8'}{/if}" placeholder="separator"/>
</div>
{elseif !empty($f.isEditPriceField)}
<div class="cn_name_xml">
<input style="width: 120px;" type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
<span style="cursor: pointer; text-decoration: underline; color: #0077a4; font-size: 12px;" class="open-edit-price-action" data-pid="{$f.field_name_safe|escape:'htmlall':'UTF-8'}">
{l s='Edit price' mod='xmlfeeds'}
</span>
{if !empty($f.editPriceValue)}
<span class="edit-price-value">
{$f.editPriceActionName|escape:'htmlall':'UTF-8'}{$f.editPriceValue|escape:'htmlall':'UTF-8'}
</span>
{/if}
<div id="edit-price-box_{$f.field_name_safe|escape:'htmlall':'UTF-8'}" style="display: none;">
<select name="edit_price_type[{$f.field_name|escape:'htmlall':'UTF-8'}]" style="display: inline-block; width: 110px;">
{foreach $f.editPriceTypeList as $epId => $epVal}
<option value="{$epId|escape:'htmlall':'UTF-8'}" {if $f.editPriceType == $epId}selected{/if} >{$epVal|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<input style="width: 90px;" type="text" name="edit_price_value[{$f.field_name|escape:'htmlall':'UTF-8'}]" placeholder="value" value="{$f.editPriceValue|escape:'htmlall':'UTF-8'}">
</div>
</div>
{else}
<div class="cn_name_xml">
<input type="text" name="{$f.field_name|escape:'htmlall':'UTF-8'}" value="{$f.value|escape:'htmlall':'UTF-8'}" size="30"{if !empty($f.placeholder)} placeholder="{$f.placeholder|escape:'htmlall':'UTF-8'}"{/if}/>
</div>
{/if}
{/if}
{if !empty($s.feed_mode) && ($s.feed_mode == 'pub' || $s.feed_mode == 'twi') && empty($only_checkbox)}
<div class="cn_status">
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id=$f.status_name name=$f.status_name status=$f.status_value}
</label>
</div>
<div class="cn_status" style="margin-left: 46px;">
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id=$f.status_name|cat:"_offer" name=$f.status_name|cat:"_offer" status=$f.field_name|in_array:$s.field_status_offers}
</label>
</div>
{else}
<div class="cn_status">
<label>
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id=$f.status_name name=$f.status_name status=$f.status_value}
</label>
</div>
{/if}
<div class="cb"></div>
</div>
{/foreach}
</div>
<div class="cb"></div>

View File

@@ -0,0 +1,15 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
{foreach $groups as $g}
{/foreach}

View File

@@ -0,0 +1,38 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="margin-right: 9px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id="radio_div">
<tr>
<th style="width: 242px">{l s='Name' mod='xmlfeeds'}</th>
<th>{l s='Include' mod='xmlfeeds'}</th>
<th>{l s='Exclude' mod='xmlfeeds'}</th>
</tr>
{if !empty($productList)}
{foreach $productList as $m}
<tr>
<td>
<label style="line-height: 26px; padding-left: 0;" for="product_list_{$m.id|escape:'htmlall':'UTF-8'}" class="t">{$m.name|escape:'htmlall':'UTF-8'}
</td>
<td class="center">
<input type="checkbox" id="product_list_{$m.id|escape:'htmlall':'UTF-8'}" name="product_list[]"{if $m.id|in_array:$active} checked {/if}value="{$m.id|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td class="center">
<input type="checkbox" id="product_list_exclude_{$m.id|escape:'htmlall':'UTF-8'}" name="product_list_exclude[]"{if $m.id|in_array:$activeExclude} checked {/if}value="{$m.id|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
</tr>
{/foreach}
{/if}
</table>
<div class="product_list_button" style="cursor: pointer; color: #268CCD; text-align: left; margin-top: 10px;">{l s='[Hide]' mod='xmlfeeds'}</div>
</div>

View File

@@ -0,0 +1,24 @@
<?php
/**
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,36 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="margin-right: 9px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div">
<tr>
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, 'manufacturer[]', this.checked)"></th>
<th>{l s='ID' mod='xmlfeeds'}</th>
<th style="width: 400px">{l s='Name' mod='xmlfeeds'}</th>
</tr>
{foreach $manufacturers as $m}
<tr>
<td class="center">
<input type="checkbox" id="manufacturer_{$m.id_manufacturer|escape:'htmlall':'UTF-8'}" name="manufacturer[]"{if $m.id_manufacturer|in_array:$activeList} checked{/if} value="{$m.id_manufacturer|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
{$m.id_manufacturer|escape:'htmlall':'UTF-8'}
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="manufacturer_{$m.id_manufacturer|escape:'htmlall':'UTF-8'}" class="t">{$m.name|escape:'htmlall':'UTF-8'}
</td>
</tr>
{/foreach}
</table>
<div class="manufacturers_list_button" style="cursor: pointer; color: #268CCD; text-align: left; margin-top: 10px;">{l s='[Hide]' mod='xmlfeeds'}</div>
</div>

View File

@@ -0,0 +1,21 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="float: left; width: 190px; font-weight: bold;">{l s='Orders branch name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="orders-branch-name" value="{$branchNamesKey['orders-branch-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<div class="cb"></div>
<div style="float: left; width: 190px; font-weight: bold;">{l s='Order branch name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="order-branch-name" value="{$branchNamesKey['order-branch-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<div class="cb"></div>
<div style="float: left; width: 190px; font-weight: bold;">{l s='Products branch name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="products-branch-name" value="{$branchNamesKey['products-branch-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<div class="cb"></div>
<div style="float: left; width: 190px; font-weight: bold;">{l s='Product branch name:' mod='xmlfeeds'}</div><div style="float: left;"><input type="text" name="product-branch-name" value="{$branchNamesKey['product-branch-name']|escape:'htmlall':'UTF-8'}" size="30"/></div>
<br/><br/>

View File

@@ -0,0 +1,32 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="margin-right: 9px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div">
<tr>
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, 'order_payment[]', this.checked)"></th>
<th style="width: 400px">{l s='Name' mod='xmlfeeds'}</th>
</tr>
{foreach $paymentModules as $m}
<tr>
<td class="center">
<input type="checkbox" id="order_payment_{$m.name|escape:'htmlall':'UTF-8'}" name="order_payment[]"{if $m.name|in_array:$activeList} checked{/if} value="{$m.name|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="order_payment_{$m.name|escape:'htmlall':'UTF-8'}" class="t">{$m.displayName|escape:'htmlall':'UTF-8'}
</td>
</tr>
{/foreach}
</table>
<div class="order_payment_list_button" style="cursor: pointer; color: #268CCD; text-align: left; margin-top: 10px;">{l s='[Hide]' mod='xmlfeeds'}</div>
</div>

View File

@@ -0,0 +1,36 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="margin-right: 9px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div">
<tr>
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, 'order_state[]', this.checked)"></th>
<th>{l s='ID' mod='xmlfeeds'}</th>
<th style="width: 400px">{l s='Name' mod='xmlfeeds'}</th>
</tr>
{foreach $states as $m}
<tr>
<td class="center">
<input type="checkbox" id="order_state_{$m.id_order_state|escape:'htmlall':'UTF-8'}" name="order_state[]"{if $m.id_order_state|in_array:$activeList} checked{/if} value="{$m.id_order_state|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
{$m.id_order_state|escape:'htmlall':'UTF-8'}
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="order_state_{$m.id_order_state|escape:'htmlall':'UTF-8'}" class="t">{$m.name|escape:'htmlall':'UTF-8'}
</td>
</tr>
{/foreach}
</table>
<div class="order_state_list_button" style="cursor: pointer; color: #268CCD; text-align: left; margin-top: 10px;">{l s='[Hide]' mod='xmlfeeds'}</div>
</div>

View File

@@ -0,0 +1,116 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="cn_table">
<div class="cn_top">
<div class="cn_name">
{l s='Block name' mod='xmlfeeds'}
</div>
<div class="cn_status" style="width: 160px;">
{l s='Status' mod='xmlfeeds'}
</div>
<div class="cn_name_xml" style="padding-left: 3px; margin-right: 0;">
{l s='Name in XML' mod='xmlfeeds'}
</div>
</div>
<div class="cn_line block-name-box">
<div class="cn_name">{l s='Root branch' mod='xmlfeeds'}</div>
<div class="cn_status">
<label for="file-name" style="margin-top: 0;">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='file-name' name='file-name+status' status=$b_status['file-name']}
</label>
</div>
<div class="cn_name_xml" style="float: right;">
<input style="width: 235px;" type="text" name="file-name" value="{$b_name['file-name']|escape:'htmlall':'UTF-8'}" />
</div>
</div>
</div>
<div class="cb"></div>
<div class="cn_name-block-name">{l s='Item branch' mod='xmlfeeds'}</div>
<div style="float: right;"><input style="width: 235px;" type="text" name="cat-block-name" value="{$b_name['cat-block-name']|escape:'htmlall':'UTF-8'}"/></div>
<div class="cb"></div>
<div class="cn_name-block-name">{l s='Description' mod='xmlfeeds'}</div>
<div style="float: right;"><input style="width: 235px;"{if !empty($disabled_branch_name)} disabled="disabled" {/if}type="text" name="desc-block-name" value="{$b_name['desc-block-name']|escape:'htmlall':'UTF-8'}" /></div>
<div class="cb"></div>
<div class="cn_name-block-name">{l s='Images' mod='xmlfeeds'}</div>
<div style="float: right;"><input style="width: 235px;"{if !empty($disabled_branch_name)} disabled="disabled" {/if}type="text" name="img-block-name" value="{$b_name['img-block-name']|escape:'htmlall':'UTF-8'}"/></div>
<div class="cb"></div>
<div class="cn_name-block-name">{l s='Default category' mod='xmlfeeds'}</div>
<div style="float: right;"><input style="width: 235px;"{if !empty($disabled_branch_name)} disabled="disabled" {/if}type="text" name="def_cat-block-name" value="{$b_name['def_cat-block-name']|escape:'htmlall':'UTF-8'}"/></div>
<div class="cb"></div>
<div class="cn_name-block-name">{l s='Attributes' mod='xmlfeeds'}</div>
<div style="float: right;"><input style="width: 235px;"{if !empty($disabled_branch_name)} disabled="disabled" {/if}type="text" name="attributes-block-name" value="{$b_name['attributes-block-name']|escape:'htmlall':'UTF-8'}"/></div>
<div class="cb"></div>
<div class="cn_name-block-name" style="width: 200px;">{l s='Extra product rows' mod='xmlfeeds'}</div>
<div style="float: right; width: 325px;">
<textarea style="float: right; margin: 0; width: 100%; height: 69px;" name="extra-product-rows">{$b_name['extra-product-rows']|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">
{l s='Make sure that you have entered validate XML code' mod='xmlfeeds'}<br>
{l s='Example: <mytag>value</mytag>' mod='xmlfeeds'}
</div>
</div>
<div class="cb"></div>
{if $settings.feed_mode == 'pub' || $settings.feed_mode == 'twi'}
<div style="float: left; width: 200px;">{l s='Extra offer rows' mod='xmlfeeds'}</div>
<div style="float: right; width: 325px;">
<textarea style="float: right; margin: 0; width: 100%; height: 69px;" name="extra-offer-rows">{$b_name['extra-offer-rows']|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">{l s='[Make sure that you have entered validate XML code]' mod='xmlfeeds'}</div>
</div>
<div class="cb"></div>
{/if}
<br/>
<div class="info-small-blmod blmod_b10">
{l s='Please use a slash "/" in XML tag name if you need to display a field on the second level.' mod='xmlfeeds'}<br>
{l s='Example, XML tag name: shipping/price, result: <shipping><price>value</price></shipping>' mod='xmlfeeds'}<br><br>
{l s='Please use the' mod='xmlfeeds'} "<a target="_blank" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&add_affiliate_price=1">{l s='Affiliate price' mod='xmlfeeds'}</a>" {l s='feature if you need to add additional prices.' mod='xmlfeeds'}
</div>
<div style="margin-bottom: 10px;">
<div class="table_name">{l s='Database table connector' mod='xmlfeeds'}</div>
<div class="cb"></div>
<div class="cn_top">
<div class="cn_name" style="width: 190px;">
{l s='Connective column' mod='xmlfeeds'}
</div>
<div class="cn_name" style="width: 190px;">
{l s='Value column' mod='xmlfeeds'}
</div>
<div class="cn_name" style="width: 190px;">
{l s='XML tag name' mod='xmlfeeds'}
</div>
</div>
<div class="cb"></div>
<select style="display: inline-block; width: 170px; margin-right: 15px;" name="table_column_connector[0]">
<option value="">{l s='Column' mod='xmlfeeds'}</option>
{assign var="active_table" value="none"}
{foreach $databaseTables as $table => $columns}
<optgroup label="{$table|escape:'htmlall':'UTF-8'}">
{foreach $columns as $c}
{assign var="column_name" value="{$c|escape:'htmlall':'UTF-8'}+{$table|escape:'htmlall':'UTF-8'}"}
<option data-table="{$table|escape:'htmlall':'UTF-8'}" value="{$column_name|escape:'htmlall':'UTF-8'}"{if $customFields.column_connector.0 == $column_name} selected{assign var="active_table" value="{$table|escape:'htmlall':'UTF-8'}"}{/if}>{$c|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</optgroup>
{/foreach}
</select>
<select style="display: inline-block; width: 170px; margin-right: 15px;" name="table_column_value[0]">
<option value="">{l s='Column' mod='xmlfeeds'}</option>
{foreach $databaseTables as $table => $columns}
{if $active_table== $table}
{foreach $columns as $c}
<option value="{$c|escape:'htmlall':'UTF-8'}"{if $customFields.column_value.0 == $c} selected{/if}>{$c|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
{/foreach}
</select>
<input style="display: inline-block; width: 204px; vertical-align: bottom;" type="text" name="custom_field_name[0]" value="{$customFields.name.0}" />
<div class="bl_comments">[{l s='Here you can connect your custom table field. First, specify which column is used to join (product ID) the table, then specify which column is the value and enter XML tag name' mod='xmlfeeds'}]</div>
</div>

View File

@@ -0,0 +1,36 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div style="margin-right: 9px;">
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id = "radio_div">
<tr>
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, 'supplier[]', this.checked)"></th>
<th>{l s='ID' mod='xmlfeeds'}</th>
<th style="width: 400px">{l s='Name' mod='xmlfeeds'}</th>
</tr>
{foreach $suppliers as $m}
<tr>
<td class="center">
<input type="checkbox" id="supplier_{$m.id_supplier|escape:'htmlall':'UTF-8'}" name="supplier[]"{if $m.id_supplier|in_array:$activeList} checked{/if} value="{$m.id_supplier|escape:'htmlall':'UTF-8'}" class="noborder">
</td>
<td>
{$m.id_supplier|escape:'htmlall':'UTF-8'}
</td>
<td>
<label style="line-height: 26px; padding-left: 0;" for="supplier_{$m.id_supplier|escape:'htmlall':'UTF-8'}" class="t">{$m.name|escape:'htmlall':'UTF-8'}
</td>
</tr>
{/foreach}
</table>
<div class="supplier_list_button" style="cursor: pointer; color: #268CCD; text-align: left; margin-top: 10px;">{l s='[Hide]' mod='xmlfeeds'}</div>
</div>

View File

@@ -0,0 +1,24 @@
<?php
/**
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,20 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
{if !empty($notifications)}
{foreach $notifications as $n}
<div class="{$n.cssClass|escape:'htmlall':'UTF-8'} blmod_mt10">
<img src="{$moduleImgPath|escape:'htmlall':'UTF-8'}ok.gif" /> {$n.message}
</div>
{/foreach}
{/if}

View File

@@ -0,0 +1,17 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<label class="blmod-switch">
<input id="{$id|escape:'htmlall':'UTF-8'}" type="checkbox" name="{$name|escape:'htmlall':'UTF-8'}" value="1"{if !empty($status)} checked{/if}{if !empty($disabled)} disabled{/if}>
<span class="blmod-slider"></span>
</label>

View File

@@ -0,0 +1,24 @@
<?php
/**
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,86 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-list-alt"></i> {l s='XML Feeds' mod='xmlfeeds'}
</div>
<div class="row">
<i class="icon-cart-arrow-down menu-top-main-icon menu-top-item-icon"></i><span class="menu-top">{l s='Product feeds' mod='xmlfeeds'}</span><br/>
<div class="menu-top-feeds">
{if !empty($products)}
{foreach $products as $p}
<div class="menu-top-item">
<a class="menu-top-item-title{if $currentPage.type == 'edit' && $currentPage.id == $p.id} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page={$p.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{$p.name|escape:'htmlall':'UTF-8'}</a>
<a title="{l s='Statistics' mod='xmlfeeds'}" class="menu-top-statistics" style="margin-left: 5px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$p.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-bar-chart"></i></a>
<a title="{l s='Duplicate feed' mod='xmlfeeds'}" class="menu-top-duplicate" style="margin-left: 1px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&duplicate={$p.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-copy"></i></a>
<a title="{l s='Delete feed' mod='xmlfeeds'}" class="menu-top-delete" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&delete_feed={$p.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}" onclick="return confirm('{l s='Are you sure you want to delete?' mod='xmlfeeds'}')"><i class="icon-trash"></i></a>
</div>
{/foreach}
{/if}
</div>
</div>
<a class="menu-top-item mb15{if $currentPage.type == 'add_feed' && $currentPage.id == 1} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&add_feed=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-plus-circle menu-top-item-icon"></i>{l s='Add new feed' mod='xmlfeeds'}</a>
<a class="menu-top-item{if $currentPage.type == 'add_affiliate_price'} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&add_affiliate_price=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-calculator menu-top-item-icon"></i>{l s='Affiliate prices' mod='xmlfeeds'}</a>
<a class="menu-top-item{if $currentPage.type == 'google_cat_assign'} menu-a{/if}" style="display: inline-block;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&google_cat_assign=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-folder menu-top-item-icon"></i>{l s='Categories mapping' mod='xmlfeeds'}</a>
<a class="menu-top-item{if $currentPage.type == 'attributes_mapping'} menu-a{/if}" style="display: inline-block;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&attributes_mapping=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-tag menu-top-item-icon"></i>{l s='Attributes mapping' mod='xmlfeeds'}</a>
<a class="menu-top-item{if $currentPage.type == 'features_mapping'} menu-a{/if}" style="display: inline-block;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&features_mapping=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-plug menu-top-item-icon"></i>{l s='Features mapping' mod='xmlfeeds'}</a>
<a class="menu-top-item{if $currentPage.type == 'product_list_page'} menu-a{/if}" style="display: inline-block;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&product_list_page=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-list menu-top-item-icon"></i>{l s='Product list' mod='xmlfeeds'}</a>
<div>
<hr/>
<i class="icon-folder-open menu-top-main-icon menu-top-item-icon"></i><span class="menu-top">{l s='Category feeds' mod='xmlfeeds'}</span><br/>
<div class="menu-top-feeds">
{if !empty($categories)}
{foreach $categories as $c}
<div class="menu-top-item">
<a class="menu-top-item-title{if $currentPage.type == 'edit' && $currentPage.id == $c.id} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page={$c.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{$c.name|escape:'htmlall':'UTF-8'}</a>
<a title="{l s='Statistics' mod='xmlfeeds'}" class="menu-top-statistics" style="margin-left: 5px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$c.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-bar-chart"></i></a>
<a title="{l s='Duplicate feed' mod='xmlfeeds'}" class="menu-top-duplicate" style="margin-left: 5px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&duplicate={$c.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-copy"></i></a>
<a title="{l s='Delete feed' mod='xmlfeeds'}" class="menu-top-delete" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&delete_feed={$c.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}" onclick="return confirm('{l s='Are you sure you want to delete?' mod='xmlfeeds'}')"><i class="icon-trash"></i></a>
</div>
{/foreach}
{/if}
</div>
<a class="menu-top-item{if $currentPage.type == 'add_feed' && $currentPage.id == 2} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&add_feed=2{$token|escape:'htmlall':'UTF-8'}"><i class="icon-plus-circle menu-top-item-icon"></i>{l s='Add new feed' mod='xmlfeeds'}</a>
<div>
<hr/>
<i class="icon-credit-card menu-top-main-icon menu-top-item-icon"></i><span class="menu-top">{l s='Order feeds' mod='xmlfeeds'}</span><br/>
</div>
<div class="menu-top-feeds">
{if !empty($orders)}
{foreach $orders as $o}
<div class="menu-top-item">
<a class="menu-top-item-title{if $currentPage.type == 'edit' && $currentPage.id == $o.id} menu-a{/if}" style="" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page={$o.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{$o.name|escape:'htmlall':'UTF-8'}</a>
<a title="{l s='Statistics' mod='xmlfeeds'}" class="menu-top-statistics" style="margin-left: 5px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$o.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-bar-chart"></i></a>
<a title="{l s='Duplicate feed' mod='xmlfeeds'}" class="menu-top-duplicate" style="margin-left: 1px;" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&duplicate={$o.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}"><i class="icon-copy"></i></a>
<a title="{l s='Delete feed' mod='xmlfeeds'}" class="menu-top-delete" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&delete_feed={$o.id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}" onclick="return confirm('{l s='Are you sure you want to delete?' mod='xmlfeeds'}')"><i class="icon-trash"></i></a>
</div>
{/foreach}
{/if}
</div>
<a class="menu-top-item{if $currentPage.type == 'add_feed' && $currentPage.id == 3} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&add_feed=3{$token|escape:'htmlall':'UTF-8'}"><i class="icon-plus-circle menu-top-item-icon"></i>{l s='Add new feed' mod='xmlfeeds'}</a>
<hr/>
<div>
<a class="menu-top-item{if $currentPage.id == 4} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page=4{$token|escape:'htmlall':'UTF-8'}"><i class="icon-user menu-top-item-icon"></i>{l s='Export customers' mod='xmlfeeds'}</a>
</div>
<div>
<a class="menu-top-item{if $currentPage.id == 5} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page=5{$token|escape:'htmlall':'UTF-8'}"><i class="icon-flag menu-top-item-icon"></i>{l s='Export brands' mod='xmlfeeds'}</a>
</div>
<div>
<a class="menu-top-item{if $currentPage.id == 6} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&page=6{$token|escape:'htmlall':'UTF-8'}"><i class="icon-truck menu-top-item-icon"></i>{l s='Export suppliers' mod='xmlfeeds'}</a>
</div>
<div>
<a class="menu-top-item{if $currentPage.type == 'about_page'} menu-a{/if}" href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&about_page=1{$token|escape:'htmlall':'UTF-8'}"><i class="icon-info-circle menu-top-item-icon"></i>{l s='About' mod='xmlfeeds'}</a>
</div>
</div>
</div><br/><br/>

View File

@@ -0,0 +1,37 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-question-circle"></i> {l s='About' mod='xmlfeeds'}
</div>
<div class="row">
<div class="blmod_about">
<div style="float: right;">
<div style="float: right;">
<a href="https://addons.prestashop.com/en/data-import-export/5732-xml-feeds-pro.html" target="_blank">
<img style="border: 1px solid #CCCED7; padding: 0;" alt="Bl Modules" title="Bl Modules home page" src="../modules/{$name|escape:'htmlall':'UTF-8'}/views/img/blmod_logo.png" />
</a>
</div>
</div>
<div style="float: left; width: 350px;">
{l s='Module descriotion at' mod='xmlfeeds'} <a href="https://addons.prestashop.com/en/data-import-export/5732-xml-feeds-pro.html" target="_blank">addons.prestashop.com</a><br/>
{l s='You can contact us via' mod='xmlfeeds'} <a href="{$contactUsUrl|escape:'htmlall':'UTF-8'}" target="_blank">Prestashop messenger</a><br/>
<a href="{$manualPdfUrl|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Download the module manual' mod='xmlfeeds'}</a><br/><br>
<a class="bl_comments" style="color: #7F7F7F; text-decoration: underline;" href="{$databaseUpgradeUrl|escape:'htmlall':'UTF-8'}">{l s='Run module database upgrade' mod='xmlfeeds'}</a><br/>
<a target="_blank" class="bl_comments" style="color: #7F7F7F; text-decoration: underline;" href="{$exportSettingsUrl|escape:'htmlall':'UTF-8'}">{l s='Export module settings' mod='xmlfeeds'}</a><br/>
</div>
<div class="cb"></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,47 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div id="content" class="bootstrap content_blmod">
<div class="bootstrap">
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Access log' mod='xmlfeeds'}
</div>
<div class="row">
<div class="blmod_clicks_list">
<div id="blmod_clicks_title" class="blmod_clicks_row blmod_clicks_title">
<div class="blmod_clicks_ip">{l s='Action' mod='xmlfeeds'}</div>
<div class="blmod_clicks_date">{l s='Date' mod='xmlfeeds'}</div>
<div class="blmod_clicks_url">{l s='Param' mod='xmlfeeds'}</div>
<div class="cb"></div>
</div>
{foreach $logs as $l}
<div class="blmod_clicks_row">
<div class="blmod_clicks_ip">{$l.action|escape:'htmlall':'UTF-8'}{if !empty($l.is_cron)}_cron{/if}</div>
<div class="blmod_clicks_date">{$l.created_at|escape:'htmlall':'UTF-8'}</div>
<div class="blmod_clicks_url">
<span class="button-title blmod_tooltip"><span class="custom info"><em>$_GET param</em><br><code>{$l.get_param|escape:'htmlall':'UTF-8'}</code></span>GET</span>
<span class="button-title blmod_ml15 blmod_tooltip"><span class="custom info"><em>$argv param</em><br><code>{$l.argv_param|escape:'htmlall':'UTF-8'}</code></span>ARGV</span>
<span class="blmod_ml15" title="{l s='Session ID' mod='xmlfeeds'}">{$l.session_id|escape:'htmlall':'UTF-8'}</span>
</div>
<div class="cb"></div>
</div>
{/foreach}
</div>
<div class="clear_block"></div>
<div style="margin-top: 5px; text-align: right;" class="bl_comments">{$limit|escape:'htmlall':'UTF-8'} {l s='rows limit' mod='xmlfeeds'}</div>
</div>
</div>
<div class="clear_block"></div>
</div>
</div>

View File

@@ -0,0 +1,126 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<form action="{$postUrl|escape:'htmlall':'UTF-8'}" method="post">
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Create a new affiliate price' mod='xmlfeeds'}
</div>
<div class="row">
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td class="settings-column-name" style="width: 150px;">
{l s='Price name' mod='xmlfeeds'}
</td>
<td>
<input style="max-width: 462px;" type="text" name="price_name" value="" required>
</td>
</tr>
<tr>
<td class="settings-column-name" style="width: 150px;">
{l s='XML tag name' mod='xmlfeeds'}
</td>
<td>
<input style="max-width: 462px;" type="text" name="xml_name" value="" required>
</td>
</tr>
<tr>
<td class="al-t settings-column-name" style="width: 150px; padding-top: 6px;">
{l s='Price formula' mod='xmlfeeds'}
</td>
<td>
<input style="max-width: 462px;" type="text" name="price" value="" required>
<div class="bl_comments price-formula-text">[{l s='Words' mod='xmlfeeds'} "<span>base_price</span>", "<span>sale_price</span>", "<span>tax_price</span>", "<span>shipping_price</span>", "<span>price_without_discount</span>", "<span>wholesale_price</span>" {l s='will be replaced by appropriate product value. Example of a formula: sale_price - 15' mod='xmlfeeds'}]</div>
</td>
</tr>
<tr>
<td class="al-t settings-column-name" style="width: 150px; padding-top: 6px;">
{l s='Only with specified categories' mod='xmlfeeds'}
</td>
<td>
<script type="text/javascript">
$(document).ready(function() {
boxToggle("categories_list");
});
</script>
<label for="products_categories">
{include file="{$tpl_dir}/views/templates/admin/helper/status.tpl" id='products_categories' name='categories' status=0}
</label>
<span class="categories_list_button" style="cursor: pointer; color: #268CCD; margin-left: 10px;">{l s='[Show/Hide categories]' mod='xmlfeeds'}</span>
<div class="categories_list" style="display: none; margin-top: 20px;">
<div>
<label class="blmod_mr20">
<input type="radio" name="category_type" value="0" checked="checked"> {l s='Filter by main category' mod='xmlfeeds'}
</label>
<label class="">
<input type="radio" name="category_type" value="1"> {l s='Filter by all categories' mod='xmlfeeds'}
</label>
<div class="cb"></div>
</div>
{$categoriesTree}
</div>
</td>
</tr>
</table>
<input type="hidden" name="add_affiliate_action" value="1">
<center><input type="submit" name="add_affiliate_price" value="{l s='Create new' mod='xmlfeeds'}" class="btn btn-primary blmod_mt10i" /></center>
{if !empty($prices)}
<table cellspacing="0" cellpadding="0" class="table blmod-table-light" id="radio_div">
<tbody>
<tr>
<th>{l s='Name' mod='xmlfeeds'}</th>
<th>{l s='XML tag' mod='xmlfeeds'}</th>
<th>{l s='Formula' mod='xmlfeeds'}</th>
<th style="text-align: right;">{l s='Delete' mod='xmlfeeds'}</th>
</tr>
{foreach $prices as $p}
<tr>
<td{if !empty($p.categories_names)} class="blmod-table-light"{/if}>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_1" class="t">
{$p.affiliate_name|escape:'htmlall':'UTF-8'}
</label>
</td>
<td{if !empty($p.categories_names)} class="blmod-table-light"{/if}>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_1" class="t">
{$p.xml_name|escape:'htmlall':'UTF-8'}
</label>
</td>
<td{if !empty($p.categories_names)} class="blmod-table-light"{/if}>
<label style="line-height: 26px; padding-left: 0;" for="affiliate_1" class="t">
{$p.affiliate_formula|escape:'htmlall':'UTF-8'}
</label>
</td>
<td{if !empty($p.categories_names)} class="blmod-table-light"{/if}>
<a href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&add_affiliate_price=1&delete_affiliate_price={$p.affiliate_id|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}" onclick="return confirm('{l s='Are you sure you want to delete?' mod='xmlfeeds'}')">
<div title="{l s='Remove' mod='xmlfeeds'}" class="search_drop_product product-list-row">
<i class="icon-trash" title="{l s='Remove from list' mod='xmlfeeds'}"></i>
</div>
</a>
</td>
</tr>
{if !empty($p.categories_names)}
<tr>
<td colspan="4">
<div class="bl_comments" style="font-style: italic;">
Categories: {$p.categories_names|escape:'htmlall':'UTF-8'}
</div>
</td>
</tr>
{/if}
{/foreach}
</tbody>
</table>
{/if}
</div>
</div>
</form>

View File

@@ -0,0 +1,87 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<link rel="stylesheet" href="../modules/xmlfeeds/views/css/jquery-ui.css">
<script src="../modules/xmlfeeds/views/js/jquery-ui.js"></script>
<script type="text/javascript">
var ga_cat_blmod = [{$categoriesList}];
</script>
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Category map file' mod='xmlfeeds'}
</div>
<div class="row">
<form action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post" enctype="multipart/form-data">
<input style="width: 282px; margin-right: 15px;" type="text" placeholder="{l s='Category map name' mod='xmlfeeds'}" name="category_map_name" value="" required/>
<input style="display: inline-block; height: 31px; border-radius: 3px; padding-top: 5px; width: 280px;" type="file" name="map_file" accept=".txt" required>
<div id="category-map-instruction-action" class="bl_comments" style="margin-top: 5px; cursor: pointer;">[{l s='Show category map file requrement' mod='xmlfeeds'}]</div>
<div style="display: none;" id="category-map-instruction-box">
<ul class="blmod-instruction">
<li>{l s='Allowed file format is plain text with .txt extension (example: google_En.txt)' mod='xmlfeeds'}</li>
<li>
{l s='The data row consists of category ID and name separated by a dash ( - )' mod='xmlfeeds'}<br>
{l s='(example: 1 - Toys > Puzzles )' mod='xmlfeeds'}
</li>
<li>
{l s='Category and subcategory delimiter is not important, you can use any characters' mod='xmlfeeds'}<br>
{l s='(example: 1 - Toys > Puzzles )' mod='xmlfeeds'}, {l s='(example: 1 - Toys | Puzzles )' mod='xmlfeeds'}, {l s='(example: 1 - Toys Puzzles )' mod='xmlfeeds'}
</li>
<li><a style="color: #268CCD;" target="_blank" href="{$instructionUlr|escape:'htmlall':'UTF-8'}" download>{l s='Download a sample file' mod='xmlfeeds'}</a> </li>
</ul>
</div>
<center>
<input style="text-align: center; margin-top: 20px;" class="btn btn-secondary" type="submit" name="select_category_type" value="{l s='Upload new' mod='xmlfeeds'}">
</center>
<div class="cb"><br></div>
</form>
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Category mapping' mod='xmlfeeds'}
</div>
<div class="row">
<form style="border-bottom: solid 1px #EAEDEF; margin-bottom: 10px;" action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
{if !empty($type)}
<input style="float: right;" class="btn btn-secondary" type="submit" name="select_category_type" value="{l s='Select' mod='xmlfeeds'}">
{/if}
<select style="float: left; width: 517px; margin-bottom: 15px;" name="category_type">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $list as $l}
<option value="{$l.id|escape:'htmlall':'UTF-8'}"{if $type eq $l.id} selected{/if}>{$l.title|escape:'htmlall':'UTF-8'}</option>
{if $type eq $l.id}
{assign var="caregoryName" value={$l.title|escape:'htmlall':'UTF-8'}}
{/if}
{/foreach}
</select>
<div class="cb"><br></div>
</form>
<form action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
<a style="margin-right: 15px;" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&google_cat_assign=1&category_map_delete={$type|escape:'htmlall':'UTF-8'}" class="bl_comments delete-link-alert" onclick="return confirm('{l s='Are you sure you want to delete category map file?' mod='xmlfeeds'}')">{l s='Delete map file' mod='xmlfeeds'}</a>
<a href="{$mapFileUrl|escape:'htmlall':'UTF-8'}" target="_blank" class="bl_comments" download>{l s='Download map file' mod='xmlfeeds'}</a>
<input style="float: right;" type="submit" name="update_ga_cat" value="Update" class="btn btn-primary">
<div class="cb"><br></div>
<div class="info-small-blmod blmod_b10 blmod_mt10">
{l s='Please select a category from suggestion list, enter at least 3 letters to display the list.' mod='xmlfeeds'}<br>
{l s='Letters can be from any part of the word.' mod='xmlfeeds'}<br>
{if !empty($caregoryName)}
<br>{l s='You can view the full list of' mod='xmlfeeds'} <a target="_blank" href="{$mapFileUrl|escape:'htmlall':'UTF-8'}">{$caregoryName|escape:'htmlall':'UTF-8'}</a> {l s='categories.' mod='xmlfeeds'}
{/if}
</div>
{$categoriesTree}
<input style="float: right; margin-top: 10px;" type="submit" name="update_ga_cat" value="Update" class="btn btn-primary">
<input type="hidden" name="category_type" value="{$type|escape:'htmlall':'UTF-8'}"/>
<div class="cb"><br></div>
</form>
</div>
</div>

View File

@@ -0,0 +1,69 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<form id="add-new-feed" action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Create a new XML feed' mod='xmlfeeds'}
</div>
<div class="row">
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td class="settings-column-name" style="width: 125px;">{l s='Feed name' mod='xmlfeeds'}</td>
<td>
<input id="new-feed-name" style="max-width: 462px;" type="text" name="name" value="" autocomplete="off" required>
</td>
</tr>
{if $feed_type eq '1'}
<tr>
<td><br></td>
<td>
<div class="info-small-blmod blmod_mt15">
{l s='Here you can find the most popular XML templates. They are already fully prepared for you to use with just one click.' mod='xmlfeeds'}<br>
{l s='If you need, feel free to customize XML templates to suit your individual needs.' mod='xmlfeeds'}<br>
{l s='Of course, you can also create your own unique from scratch.' mod='xmlfeeds'}<br>
</div>
</td>
</tr>
<tr>
<td class="settings-column-name al-t" style="width: 125px;">
{l s='XML structure' mod='xmlfeeds'}
</td>
<td>
<div class="option-box-title blmod_m20 cd">{l s='Most popular templates:' mod='xmlfeeds'}</div>
{include file="{$tpl_dir}/views/templates/admin/element/feedTypeList.tpl" feedTypeList=$mostPopularTypeList}
<div class="blmod_cb"></div>
<div class="option-box-title blmod_m20 cd">{l s='Templates by alphabet:' mod='xmlfeeds'}</div>
<div id="search-feed-box">
<img src="{$moduleImgPath|escape:'htmlall':'UTF-8'}search-blue.png" style="position: relative; top: 0; left: 2px;" />
<input id="search-feed-type" class="feed-search-input" type="text" value="" placeholder="{l s='Search by name' mod='xmlfeeds'}">
</div>
<div id="types-by-alphabet">
{include file="{$tpl_dir}/views/templates/admin/element/feedTypeList.tpl" feedTypeList=$feedTypeList}
</div>
<div class="cb"></div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
{/if}
</table>
<input type="hidden" name="feed_type" value="{$feed_type|escape:'htmlall':'UTF-8'}">
<center>
<input {if $feed_type eq '1'}style="display: none;"{/if} type="submit" name="add_new_feed_insert" value="{l s='Create new' mod='xmlfeeds'}" class="btn btn-primary blmod_mt15i" />
</center>
</div>
</div>
</form>
<br/>

View File

@@ -0,0 +1,26 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='XML Feed fields' mod='xmlfeeds'}
</div>
<div class="row">
{{$inputsHtml}}
<br/>
<input type="hidden" name="feeds_id" value="{$page|escape:'htmlall':'UTF-8'}" />
<input type="hidden" name="is_category_feed" value="1" />
<div style="text-align: center;"><input type="submit" name="settings_cat" value="{l s='Update' mod='xmlfeeds'}" class="btn btn-primary" /></div>
</div>
</div>
</form>

View File

@@ -0,0 +1,180 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-external-link"></i> {l s='XML File' mod='xmlfeeds'}
</div>
<div class="row">
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td>
{if !empty($linkZip)}
<input style="margin-bottom: 13px;" type="text" name="xml_link_zip" value="{$linkZip|escape:'htmlall':'UTF-8'}" /><br/>
{if empty($isZipFileExists)}
<div class="alert-small-blmod blmod_mb20">{$compressorName|escape:'htmlall':'UTF-8'} {l s='file is emtpy. You need to generate it, please run CRON or click on "Open XML".' mod='xmlfeeds'}</div>
{/if}
{/if}
{if empty($s.use_cron)}
<div id="url_file_box">
<input id="feed_url" style="margin-bottom: 13px;" type="text" name="xml_link" value="{$link|escape:'htmlall':'UTF-8'}" /><br/>
<a id="feed_url_open" class="btn btn-info" href="{$link|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Open XML' mod='xmlfeeds'}</a>
<a id="feed_url_download" class="btn btn-info blmod_ml10i" href="{$link|escape:'htmlall':'UTF-8'}&download=1" target="_blank">{l s='Download XML' mod='xmlfeeds'}</a>
{if !empty($linkZip)}
<a class="btn btn-info blmod_ml10i" href="{$linkZip|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Download ' mod='xmlfeeds'}{$compressorName|escape:'htmlall':'UTF-8'}</a>
{/if}
<div id="feed_url_copy" class="feed_url_copy_action btn btn-info blmod_ml10i">{l s='Copy URL' mod='xmlfeeds'}</div>
{if !empty($multistore_status)}
<div id="multistore_url" class="bl_comments" style="float: right; cursor: pointer; padding-right: 4px;">{l s='[Show/Hide Multistore options]' mod='xmlfeeds'}</div>
<div id="multistore_url_list" style="margin-top: 15px; display:none;">
{foreach $multistore as $h}
<div>
<hr/>
<label for="multistore_{$h.id_shop|escape:'htmlall':'UTF-8'}"><input id="multistore_{$h.id_shop|escape:'htmlall':'UTF-8'}" class="multistore_url_checkbox" type="checkbox" name="status" value="{$h.id_shop|escape:'htmlall':'UTF-8'}"> {$h.name|escape:'htmlall':'UTF-8'}</label>
</div>
{/foreach}
</div>
{/if}
</div>
{/if}
{if $s.feed_mode == 'pub' || $s.feed_mode == 'twi'}
<div style="margin-top: 20px;">
<div>
<div style="margin-bottom: 2px; color: #3586AE; font-size: 13px;">{l s='Products XML feed:' mod='xmlfeeds'}</div>
<input style="margin-bottom: 13px; width: 490px; margin-right: 10px; vertical-align: top;" type="text" value="{$link|escape:'htmlall':'UTF-8'}&type=products" />
<a class="btn btn-info" href="{$link|escape:'htmlall':'UTF-8'}&type=products" target="_blank">{l s='Open XML' mod='xmlfeeds'}</a>
</div>
<div>
<div style="margin-bottom: 2px; color: #3586AE; font-size: 13px;">{l s='Offers XML feed:' mod='xmlfeeds'}</div>
<input style="margin-bottom: 13px; width: 490px; margin-right: 10px; vertical-align: top;" type="text" value="{$link|escape:'htmlall':'UTF-8'}&type=offers" />
<a class="btn btn-info" href="{$link|escape:'htmlall':'UTF-8'}&type=offers" target="_blank">{l s='Open XML' mod='xmlfeeds'}</a>
</div>
</div>
{/if}
{if !empty($s.use_cron)}
<div id="cron_file_box">
<p>
<input id="feed_url" style="width: 98%; margin-bottom: 10px;" type="text" value="{$cronXmlFile|escape:'htmlall':'UTF-8'}" />
<input id="cron_path_original" type="hidden" value="{$cronXmlFile|escape:'htmlall':'UTF-8'}" />
</p>
{if empty($s.last_cron_date) || $s.last_cron_date == '-' || $s.last_cron_date == '0000-00-00 00:00:00'}
<div class="alert-small-blmod blmod_mt10 blmod_mb15">
{l s='Cron is enabled, but not yet launched.' mod='xmlfeeds'}<br>
{l s='You can read the installation instructions' mod='xmlfeeds'} <span class="show_cron_install" style="cursor: pointer; color: #268CCD;">{l s='here' mod='xmlfeeds'}</span>.<br><br>
{l s='P.S. Cron is useful only when you have a lot of products and server is very slow. Our module can update a feed (products, orders, etc..) automatically by self without a cron.' mod='xmlfeeds'}<br>
</div>
{else}
<a id="feed_url_open" class="btn btn-info" href="{$cronXmlFile|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Open' mod='xmlfeeds'}</a>
<a id="feed_url_download" class="btn btn-info blmod_ml10i" href="{$cronXmlFile|escape:'htmlall':'UTF-8'}" download>{l s='Download' mod='xmlfeeds'}</a>
{if !empty($linkZip)}
<a class="btn btn-info blmod_ml10i" href="{$linkZip|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Download ' mod='xmlfeeds'}{$compressorName|escape:'htmlall':'UTF-8'}</a>
{/if}
<div id="feed_url_copy" class="feed_url_copy_action btn btn-info blmod_ml10i">{l s='Copy url' mod='xmlfeeds'}</div>
<p style="font-size: 13px; margin-top: 20px;">{l s='Last cron activity:' mod='xmlfeeds'} {$s.last_cron_date|escape:'htmlall':'UTF-8'}</p>
{/if}
<div class="show_cron_install" style="float: left; cursor: pointer; color: #268CCD;">{l s='[Show/hide cron installation instructions]' mod='xmlfeeds'}</div>
<div style="float: left; cursor: pointer; color: #268CCD; margin-left: 10px;"><a style="color: #268CCD;" target="_blank" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&page={$page|escape:'htmlall':'UTF-8'}&access_log=1">{l s='[Access log]' mod='xmlfeeds'}</a></div>
<div class="blmod_cb"><br></div>
<div id="cron_install_instruction" style="display: none;">
<p style="margin-bottom: 10px;">{l s='There are three options for how to execute cron job. The first and most common is run from a server side and the second is call from remote server.' mod='xmlfeeds'}</p>
<p><b>{l s='1. Install cron from a server command line (shell) or admin panel' mod='xmlfeeds'}</b></p>
<p>{l s='1. 1. Execute crontab -e (cron edit page) command' mod='xmlfeeds'}</p>
<p>{l s='1. 2. In a new line enter the cron command (data will be updated every 2 hours):' mod='xmlfeeds'} </p>
<p><input id="cron_command" style="width: 98%;" type="text" value="{$cronCommand|escape:'htmlall':'UTF-8'}" /><input id="cron_command_original" type="hidden" value="{$cronCommand|escape:'htmlall':'UTF-8'}" /></p>
<p>1. 3. Save the cron (<kbd>Ctrl</kbd> + <kbd>X</kbd>, answer by pressing <kbd>Y</kbd> to save changes and <kbd>Enter</kbd> to confirm)</p>
<p style="margin-top: 15px;"><b>{l s='2. Run cron from URL or a remote server' mod='xmlfeeds'}</b></p>
<p>{l s='URL to execute XML feed via cron:' mod='xmlfeeds'}</p>
<p><input style="width: 98%;" type="text" name="xml_link_cron_outside" value="{$link|escape:'htmlall':'UTF-8'}" /></p>
<p style="margin-top: 15px;"><b>{l s='3. Setup cron with cPanel, Plesk, DirectAdmin or another server management tool' mod='xmlfeeds'}</b></p>
</div>
</div>
{/if}
</td>
</tr>
</table>
</div>
</div>
<div class="cb"></div>
<form action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post" autocomplete="off">
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='XML Feed settings' mod='xmlfeeds'}
</div>
{if $s.feed_type eq 1}
<div id="product-feed-settings" class="row">
<div id="option_box_1" class="option-box">
<div id="option-box-title_1" class="option-box-title">General <i class="icon-angle-up"></i></div>
<div id="option-box-content_1" class="option-box-content" style="display: block;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/general.tpl" s=$s page=$page moduleImgPath=$moduleImgPath name=$name countries=$countries productSettingsPackagesList=$productSettingsPackagesList productAttributes=$productAttributes groups=$groups}
</div>
</div>
<div id="option_box_2" class="option-box">
<div id="option-box-title_2" class="option-box-title">Fields <i class="icon-angle-down"></i></div>
<div id="option-box-content_2" class="option-box-content" style="display: none;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/fields.tpl" s=$s page=$page moduleImgPath=$moduleImgPath categoryMapList=$categoryMapList categoriesTreeGender=$categoriesTreeGender}
</div>
</div>
<div id="option_box_3" class="option-box">
<div id="option-box-title_3" class="option-box-title">XML structure <i class="icon-angle-down"></i></div>
<div id="option-box-content_3" class="option-box-content" style="display: none;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/xmlStructure.tpl" s=$s page=$page moduleImgPath=$moduleImgPath groups=$groups productListWithXmlTags=$productListWithXmlTags}
</div>
</div>
<div id="option_box_4" class="option-box">
<div id="option-box-title_4" class="option-box-title">Price <i class="icon-angle-down"></i></div>
<div id="option-box-content_4" class="option-box-content" style="display: none;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/price.tpl" s=$s page=$page moduleImgPath=$moduleImgPath priceFromList=$priceFromList currencyList=$currencyList}
</div>
</div>
<div id="option_box_5" class="option-box">
<div id="option-box-title_5" class="option-box-title">Filter <i class="icon-angle-down"></i></div>
<div id="option-box-content_5" class="option-box-content" style="display: none;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/filter.tpl" s=$s page=$page moduleImgPath=$moduleImgPath priceFrom=$priceFrom priceTo=$priceTo productListSettingsPage=$productListSettingsPage supplierList=$supplierList categoriesTree=$categoriesTree categoriesTreeL=$categoriesTreeL manufacturersList=$manufacturersList productListSettingsPage=$productListSettingsPage filterAttributes=$filterAttributes filterWithoutAttributes=$filterWithoutAttributes featuresWithValues=$featuresWithValues}
</div>
</div>
<div id="option_box_6" class="option-box blmod_b20">
<div id="option-box-title_6" class="option-box-title">Product title editor <i class="icon-angle-down"></i></div>
<div id="option-box-content_6" class="option-box-content" style="display: none;">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/productTitleEditor.tpl" s=$s page=$page productTitleEditorValues=$productTitleEditorValues productTitleEditorElementsList=$productTitleEditorElementsList attributesGroups=$groups productTitleEditorNewElements=$productTitleEditorNewElements}
</div>
</div>
{/if}
{if $s.feed_type eq 2}
<div id="category-feed-settings" class="row option-box-content">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/general.tpl" s=$s page=$page moduleImgPath=$moduleImgPath name=$name countries=$countries productSettingsPackagesList=$productSettingsPackagesList groups=$groups}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/xmlStructure.tpl" s=$s page=$page moduleImgPath=$moduleImgPath groups=$groups}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/categoryExtra.tpl" s=$s page=$page moduleImgPath=$moduleImgPath}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/fields.tpl" s=$s page=$page moduleImgPath=$moduleImgPath}
{/if}
{if $s.feed_type eq 3}
<div id="category-feed-settings" class="row option-box-content order-feed-settings">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/general.tpl" s=$s page=$page moduleImgPath=$moduleImgPath name=$name countries=$countries productSettingsPackagesList=$productSettingsPackagesList groups=$groups}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/price.tpl" s=$s page=$page moduleImgPath=$moduleImgPath priceFromList=$priceFromList currencyList=$currencyList}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/fields.tpl" s=$s page=$page moduleImgPath=$moduleImgPath}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/xmlStructure.tpl" s=$s page=$page moduleImgPath=$moduleImgPath groups=$groups}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/orderExtra.tpl" s=$s page=$page moduleImgPath=$moduleImgPath filterDateType=$filterDateTypes FILTER_DATE_DATE_RANGE=$FILTER_DATE_DATE_RANGE FILTER_DATE_CUSTOM_DAYS=$FILTER_DATE_CUSTOM_DAYS orderStatusList=$orderStatusList}
{/if}
{if $s.feed_type eq 4 || $s.feed_type eq 5 || $s.feed_type eq 6}
<div id="category-feed-settings" class="row option-box-content">
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/general.tpl" s=$s page=$page moduleImgPath=$moduleImgPath name=$name countries=$countries productSettingsPackagesList=$productSettingsPackagesList groups=$groups}
{include file="{$tpl_dir}/views/templates/admin/editFeedTabs/xmlStructure.tpl" s=$s page=$page moduleImgPath=$moduleImgPath groups=$groups}
{/if}
<div class="cb"></div>
<div style="text-align: center;" class="blmod_mt10">
<input type="submit" name="update_feeds_s" value="Update" class="btn btn-primary" />
<input style="margin-left: 10px; font-weight: normal;" type="submit" name="clear_cache" value="Clear cache" class="btn btn-secondary" />
</div>
<input type="hidden" name="feeds_name" value="{$page|escape:'htmlall':'UTF-8'}" />
</div>
</div>
<br/>

View File

@@ -0,0 +1,24 @@
<?php
/**
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,26 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='XML Feed fields' mod='xmlfeeds'}
</div>
<div class="row">
{{$inputsHtml}}
<br/>
<input type="hidden" name="feeds_id" value="{$page|escape:'htmlall':'UTF-8'}" />
<input type="hidden" name="is_order_feed" value="1" />
<div style="text-align: center;"><input type="submit" name="settings_cat" value="{l s='Update' mod='xmlfeeds'}" class="btn btn-primary" /></div>
</div>
</div>
</form>

View File

@@ -0,0 +1,28 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='XML Feed fields' mod='xmlfeeds'}
</div>
<div class="row">
{{$inputsHtml}}
<br/>
<input type="hidden" name="feeds_id" value="{$page|escape:'htmlall':'UTF-8'}" />
<input type="hidden" name="is_product_feed" value="1" />
<div style="text-align: center;">
<input type="submit" name="settings_prod" value="{l s='Update' mod='xmlfeeds'}" class="btn btn-primary" />
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,189 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div id="content" class="bootstrap content_blmod">
<div class="bootstrap">
<form action="{$postUrl|escape:'htmlall':'UTF-8'}" method="post">
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Product list' mod='xmlfeeds'}
</div>
<div class="row">
{assign var="totalProducts" value="0"}
{if empty($productListId)}
<input style="width: 300px;" type="text" name="product_list_name" placeholder="{l s='Product list name' mod='xmlfeeds'}" />
<input style="margin-left: 10px;" type="submit" name="add_product_list" value="{l s='Create new list' mod='xmlfeeds'}" class="btn btn-secondary">
<div class="cb"><br></div>
<hr>
{/if}
<select id="product_list_menu" style="width: 300px; float: left;" name="product_list_id">
<option value="0" disabled {if empty($productListId)} selected{/if}>{l s='Select product list' mod='xmlfeeds'}</option>
{foreach $productListGroup as $p}
<option value="{$p.id|escape:'htmlall':'UTF-8'}"{if $p['id'] == $productListId} selected{assign var="totalProducts" value="{$p.total_products|escape:'htmlall':'UTF-8'}"}{/if}>
{$p.name|escape:'htmlall':'UTF-8'} ({$p.total_products|escape:'htmlall':'UTF-8'})
</option>
{/foreach}
</select>
<input id="product_list_select" style="display: none;" type="submit" name="select_product_list" value="Select" class="button">
{if !empty($productListId)}
<a href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&product_list_page=1&delete_product_list={$productListId|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}" onclick="return confirm('{l s='Are you sure you want to delete?' mod='xmlfeeds'}')">
<span class="delete-button-link" style="float: right">{l s='Delete' mod='xmlfeeds'}</span>
<div class="cb"><br></div>
</a>
{/if}
<div class="cb"><br></div>
{if !empty($productListId)}
<div id="product-list-total-selected" class="blmod_mt10" style="font-size: 13px;">
{l s='Total products in the list:' mod='xmlfeeds'} <span>{$totalProducts|escape:'htmlall':'UTF-8'}</span>
</div>
{/if}
</div>
</div>
{if !empty($productListId)}
<div class="panel">
<div class="panel-heading">
<i class="icon-cart-arrow-down"></i> {l s='Search by product name or ID' mod='xmlfeeds'}
</div>
<div class="row">
<div>
<div id="search_mask"></div>
<div style="float: left; width: 300px; z-index: 101; position: relative;">
<input id="search_form_id" autocomplete="off" type="text" class="search_form" name="product" value="" size="50" placeholder="{l s='Search, enter product name or id' mod='xmlfeeds'}"/>
</div>
<div class="autocomplite_clear">{l s='[Clear]' mod='xmlfeeds'}</div>
<div class="cb"></div>
<div id="search_result"></div>
<div class="search_types" style="margin-bottom: 10px;">
<label for="search_name" class="blmod_mr15">
<input id="search_name" type="radio" name="search_type" value="search_name" checked="checked"> <span>{l s='Search by name' mod='xmlfeeds'}</span>
</label>
<label for="search_id">
<input id="search_id" type="radio" name="search_type" value="search_id"> <span>{l s='Search by id' mod='xmlfeeds'} </span>
</label>
<div class="cb"></div>
</div>
<div class="cb"></div>
<ul class="show_with_products">
{if !empty($productList.products)}
{foreach $productList.products as $p}
<li class="search_p_list" id="search_p-{$p.id_product|escape:'htmlall':'UTF-8'}">
<div title="{l s='Remove' mod='xmlfeeds'}" class="search_drop_product product-list-row" id="search_drop-{$p.id_product|escape:'htmlall':'UTF-8'}">
<i class="icon-trash" title="{l s='Remove from list' mod='xmlfeeds'}"></i>
</div>
<div style="float: left;" class="product-list-row">
<div style="float: left; width: 30px; margin-right: 5px;">
{if !empty($p.image)}
<img style="width: 29px;" src="{$p.image|escape:'htmlall':'UTF-8'}" alt="{l s='cover' mod='xmlfeeds'}"/>
{/if}
</div>
<div style="float: left; width: 300px;" class="search_p_name">
{$p.name|escape:'htmlall':'UTF-8'}<br/>
<span class="search_small_text">#{$p.id_product|escape:'htmlall':'UTF-8'}{$p.cat_name|escape:'htmlall':'UTF-8'}</span>
</div>
</div>
<div class="blmod_cb"></div>
</li>
{/foreach}
{/if}
</ul>
<input class="product_hidden" type="hidden" name="product_hidden" value=",{$productList.productIdList|escape:'htmlall':'UTF-8'}," />
<input style="float: right; margin-top: 10px;" type="submit" name="update_product_list" value="{l s='Update list' mod='xmlfeeds'}" class="btn btn-primary">
<div class="cb"></div>
</div>
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-folder-open"></i> {l s='Search by product category' mod='xmlfeeds'}
</div>
<div class="row">
<div class="">
<select style="width: 300px; float: left;" name="product_list_category_id">
<option value="0" disabled {if empty($productListCategoryId)} selected{/if}>{l s='Products by category' mod='xmlfeeds'}</option>
{foreach $productListCategories as $c}
<option value="{$c.id_category|escape:'htmlall':'UTF-8'}"{if $productListCategoryId == $c.id_category} selected{/if}>
{$c.name|escape:'htmlall':'UTF-8'} ({if !empty($totalProductsInCategory[$c.id_category])}{$totalProductsInCategory[$c.id_category]|escape:'htmlall':'UTF-8'}{else}0{/if})
</option>
{/foreach}
</select>
<input style="float: left; margin-left: 10px;" type="submit" name="load_product_category" value="{l s='Load products' mod='xmlfeeds'}" class="btn btn-secondary">
<div class="cb"><br></div>
</div>
{if !empty($productListCategoryId)}
<table class="table table-clean">
<thead>
<tr class="cnodrag nodrop">
<th></th>
<th>{l s='ID' mod='xmlfeeds'}</th>
<th>{l s='Image' mod='xmlfeeds'}</th>
<th>{l s='Name' mod='xmlfeeds'}</th>
</tr>
</thead>
<tbody>
{if !empty($productListByCategoryId)}
{foreach $productListByCategoryId as $p}
<tr>
<td>
<input type="checkbox" name="products_by_category[]" value="{$p.id_product|escape:'htmlall':'UTF-8'}"{if !empty($p.list_id)} checked{/if}/>
</td>
<td>{$p.id_product|escape:'htmlall':'UTF-8'}</td>
<td>
{if !empty($p.image)}
<img style="width: 25px;" src="{$p.image|escape:'htmlall':'UTF-8'}" alt="{l s='cover' mod='xmlfeeds'}"/>
{/if}
</td>
<td>{$p.name|escape:'htmlall':'UTF-8'}</td>
</tr>
{/foreach}
{/if}
</tbody>
</table>
{if !empty($productListByCategoryId)}
<input style="float: right; margin-top: 15px;" type="submit" name="update_product_list" value="{l s='Update list' mod='xmlfeeds'}" class="btn btn-primary">
<div class="cb"><br></div>
{else}
{l s='No products found' mod='xmlfeeds'}
{/if}
{/if}
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i> {l s='List by product ID' mod='xmlfeeds'}
</div>
<div class="row">
<textarea style="width: 100%; height: 100px;" name="product_id_list">{$productIdList|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">[{l s='Insert product IDs separated by commas, example: 5,8,97,45' mod='xmlfeeds'}]</div>
<input style="float: right; margin-top: 0px;" type="submit" name="update_product_list" value="{l s='Update list' mod='xmlfeeds'}" class="btn btn-primary">
<div class="cb"><br></div>
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Display custom XML tags with the product list' mod='xmlfeeds'}
</div>
<div class="row">
<textarea style="width: 100%; height: 100px;" name="custom_xml_tags">{$customXmlTags|escape:'htmlall':'UTF-8'}</textarea>
<div class="bl_comments">[{l s='Make sure that you have entered validate XML code. Example: <mytag>value</mytag>' mod='xmlfeeds'}]</div>
<input style="float: right; margin-top: 0px;" type="submit" name="update_product_list" value="{l s='Update list' mod='xmlfeeds'}" class="btn btn-primary">
<div class="cb"><br></div>
</div>
</div>
{/if}
</form>
</div>
</div>

View File

@@ -0,0 +1,71 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {l s='Create new ' mod='xmlfeeds'}{$typeName|escape:'htmlall':'UTF-8'} {l s='map' mod='xmlfeeds'}
</div>
<div class="row">
<form action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
<input type="text" placeholder="{$typeName|escape:'htmlall':'UTF-8'} {l s='map name' mod='xmlfeeds'}" name="product_property_map_name" value="" required/>
<center>
<input style="text-align: center; margin-top: 20px;" class="btn btn-secondary" type="submit" name="create_product_property_map" value="{l s='Create new' mod='xmlfeeds'}">
<input type="hidden" name="product_property_map_type" value="{$typeId|escape:'htmlall':'UTF-8'}">
</center>
<div class="cb"><br></div>
</form>
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="icon-cog"></i> {$typeName|escape:'htmlall':'UTF-8'} {l s='mapping' mod='xmlfeeds'}
</div>
<div class="row">
<form style="border-bottom: solid 1px #EAEDEF; margin-bottom: 10px;" action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
{if !empty($mapList)}
<input style="float: right;" class="btn btn-secondary" type="submit" name="select_product_property_map" value="{l s='Select' mod='xmlfeeds'}">
{/if}
<select style="float: left; width: 517px; margin-bottom: 15px;" name="map_id">
<option value="0">{l s='None' mod='xmlfeeds'}</option>
{foreach $mapList as $l}
<option value="{$l.id|escape:'htmlall':'UTF-8'}"{if $mapId eq $l.id} selected{/if}>{$l.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
<div class="cb"><br></div>
</form>
<form action="{$requestUri|escape:'htmlall':'UTF-8'}" method="post">
{if !empty($mapId)}
<a style="margin-right: 15px;" href="{$fullAdminUrl|escape:'htmlall':'UTF-8'}&{$typeUrl|escape:'htmlall':'UTF-8'}=1&product_property_map_delete={$mapId|escape:'htmlall':'UTF-8'}" class="bl_comments" onclick="return confirm('{l s='Are you sure you want to delete the map?' mod='xmlfeeds'}')">{l s='Delete the map' mod='xmlfeeds'}</a>
<input type="hidden" name="map_id" value="{$mapId|escape:'htmlall':'UTF-8'}">
<input style="float: right;" type="submit" name="update_product_property_map" value="Update" class="btn btn-primary">
<div class="cb"></div>
{foreach $productProperties as $g}
<div id="option_box_2" class="option-box">
<div id="option-box-title_{$g.id|escape:'htmlall':'UTF-8'}" class="option-box-title">{$g.name|escape:'htmlall':'UTF-8'} <i class="icon-angle-down"></i></div>
<div id="option-box-content_{$g.id|escape:'htmlall':'UTF-8'}" class="option-box-content" style="display: none;">
{foreach $g.properties as $p}
<div class="product-property-row">
<label class="t" style="width: 100%!important;">
<div class="product-property-row-name">{$p.name|escape:'htmlall':'UTF-8'}</div>
<input type="text" placeholder="{l s='Enter a new name' mod='xmlfeeds'}" name="property[{$g.id|escape:'htmlall':'UTF-8'}][{$p.id|escape:'htmlall':'UTF-8'}]" value="{if isset($p.value)}{$p.value|escape:'htmlall':'UTF-8'}{/if}">
</label>
</div>
{/foreach}
</div>
</div>
{/foreach}
<input style="float: right;" type="submit" name="update_product_property_map" value="Update" class="btn btn-primary">
{/if}
</form>
</div>
</div>

View File

@@ -0,0 +1,37 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<ul class="search_list_autocomplite">
{if !empty($products)}
{foreach $products as $p}
<li class="search_p_list" id="search_p-{$p.id_product|escape:'htmlall':'UTF-8'}">
<div class="search_drop_product product-list-row" id="search_drop-{$p.id_product|escape:'htmlall':'UTF-8'}">
<i class="icon-trash" title="{l s='Remove from list' mod='xmlfeeds'}"></i>
</div>
<div style="float: left;" class="product-list-row">
<div style="float: left; width: 30px; margin-right: 5px;">
<img alt="{l s='Product' mod='xmlfeeds'}" style="width: 29px;" src="{$p.img_url|escape:'htmlall':'UTF-8'}" />
</div>
<div style="float: left; width: 300px;" class="search_p_name">
{$p.name|escape:'htmlall':'UTF-8'}<br/>
<span class="search_small_text">#{$p.id_product|escape:'htmlall':'UTF-8'}{$p.cat_name|escape:'htmlall':'UTF-8'}</span>
</div>
</div>
<div class="blmod_cb"></div>
</li>
{if $totalProducts > $limit}
<li>...</li>
{/if}
{/foreach}
{/if}
</ul>

View File

@@ -0,0 +1,31 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
{if !empty($feedTypeList)}
{include file="{$tpl_dir}/views/templates/admin/element/feedTypeList.tpl" feedTypeList=$feedTypeList}
{else}
<div class="feed-type-not-found">
<div>
Sorry, we couldn't find any result.
</div>
<div style="margin-top: 5px;">
{l s='Feel free to contact us via' mod='xmlfeeds'} <a href="{$contactUsUrl|escape:'htmlall':'UTF-8'}" target="_blank">{l s='Prestashop Messenger' mod='xmlfeeds'}</a>.
</div>
<div style="margin-top: 5px;">
{l s='We will be very happy to help integrate a new marketplace/channel or just create an individual XML feed.' mod='xmlfeeds'}
</div>
<div style="margin-top: 5px;">
{l s='Of course, if you want, you can always change the settings by yourself and create a custom XML feed by your requirements. Our module will provide a lot of flexibility with XML structure, data filters.' mod='xmlfeeds'}
</div>
</div>
{/if}

View File

@@ -0,0 +1,55 @@
{*
* 2010-2023 Bl Modules.
*
* If you wish to customize this module for your needs,
* please contact the authors first for more information.
*
* It's not allowed selling, reselling or other ways to share
* this file or any other module files without author permission.
*
* @author Bl Modules
* @copyright 2010-2023 Bl Modules
* @license
*}
<div class="panel">
<div class="panel-heading">
<i class="icon-bar-chart"></i> {l s='Statistics' mod='xmlfeeds'}
</div>
<div class="row">
<div>
<table border="0" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td>
{l s='Feed name:' mod='xmlfeeds'} {$feed.name|escape:'htmlall':'UTF-8'}
</td>
</tr>
<tr>
<td>
{l s='Total views:' mod='xmlfeeds'} {$feed.total_views|escape:'htmlall':'UTF-8'}
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</div>
{if !empty($stat)}
<div class="blmod_clicks_list">
<div id="blmod_clicks_title" class="blmod_clicks_row blmod_clicks_title" style="border-bottom: solid 1px #a0d0eb;">
<div class="blmod_clicks_ip"><a href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$statistics|escape:'htmlall':'UTF-8'}&order_name=ip_address{$order|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{l s='User IP address' mod='xmlfeeds'}</a></div>
<div class="blmod_clicks_date"><a href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$statistics|escape:'htmlall':'UTF-8'}&order_name=date{$order|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{l s='Date' mod='xmlfeeds'}</a></div>
<div class="blmod_clicks_url"><a href="{$full_address_no_t|escape:'htmlall':'UTF-8'}&statistics={$statistics|escape:'htmlall':'UTF-8'}&order_name=affiliate_name{$order|escape:'htmlall':'UTF-8'}{$token|escape:'htmlall':'UTF-8'}">{l s='Affiliate' mod='xmlfeeds'}</a></div>
<div class="cb"></div>
</div>
{foreach $stat as $s}
<div class="blmod_clicks_row">
<div class="blmod_clicks_ip">{$s.ip_address|escape:'htmlall':'UTF-8'}</div>
<div class="blmod_clicks_date">{$s.date|escape:'htmlall':'UTF-8'}</div>
<div class="blmod_clicks_url">{$s.affiliate_name|escape:'htmlall':'UTF-8'}</div>
<div class="cb"></div>
</div>
{/foreach}
</div>
<div class="cb"></div><br/>
<div class="blmod_pagination">{$pag.2}</div>
{/if}
</div>
</div>