Add index.php file to googlemerchant XML module with redirect headers
This commit introduces a new index.php file in the googlemerchant XML module. The file contains headers to prevent caching and redirects users to the parent directory. This is part of the module's structure to ensure proper access control and user experience.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
input.markup{
|
||||
width:100px !important;
|
||||
}
|
||||
|
||||
/* htmnet-autocomplete */
|
||||
.htmnet-autocomplete {
|
||||
position:absolute !important;
|
||||
background:#FFF;
|
||||
max-height:300px;
|
||||
box-sizing:border-box;
|
||||
border:1px solid #999;
|
||||
border-top:1px solid #D9D9D9;
|
||||
border-bottom-right-radius:3px;
|
||||
border-bottom-left-radius:3px;
|
||||
box-shadow:0px 8px 8px rgba(0, 0, 0, 0.25);
|
||||
overflow:auto;
|
||||
z-index:100;
|
||||
}
|
||||
|
||||
.htmnet-autocomplete p{
|
||||
font-size:0.8em;
|
||||
margin:0;
|
||||
padding:4px;
|
||||
border-top:1px solid #D9D9D9;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.htmnet-autocomplete p:first-child{
|
||||
border:0;
|
||||
}
|
||||
|
||||
.htmnet-autocomplete p.active{
|
||||
color:#FFF;
|
||||
background-color:#00AFF0;
|
||||
}
|
||||
|
||||
.x13googlemerchant .tf {
|
||||
position: relative;
|
||||
float: left;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.x13googlemerchant .tf-input {
|
||||
width: 80%;
|
||||
}
|
||||
.x13googlemerchant .tf-list {
|
||||
width: 20%;
|
||||
}
|
||||
36
modules/x13googlemerchant/views/index.php
Normal file
36
modules/x13googlemerchant/views/index.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 7233 $
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
294
modules/x13googlemerchant/views/js/x13googlemerchant-admin.js
Normal file
294
modules/x13googlemerchant/views/js/x13googlemerchant-admin.js
Normal file
@@ -0,0 +1,294 @@
|
||||
$(document).ready(function(){
|
||||
|
||||
if (typeof x13googlemerchant_bo_url !== 'undefined') {
|
||||
$('#desc-module-back').attr('href', x13googlemerchant_bo_url);
|
||||
}
|
||||
|
||||
if (!x13googlemerchant_15)
|
||||
{
|
||||
$('.shipment-exclude').parents('.form-group').addClass('shipment-exclude-block');
|
||||
$('.country-shipping-price').parents('.form-group').addClass('country-shipping-price-block');
|
||||
$('.shipment-country-include').parents('.form-group').addClass('shipment-country-include-block');
|
||||
}
|
||||
|
||||
customTitleFormat();
|
||||
$('select[name="X13_GOOGLEMERCHANT_TITLE_TYPE"]').on('change', customTitleFormat);
|
||||
|
||||
function customTitleFormat()
|
||||
{
|
||||
var $element = $('.custom_title_format');
|
||||
$element.hide();
|
||||
$val = $('select[name="X13_GOOGLEMERCHANT_TITLE_TYPE"]').val();
|
||||
if (parseInt($val, 10) === 3) {
|
||||
$element.show();
|
||||
} else {
|
||||
$element.hide();
|
||||
}
|
||||
}
|
||||
|
||||
addingCombinationNameToElements();
|
||||
$('select[name="X13_GOOGLEMERCHANT_SKIP_ATTR"]').on('change', addingCombinationNameToElements);
|
||||
|
||||
function addingCombinationNameToElements()
|
||||
{
|
||||
var $element = $('.adding_combination_name');
|
||||
$element.hide();
|
||||
$val = $('select[name="X13_GOOGLEMERCHANT_SKIP_ATTR"]').val();
|
||||
if (parseInt($val, 10) === 0 || parseInt($val, 10) === 2) {
|
||||
$element.show();
|
||||
} else {
|
||||
$element.hide();
|
||||
}
|
||||
}
|
||||
|
||||
shipmentBehaviorChange($('#shipment_behavior').val());
|
||||
|
||||
$('#shipment_behavior').on('change', function() {
|
||||
shipmentBehaviorChange($(this).val());
|
||||
});
|
||||
|
||||
function shipmentBehaviorChange(val)
|
||||
{
|
||||
if (val == 1) {
|
||||
$('.country-shipping-price-block').show();
|
||||
$('.shipment-exclude-block').hide();
|
||||
$('.shipment-country-include-block').hide();
|
||||
}
|
||||
else {
|
||||
$('.country-shipping-price-block').hide();
|
||||
$('.shipment-exclude-block').show();
|
||||
$('.shipment-country-include-block').show();
|
||||
}
|
||||
}
|
||||
|
||||
$('.process-icon-downloadxml').bind('click', function(e){
|
||||
e.preventDefault();
|
||||
$('#x13googlemerchant-generate-form').slideToggle('fast');
|
||||
});
|
||||
|
||||
$('.change_status a, #top_container .x13googlemerchant > tbody > tr > td.center > a').bind('click', function(e){
|
||||
e.preventDefault();
|
||||
var _t = $(this);
|
||||
var post_obj = {
|
||||
'data' : {
|
||||
'method' : 'setGoogleStatus',
|
||||
'data' : {
|
||||
'id_shop' : x13googlemerchant_shop,
|
||||
'id_lang' : x13googlemerchant_lang,
|
||||
'active' : (_t.hasClass('action-disabled') || (_t.children('img').attr('src') == '../img/admin/disabled.gif')) ? 1 : 0,
|
||||
'param' : _t.attr('href')
|
||||
}
|
||||
}
|
||||
};
|
||||
$.post(x13googlemerchant_path + 'ajax.php', post_obj, function(d){
|
||||
if(d == 'ok1') {
|
||||
_t.removeClass('action-disabled').addClass('action-enabled');
|
||||
_t.blur().children('i').toggleClass('hidden');
|
||||
//1.5
|
||||
_t.attr('title', 'Włączone').children('img').attr('src', '../img/admin/enabled.gif');
|
||||
}
|
||||
else if(d == 'ok0') {
|
||||
_t.removeClass('action-enabled').addClass('action-disabled');
|
||||
_t.blur().children('i').toggleClass('hidden');
|
||||
//1.5
|
||||
_t.attr('title', 'Wyłączone').children('img').attr('src', '../img/admin/disabled.gif');
|
||||
}
|
||||
else {
|
||||
alert(d);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.google_name').each(function(){
|
||||
if($(this).val() != '') $(this).addClass('has-cat').attr('title', $(this).val());
|
||||
});
|
||||
|
||||
$('body')
|
||||
.delegate('.google_name', 'focusin', function(){
|
||||
var _t = $(this);
|
||||
_t.data('old', $(this).val());
|
||||
var i, j = 0;
|
||||
var ab = '';
|
||||
var thisLang = _t.data('lang');
|
||||
ab += '<div class="htmnet-autocomplete">';
|
||||
for(i in google_categories[thisLang]) {
|
||||
if(google_categories[thisLang][i].toLowerCase().indexOf(_t.val()) != -1) {
|
||||
_ab += '<p>'+google_categories[thisLang][i]+'</p>';
|
||||
if(++j > 50) break;
|
||||
}
|
||||
}
|
||||
ab += '</div>';
|
||||
;
|
||||
var _ab = $(ab);
|
||||
_ab.width(_t.outerWidth()-2).insertAfter(_t).hide();
|
||||
})
|
||||
.delegate('.google_name', 'blur', function(){
|
||||
var _t = $(this);
|
||||
setTimeout(function(){
|
||||
if(!_t.hasClass('has-cat'))
|
||||
_t.val('');
|
||||
if(_t.data('old') != _t.val()) {
|
||||
var post_obj = {
|
||||
'data' : {
|
||||
'method' : 'setGoogleName',
|
||||
'data' : {
|
||||
'id_shop' : x13googlemerchant_shop,
|
||||
'id_lang' : _t.data('lang'),
|
||||
'id_category' : _t.attr('name').replace('google_name_row_', ''),
|
||||
'google_name' : _t.val()
|
||||
}
|
||||
}
|
||||
};
|
||||
if(_t.attr('id') != 'mass_taxonomy') {
|
||||
$.post(x13googlemerchant_path + 'ajax.php', post_obj, function(d){
|
||||
if(d != 'ok') {
|
||||
alert(d);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
_t.siblings('.htmnet-autocomplete').remove();
|
||||
}, 500);
|
||||
})
|
||||
.delegate('.google_name', 'keydown', function(e){
|
||||
if(e.which == 13) e.preventDefault();
|
||||
})
|
||||
.delegate('.google_name', 'keyup', function(e){
|
||||
var _t = $(this);
|
||||
var thisLang = _t.data('lang');
|
||||
var _ab = $(this).siblings('.htmnet-autocomplete');
|
||||
var ab_height = _ab.height();
|
||||
switch(e.which) {
|
||||
case 13 : { //enter
|
||||
e.preventDefault();
|
||||
if(_ab.find('.active').length > 0) {
|
||||
var text = _ab.find('.active').text();
|
||||
_t.addClass('has-cat').val(text).attr('title', text);
|
||||
_ab.hide();
|
||||
}
|
||||
} break;
|
||||
/*
|
||||
case 27 : { //esc
|
||||
if(!_t.hasClass('has-cat'))
|
||||
_t.val('');
|
||||
_ab.hide();
|
||||
} break;
|
||||
*/
|
||||
case 38 : { //up
|
||||
if(_ab.find('.active').length > 0)
|
||||
_ab.find('.active').removeClass('active').prev('p').addClass('active');
|
||||
else
|
||||
_ab.find('p').last().addClass('active');
|
||||
var pos = _ab.find('.active').position();
|
||||
if(pos)
|
||||
_ab.scrollTop(pos.top + _ab.scrollTop());
|
||||
else
|
||||
_ab.scrollTop(0);
|
||||
} break;
|
||||
case 40 : { //down
|
||||
if(_ab.find('.active').length > 0)
|
||||
_ab.find('.active').removeClass('active').next('p').addClass('active');
|
||||
else
|
||||
_ab.find('p').first().addClass('active');
|
||||
var pos = _ab.find('.active').position();
|
||||
if(pos)
|
||||
_ab.scrollTop(pos.top + _ab.scrollTop());
|
||||
else
|
||||
_ab.scrollTop(0);
|
||||
} break;
|
||||
default : {
|
||||
if(_t.val() != _t.data('old')) _t.removeClass('has-cat');
|
||||
var _p = '';
|
||||
var i, j = 0;
|
||||
for(i in google_categories[thisLang]) {
|
||||
if(google_categories[thisLang][i].search(new RegExp(_t.val(), "i")) != -1) {
|
||||
_p += '<p>'+google_categories[thisLang][i]+'</p>';
|
||||
if(++j > 50) break;
|
||||
}
|
||||
}
|
||||
if(_p != '')
|
||||
_ab.empty().html(_p).show();
|
||||
else
|
||||
_ab.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('body')
|
||||
.delegate('.htmnet-autocomplete p', 'mouseenter', function(){
|
||||
$(this).addClass('active').siblings('active').removeClass('active');
|
||||
})
|
||||
.delegate('.htmnet-autocomplete p', 'mouseleave', function(){
|
||||
$(this).removeClass('active').siblings('active').removeClass('active');
|
||||
})
|
||||
.delegate('.htmnet-autocomplete p', 'click', function(e){
|
||||
e.preventDefault();
|
||||
var text = $(this).text();
|
||||
$(this).parent().siblings('.google_name').addClass('has-cat').val(text).attr('title', text);
|
||||
$(this).parent().remove();
|
||||
});
|
||||
|
||||
if($('.setMassTaxonomy').length > 0) {
|
||||
var mass_quantity_trigger = $('.setMassTaxonomy').parent();
|
||||
}
|
||||
else if($('[name="submitBulksetMassTaxonomyx13googlemerchant"]').length > 0) {
|
||||
var mass_quantity_trigger = $('[name="submitBulksetMassTaxonomyx13googlemerchant"]');
|
||||
}
|
||||
else {
|
||||
var mass_quantity_trigger = false;
|
||||
}
|
||||
|
||||
if(mass_quantity_trigger) {
|
||||
mass_quantity_trigger.removeAttr('onclick');
|
||||
mass_quantity_trigger.bind('click', function(e){
|
||||
e.preventDefault();
|
||||
var ids = '0';
|
||||
$('[name="x13googlemerchantBox\[]\"]:checked').each(function(){
|
||||
ids += ',' + $(this).val();
|
||||
});
|
||||
|
||||
var langOptions = '';
|
||||
x13languages.forEach(function(el, i) {
|
||||
langOptions += '<option value="'+el.id_lang+'" '+ (el.id_lang == x13googlemerchant_lang ? 'selected="selected"' : '') +'>'+el.name+'</option>';
|
||||
});
|
||||
|
||||
var content =
|
||||
'<form action="'+$(this).closest('form').attr('action')+'" method="post">'+
|
||||
'<input type="hidden" name="masstaxonomyx13pdfoffer_product" value="">'+
|
||||
'<input type="hidden" name="ids" value="' + ids + '">'+
|
||||
'<div class="bootstrap">'+
|
||||
'<div class="row clearfix" style="margin:0 0 5px 0">'+
|
||||
'<label for="mass_language" style="padding-top:4px">Wybierz język:</label>'+
|
||||
'<select id="mass_language" name="mass_language" onchange="javascript:changeMassLanguage(this.value)">'+
|
||||
langOptions +
|
||||
'</select>'+
|
||||
'</div>'+
|
||||
'<div class="row clearfix" style="margin:0 0 5px 0">'+
|
||||
'<label for="mass_taxonomy" style="padding-top:4px">Wybierz kategorię:</label>'+
|
||||
'<div>'+
|
||||
'<input autocomplete="off" type="text" name="mass_taxonomy" id="mass_taxonomy" class="google_name" data-lang="'+x13googlemerchant_lang+'">'+
|
||||
'</div>'+
|
||||
'</div><hr>'+
|
||||
'<div class="row clearfix" style="margin:0 0 5px 0">'+
|
||||
'<button type="submit" class="btn btn-default">Zastosuj</button>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</form>'
|
||||
;
|
||||
$.fancybox(content, {'autoDimensions': false, 'autoSize': false, 'width': 500, 'height': '370px', 'openEffect': 'fadeIn', 'closeEffect': 'fadeOut'} );
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function changeMassLanguage(id)
|
||||
{
|
||||
$('.fancybox-overlay input#mass_taxonomy').data('lang', parseInt(id)).attr('data-lang', parseInt(id));
|
||||
}
|
||||
|
||||
if (typeof hideOtherLanguage === 'undefined') {
|
||||
function hideOtherLanguage(id)
|
||||
{
|
||||
$('.translatable-field').hide();
|
||||
$('.lang-' + id).show();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{extends file="helpers/list/list_content.tpl"}
|
||||
|
||||
{block name="td_content"}
|
||||
{if isset($params.type) && $params.type == 'editable' && isset($tr.id)}
|
||||
{foreach from=$languages item=language}
|
||||
<div class="translatable-field lang-{$language.id_lang} clearfix">
|
||||
<div class="tf tf-input">
|
||||
{assign var='google_name_key' value="google_name_{$language.id_lang}"}
|
||||
<input autocomplete="off" type="text" id="{$key}_{$tr.id}_{$language.id_lang}" name="{$key}_{$tr.id}_{$language.id_lang}" class="{$key}" data-lang="{$language.id_lang}" value="{if isset($tr.$google_name_key)}{$tr.$google_name_key|escape:'html':'UTF-8'}{else}{/if}">
|
||||
</div>
|
||||
<div class="tf tf-list">
|
||||
<button type="button" class="{if !version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}btn btn-default dropdown-toggle{/if}" data-toggle="dropdown" tabindex="-1">
|
||||
{$language.iso_code}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}
|
||||
{foreach from=$languages item=language}
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">
|
||||
<img class="language_current pointer" src="../img/l/{$language.id_lang}.jpg" alt="{$language.name}">
|
||||
</a>
|
||||
{/foreach}
|
||||
{else}
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=language}
|
||||
<li>
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">{$language.name}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{/foreach}
|
||||
{else}
|
||||
{$smarty.block.parent}
|
||||
{/if}
|
||||
{/block}
|
||||
@@ -0,0 +1,8 @@
|
||||
{extends file="helpers/list/list_footer.tpl"}
|
||||
|
||||
{block name="after"}
|
||||
<script>
|
||||
var default_language = '{$default_language}';
|
||||
hideOtherLanguage(default_language);
|
||||
</script>
|
||||
{/block}
|
||||
@@ -0,0 +1,596 @@
|
||||
{*
|
||||
* 2007-2015 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2015 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div class="leadin">{block name="leadin"}{/block}</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
id_language = Number({$current_id_lang});
|
||||
{if isset($tabs) && $tabs|count}
|
||||
var helper_tabs= {$tabs|json_encode};
|
||||
var unique_field_id = '{$table}_';
|
||||
{/if}
|
||||
</script>
|
||||
{block name="defaultOptions"}
|
||||
|
||||
{if $is_bootstrap}
|
||||
|
||||
{if isset($table_bk) && $table_bk == $table}{capture name='table_count'}{counter name='table_count'}{/capture}{/if}
|
||||
{assign var='table_bk' value=$table scope='parent'}
|
||||
<form action="{$current|escape:'html':'UTF-8'}&token={$token|escape:'html':'UTF-8'}" id="{if $table == null}configuration_form{else}{$table}_form{/if}{if isset($smarty.capture.table_count) && $smarty.capture.table_count}_{$smarty.capture.table_count|intval}{/if}" method="post" enctype="multipart/form-data" class="form-horizontal">
|
||||
{foreach $option_list AS $category => $categoryData}
|
||||
{if isset($categoryData['top'])}{$categoryData['top']}{/if}
|
||||
<div class="panel {if isset($categoryData['class'])}{$categoryData['class']}{/if}" id="{$table}_fieldset_{$category}">
|
||||
{* Options category title *}
|
||||
<div class="panel-heading">
|
||||
<i class="{if isset($categoryData['icon'])}{$categoryData['icon']}{else}icon-cogs{/if}"></i>
|
||||
{if isset($categoryData['title'])}{$categoryData['title']}{else}{l s='Options'}{/if}
|
||||
</div>
|
||||
|
||||
{* Category description *}
|
||||
|
||||
{if (isset($categoryData['description']) && $categoryData['description'])}
|
||||
<div class="alert alert-info">{$categoryData['description']}</div>
|
||||
{/if}
|
||||
{* Category info *}
|
||||
{if (isset($categoryData['info']) && $categoryData['info'])}
|
||||
<div>{$categoryData['info']}</div>
|
||||
{/if}
|
||||
|
||||
{if !$categoryData['hide_multishop_checkbox'] && $use_multishop}
|
||||
<div class="well clearfix">
|
||||
<label class="control-label col-lg-3">
|
||||
<i class="icon-sitemap"></i> {l s='Multistore'}
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
{strip}
|
||||
<input type="radio" name="{$table}_multishop_{$category}" id="{$table}_multishop_{$category}_on" value="1" onclick="toggleAllMultishopDefaultValue($('#{$table}_fieldset_{$category}'), true)"/>
|
||||
<label for="{$table}_multishop_{$category}_on">
|
||||
{l s='Yes'}
|
||||
</label>
|
||||
<input type="radio" name="{$table}_multishop_{$category}" id="{$table}_multishop_{$category}_off" value="0" checked="checked" onclick="toggleAllMultishopDefaultValue($('#{$table}_fieldset_{$category}'), false)"/>
|
||||
<label for="{$table}_multishop_{$category}_off">
|
||||
{l s='No'}
|
||||
</label>
|
||||
{/strip}
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="help-block">
|
||||
<strong>{l s='Check / Uncheck all'}</strong><br />
|
||||
{l s='You are editing this page for a specific shop or group. Click "Yes" to check all fields, "No" to uncheck all.'}<br />
|
||||
{l s='If you check a field, change its value, and save, the multistore behavior will not apply to this shop (or group), for this particular parameter.'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="form-wrapper">
|
||||
{foreach $categoryData['fields'] AS $key => $field}
|
||||
{if $field['type'] == 'hidden'}
|
||||
<input type="hidden" name="{$key}" value="{$field['value']}" />
|
||||
{else}
|
||||
<div class="form-group{if isset($field.form_group_class)} {$field.form_group_class}{/if}"{if isset($tabs) && isset($field.tab)} data-tab-id="{$field.tab}"{/if}>
|
||||
<div id="conf_id_{$key}"{if $field['is_invisible']} class="isInvisible"{/if}>
|
||||
{block name="label"}
|
||||
{if isset($field['title']) && isset($field['hint']) && $field['type'] != 'separator'}
|
||||
<label class="control-label col-lg-3{if isset($field['required']) && $field['required'] && $field['type'] != 'radio'} required{/if}">
|
||||
{if !$categoryData['hide_multishop_checkbox'] && $field['multishop_default'] && empty($field['no_multishop_checkbox'])}
|
||||
<input type="checkbox" name="multishopOverrideOption[{$key}]" value="1"{if !$field['is_disabled']} checked="checked"{/if} onclick="toggleMultishopDefaultValue(this, '{$key}')"/>
|
||||
{/if}
|
||||
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="
|
||||
{if is_array($field['hint'])}
|
||||
{foreach $field['hint'] as $hint}
|
||||
{if is_array($hint)}
|
||||
{$hint.text}
|
||||
{else}
|
||||
{$hint}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
{$field['hint']}
|
||||
{/if}
|
||||
" data-html="true">
|
||||
{$field['title']}
|
||||
</span>
|
||||
</label>
|
||||
{elseif isset($field['title']) && $field['type'] != 'separator'}
|
||||
<label class="control-label col-lg-3">
|
||||
{if !$categoryData['hide_multishop_checkbox'] && $field['multishop_default'] && empty($field['no_multishop_checkbox'])}
|
||||
<input type="checkbox" name="multishopOverrideOption[{$key}]" value="1"{if !$field['is_disabled']} checked="checked"{/if} onclick="checkMultishopDefaultValue(this, '{$key}')" />
|
||||
{/if}
|
||||
{$field['title']}
|
||||
</label>
|
||||
{/if}
|
||||
{/block}
|
||||
{block name="field"}
|
||||
|
||||
{block name="input"}
|
||||
{if $field['type'] == 'select'}
|
||||
<div class="col-lg-9">
|
||||
{if $field['list']}
|
||||
<select class="form-control fixed-width-xxl {if isset($field['class'])}{$field['class']}{/if}" name="{$key}"{if isset($field['js'])} onchange="{$field['js']}"{/if} id="{$key}" {if isset($field['size'])} size="{$field['size']}"{/if}>
|
||||
{foreach $field['list'] AS $k => $option}
|
||||
<option value="{$option[$field['identifier']]}"{if $field['value'] == $option[$field['identifier']]} selected="selected"{/if}>{$option['name']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{else if isset($input.empty_message)}
|
||||
{$input.empty_message}
|
||||
{/if}
|
||||
</div>
|
||||
{elseif $field['type'] == 'bool'}
|
||||
<div class="col-lg-9">
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
{strip}
|
||||
<input type="radio" name="{$key}" id="{$key}_on" value="1" {if $field['value']} checked="checked"{/if}{if isset($field['js']['on'])} {$field['js']['on']}{/if}{if isset($field['disabled']) && (bool)$field['disabled']} disabled="disabled"{/if}/>
|
||||
<label for="{$key}_on" class="radioCheck">
|
||||
{l s='Yes'}
|
||||
</label>
|
||||
<input type="radio" name="{$key}" id="{$key}_off" value="0" {if !$field['value']} checked="checked"{/if}{if isset($field['js']['off'])} {$field['js']['off']}{/if}{if isset($field['disabled']) && (bool)$field['disabled']} disabled="disabled"{/if}/>
|
||||
<label for="{$key}_off" class="radioCheck">
|
||||
{l s='No'}
|
||||
</label>
|
||||
{/strip}
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
</div>
|
||||
{elseif $field['type'] == 'radio'}
|
||||
<div class="col-lg-9">
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<p class="radio">
|
||||
{strip}
|
||||
<label for="{$key}_{$k}">
|
||||
<input type="radio" name="{$key}" id="{$key}_{$k}" value="{$k}"{if $k == $field['value']} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
{$v}
|
||||
</label>
|
||||
{/strip}
|
||||
</p>
|
||||
{/foreach}
|
||||
</div>
|
||||
{elseif $field['type'] == 'checkbox'}
|
||||
<div class="col-lg-9">
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<p class="checkbox">
|
||||
{strip}
|
||||
<label class="col-lg-3" for="{$key}{$k}_on">
|
||||
<input type="checkbox" name="{$key}" id="{$key}{$k}_on" value="{$k|intval}"{if $k == $field['value']} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
{$v}
|
||||
</label>
|
||||
{/strip}
|
||||
</p>
|
||||
{/foreach}
|
||||
</div>
|
||||
{elseif $field['type'] == 'checkboxmultiple'}
|
||||
{assign var=checked_values value=explode(',', $field['value'])}
|
||||
<div class="col-lg-9">
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<p class="checkbox">
|
||||
{strip}
|
||||
<label for="{$key}{$k}_on">
|
||||
<input type="checkbox" name="{$key}[]" id="{$key}{$k}_on" value="{$k}"{if in_array($k, $checked_values)} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
{$v}
|
||||
</label>
|
||||
{/strip}
|
||||
</p>
|
||||
{/foreach}
|
||||
</div>
|
||||
{elseif $field['type'] == 'text'}
|
||||
<div class="col-lg-9">{if isset($field['suffix'])}<div class="input-group{if isset($field.class)} {$field.class}{/if}">{/if}
|
||||
<input class="form-control {if isset($field['class'])}{$field['class']}{/if}" type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value="{$field['value']|escape:'html':'UTF-8'}" {if isset($field['autocomplete']) && !$field['autocomplete']}autocomplete="off"{/if}/>
|
||||
{if isset($field['suffix'])}
|
||||
<span class="input-group-addon">
|
||||
{$field['suffix']|strval}
|
||||
</span>
|
||||
{/if}
|
||||
{if isset($field['suffix'])}</div>{/if}
|
||||
</div>
|
||||
{elseif $field['type'] == 'separator'}
|
||||
<label class="control-label col-lg-3 col-lg-push-3" style="text-align:left;">
|
||||
<hr>
|
||||
<h2>{$field['title']}</h2>
|
||||
</label>
|
||||
{elseif $field['type'] == 'password'}
|
||||
<div class="col-lg-9">{if isset($field['suffix'])}<div class="input-group{if isset($field.class)} {$field.class}{/if}">{/if}
|
||||
<input type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value=""{if isset($field['autocomplete']) && !$field['autocomplete']} autocomplete="off"{/if} />
|
||||
{if isset($field['suffix'])}
|
||||
<span class="input-group-addon">
|
||||
{$field['suffix']|strval}
|
||||
</span>
|
||||
{/if}
|
||||
{if isset($field['suffix'])}</div>{/if}
|
||||
</div>
|
||||
{elseif $field['type'] == 'textarea'}
|
||||
<div class="col-lg-9">
|
||||
<textarea class="textarea-autosize" name={$key} cols="{$field['cols']}" rows="{$field['rows']}">{$field['value']|escape:'html':'UTF-8'}</textarea>
|
||||
</div>
|
||||
{elseif $field['type'] == 'file'}
|
||||
<div class="col-lg-9">
|
||||
{$field['file']}
|
||||
</div>
|
||||
{elseif $field['type'] == 'color'}
|
||||
<div class="col-lg-2">
|
||||
<div class="input-group">
|
||||
<input type="color" size="{$field['size']}" data-hex="true" {if isset($input.class)}class="{$field['class']}" {else}class="color mColorPickerInput"{/if} name="{$field['name']}" class="{if isset($field['class'])}{$field['class']}{/if}" value="{$field['value']|escape:'html':'UTF-8'}" />
|
||||
</div>
|
||||
</div>
|
||||
{elseif $field['type'] == 'price'}
|
||||
<div class="col-lg-9">
|
||||
<div class="input-group fixed-width-lg">
|
||||
<span class="input-group-addon">{$currency_left_sign}{$currency_right_sign} {l s='(tax excl.)'}</span>
|
||||
<input type="text" size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value="{$field['value']|escape:'html':'UTF-8'}" />
|
||||
</div>
|
||||
</div>
|
||||
{elseif $field['type'] == 'textLang' || $field['type'] == 'textareaLang' || $field['type'] == 'selectLang'}
|
||||
{if $field['type'] == 'textLang'}
|
||||
<div class="col-lg-9">
|
||||
<div class="row">
|
||||
{foreach $field['languages'] AS $id_lang => $value}
|
||||
{if $field['languages']|count > 1}
|
||||
<div class="translatable-field lang-{$id_lang}" {if $id_lang != $current_id_lang}style="display:none;"{/if}>
|
||||
<div class="col-lg-9">
|
||||
{else}
|
||||
<div class="col-lg-12">
|
||||
{/if}
|
||||
<input type="text"
|
||||
name="{$key}_{$id_lang}"
|
||||
value="{$value|escape:'html':'UTF-8'}"
|
||||
{if isset($input.class)}class="{$input.class}"{/if}
|
||||
/>
|
||||
{if $field['languages']|count > 1}
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
{foreach $languages as $language}
|
||||
{if $language.id_lang == $id_lang}{$language.iso_code}{/if}
|
||||
{/foreach}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach $languages as $language}
|
||||
<li>
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">{$language.name}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{else}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
{elseif $field['type'] == 'textareaLang'}
|
||||
<div class="col-lg-9">
|
||||
{foreach $field['languages'] AS $id_lang => $value}
|
||||
<div class="row translatable-field lang-{$id_lang}" {if $id_lang != $current_id_lang}style="display:none;"{/if}>
|
||||
<div id="{$key}_{$id_lang}" class="col-lg-9" >
|
||||
<textarea class="textarea-autosize" name="{$key}_{$id_lang}">{$value|replace:'\r\n':"\n"}</textarea>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
{foreach $languages as $language}
|
||||
{if $language.id_lang == $id_lang}{$language.iso_code}{/if}
|
||||
{/foreach}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach $languages as $language}
|
||||
<li>
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">{$language.name}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{/foreach}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$(".textarea-autosize").autosize();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
{elseif $field['type'] == 'selectLang'}
|
||||
{foreach $languages as $language}
|
||||
<div id="{$key}_{$language.id_lang}" style="display: {if $language.id_lang == $current_id_lang}block{else}none{/if};" class="col-lg-9">
|
||||
<select name="{$key}_{$language.iso_code|upper}">
|
||||
{foreach $field['list'] AS $k => $v}
|
||||
<option value="{if isset($v.cast)}{$v.cast[$v[$field.identifier]]}{else}{$v[$field.identifier]}{/if}"
|
||||
{if $field['value'][$language.id_lang] == $v['name']} selected="selected"{/if}>
|
||||
{$v['name']}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/if}
|
||||
{if isset($field['desc']) && !empty($field['desc'])}
|
||||
<div class="col-lg-9 col-lg-offset-3">
|
||||
<div class="help-block">
|
||||
{if is_array($field['desc'])}
|
||||
{foreach $field['desc'] as $p}
|
||||
{if is_array($p)}
|
||||
<span id="{$p.id}">{$p.text}</span><br />
|
||||
{else}
|
||||
{$p}<br />
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
{$field['desc']}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}{* end block input *}
|
||||
{if $field['is_invisible']}
|
||||
<div class="col-lg-9 col-lg-offset-3">
|
||||
<p class="alert alert-warning row-margin-top">
|
||||
{l s='You can\'t change the value of this configuration field in the context of this shop.'}
|
||||
</p>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}{* end block field *}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div><!-- /.form-wrapper -->
|
||||
|
||||
{if isset($categoryData['bottom'])}{$categoryData['bottom']}{/if}
|
||||
{block name="footer"}
|
||||
{if isset($categoryData['submit']) || isset($categoryData['buttons'])}
|
||||
<div class="panel-footer">
|
||||
{if isset($categoryData['submit']) && !empty($categoryData['submit'])}
|
||||
<button type="{if isset($categoryData['submit']['type'])}{$categoryData['submit']['type']}{else}submit{/if}" {if isset($categoryData['submit']['id'])}id="{$categoryData['submit']['id']}"{/if} class="btn btn-default pull-right" name="{if isset($categoryData['submit']['name'])}{$categoryData['submit']['name']}{else}submitOptions{$table}{/if}"><i class="process-icon-{if isset($categoryData['submit']['imgclass'])}{$categoryData['submit']['imgclass']}{else}save{/if}"></i> {$categoryData['submit']['title']}</button>
|
||||
{/if}
|
||||
{if isset($categoryData['buttons'])}
|
||||
{foreach from=$categoryData['buttons'] item=btn key=k}
|
||||
{if isset($btn.href) && trim($btn.href) != ''}
|
||||
<a href="{$btn.href|escape:'html':'UTF-8'}" {if isset($btn['id'])}id="{$btn['id']}"{/if} class="btn btn-default{if isset($btn['class'])} {$btn['class']}{/if}" {if isset($btn.js) && $btn.js} onclick="{$btn.js}"{/if}>{if isset($btn['icon'])}<i class="{$btn['icon']}" ></i> {/if}{$btn.title}</a>
|
||||
{else}
|
||||
<button type="{if isset($btn['type'])}{$btn['type']}{else}button{/if}" {if isset($btn['id'])}id="{$btn['id']}"{/if} class="{if isset($btn['class'])}{$btn['class']}{else}btn btn-default{/if}" name="{if isset($btn['name'])}{$btn['name']}{else}submitOptions{$table}{/if}"{if isset($btn.js) && $btn.js} onclick="{$btn.js}"{/if}>{if isset($btn['icon'])}<i class="{$btn['icon']}" ></i> {/if}{$btn.title}</button>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
</div>
|
||||
{/foreach}
|
||||
{hook h='displayAdminOptions'}
|
||||
{if isset($name_controller)}
|
||||
{capture name=hookName assign=hookName}display{$name_controller|ucfirst}Options{/capture}
|
||||
{hook h=$hookName}
|
||||
{elseif isset($smarty.get.controller)}
|
||||
{capture name=hookName assign=hookName}display{$smarty.get.controller|ucfirst|htmlentities}Options{/capture}
|
||||
{hook h=$hookName}
|
||||
{/if}
|
||||
</form>
|
||||
|
||||
{else}
|
||||
|
||||
<form action="{$current}&token={$token}"
|
||||
id="{if $table == null}configuration_form{else}{$table}_form{/if}"
|
||||
{if isset($categoryData['name'])} name={$categoryData['name']}{/if}
|
||||
{if isset($categoryData['id'])} id={$categoryData['id']} {/if}
|
||||
method="post"
|
||||
enctype="multipart/form-data">
|
||||
{foreach $option_list AS $category => $categoryData}
|
||||
{if isset($categoryData['top'])}{$categoryData['top']}{/if}
|
||||
<fieldset {if isset($categoryData['class'])}class="{$categoryData['class']}"{/if}>
|
||||
{* Options category title *}
|
||||
<legend>
|
||||
<img src="{$categoryData['image']}"/>
|
||||
{if isset($categoryData['title'])}{$categoryData['title']}{else}{l s='Options'}{/if}
|
||||
</legend>
|
||||
|
||||
{* Category description *}
|
||||
{if (isset($categoryData['description']) && $categoryData['description'])}
|
||||
<div class="optionsDescription">{$categoryData['description']}</div>
|
||||
{/if}
|
||||
{* Category info *}
|
||||
{if (isset($categoryData['info']) && $categoryData['info'])}
|
||||
<p>{$categoryData['info']}</p>
|
||||
{/if}
|
||||
|
||||
{if !$categoryData['hide_multishop_checkbox'] && $use_multishop}
|
||||
<input type="checkbox" style="vertical-align: text-top" onclick="checkAllMultishopDefaultValue(this)" /> <b>{l s='Check/uncheck all'}</b> {l s='(Check boxes if you want to set a custom value for this shop or group shop context)'}
|
||||
<div class="separation"></div>
|
||||
{/if}
|
||||
|
||||
{foreach $categoryData['fields'] AS $key => $field}
|
||||
{if $field['type'] == 'hidden'}
|
||||
<input type="hidden" name="{$key}" value="{$field['value']}" />
|
||||
{else}
|
||||
<div style="clear: both; padding-top:15px;" id="conf_id_{$key}" {if $field['is_invisible']} class="isInvisible"{/if}>
|
||||
{if !$categoryData['hide_multishop_checkbox'] && $field['multishop_default'] && empty($field['no_multishop_checkbox'])}
|
||||
<div class="preference_default_multishop">
|
||||
<input type="checkbox" name="multishopOverrideOption[{$key}]" value="1" {if !$field['is_disabled']}checked="checked"{/if} onclick="checkMultishopDefaultValue(this, '{$key}')" />
|
||||
</div>
|
||||
{/if}
|
||||
{block name="label"}
|
||||
{if isset($field['title'])}
|
||||
<label class="conf_title">
|
||||
{$field['title']}</label>
|
||||
{/if}
|
||||
{/block}
|
||||
{block name="field"}
|
||||
<div class="margin-form">
|
||||
{block name="input"}
|
||||
{if $field['type'] == 'select'}
|
||||
{if $field['list']}
|
||||
<select name="{$key}"{if isset($field['js'])} onchange="{$field['js']}"{/if} id="{$key}" {if isset($field['size'])} size="{$field['size']}"{/if}>
|
||||
{foreach $field['list'] AS $k => $option}
|
||||
<option value="{$option[$field['identifier']]}"{if $field['value'] == $option[$field['identifier']]} selected="selected"{/if}>{$option['name']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{else if isset($input.empty_message)}
|
||||
{$input.empty_message}
|
||||
{/if}
|
||||
{elseif $field['type'] == 'bool'}
|
||||
<label class="t" for="{$key}_on"><img src="../img/admin/enabled.gif" alt="{l s='Yes'}" title="{l s='Yes'}" /></label>
|
||||
<input type="radio" name="{$key}" id="{$key}_on" value="1" {if $field['value']} checked="checked"{/if}{if isset($field['js']['on'])} {$field['js']['on']}{/if}/>
|
||||
<label class="t" for="{$key}_on"> {l s='Yes'}</label>
|
||||
<label class="t" for="{$key}_off"><img src="../img/admin/disabled.gif" alt="{l s='No'}" title="{l s='No'}" style="margin-left: 10px;" /></label>
|
||||
<input type="radio" name="{$key}" id="{$key}_off" value="0" {if !$field['value']} checked="checked"{/if}{if isset($field['js']['off'])} {$field['js']['off']}{/if}/>
|
||||
<label class="t" for="{$key}_off"> {l s='No'}</label>
|
||||
{elseif $field['type'] == 'radio'}
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<input type="radio" name="{$key}" id="{$key}_{$k}" value="{$k}"{if $k == $field['value']} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
<label class="t" for="{$key}_{$k}"> {$v}</label><br />
|
||||
{/foreach}
|
||||
<br />
|
||||
{elseif $field['type'] == 'checkbox'}
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<input type="checkbox" name="{$key}" id="{$key}{$k}_on" value="{$k|intval}"{if $k == $field['value']} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
<label class="t" for="{$key}{$k}_on"> {$v}</label><br />
|
||||
{/foreach}
|
||||
<br />
|
||||
{elseif $field['type'] == 'checkboxmultiple'}
|
||||
{assign var=checked_values value=explode(',', $field['value'])}
|
||||
{foreach $field['choices'] AS $k => $v}
|
||||
<input type="checkbox" name="{$key}[]" id="{$key}{$k}_on" value="{$k}"{if in_array($k, $checked_values)} checked="checked"{/if}{if isset($field['js'][$k])} {$field['js'][$k]}{/if}/>
|
||||
<label class="t" for="{$key}{$k}_on">{$v}</label><br />
|
||||
{/foreach}
|
||||
{elseif $field['type'] == 'text'}
|
||||
<input type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value="{$field['value']|escape:'htmlall':'UTF-8'}" {if isset($field['autocomplete']) && !$field['autocomplete']}autocomplete="off"{/if}/>
|
||||
{if isset($field['suffix'])} {$field['suffix']|strval}{/if}
|
||||
{elseif $field['type'] == 'password'}
|
||||
<input type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value="" {if isset($field['autocomplete']) && !$field['autocomplete']}autocomplete="off"{/if} />
|
||||
{if isset($field['suffix'])} {$field['suffix']|strval}{/if}
|
||||
{elseif $field['type'] == 'textarea'}
|
||||
<textarea name={$key} cols="{$field['cols']}" rows="{$field['rows']}">{$field['value']|escape:'htmlall':'UTF-8'}</textarea>
|
||||
{elseif $field['type'] == 'file'}
|
||||
{if isset($field['thumb']) && $field['thumb']}
|
||||
<img src="{$field['thumb']}" alt="{$field['title']}" title="{$field['title']}" /><br />
|
||||
{/if}
|
||||
<input type="file" name="{$key}" />
|
||||
{elseif $field['type'] == 'color'}
|
||||
<input type="color"
|
||||
size="{$field['size']}"
|
||||
data-hex="true"
|
||||
{if isset($input.class)}class="{$field['class']}"
|
||||
{else}class="color mColorPickerInput"{/if}
|
||||
name="{$field['name']}"
|
||||
class="{if isset($field['class'])}{$field['class']}{/if}"
|
||||
value="{$field['value']|escape:'htmlall':'UTF-8'}" />
|
||||
{elseif $field['type'] == 'price'}
|
||||
{$currency_left_sign}<input type="text" size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}" value="{$field['value']|escape:'htmlall':'UTF-8'}" />{$currency_right_sign} {l s='(tax excl.)'}
|
||||
{elseif $field['type'] == 'textLang' || $field['type'] == 'textareaLang' || $field['type'] == 'selectLang'}
|
||||
{if $field['type'] == 'textLang'}
|
||||
{foreach $field['languages'] AS $id_lang => $value}
|
||||
<div id="{$key}_{$id_lang}" style="margin-bottom:8px; display: {if $id_lang == $current_id_lang}block{else}none{/if}; float: left; vertical-align: top;">
|
||||
<input type="text" size="{if isset($field['size'])}{$field['size']|intval}{else}5{/if}" name="{$key}_{$id_lang}" value="{$value|escape:'htmlall':'UTF-8'}" />
|
||||
</div>
|
||||
{/foreach}
|
||||
{elseif $field['type'] == 'textareaLang'}
|
||||
{foreach $field['languages'] AS $id_lang => $value}
|
||||
<div id="{$key}_{$id_lang}" style="display: {if $id_lang == $current_id_lang}block{else}none{/if}; float: left;">
|
||||
<textarea rows="{$field['rows']}" cols="{$field['cols']|intval}" name="{$key}_{$id_lang}">{$value|replace:'\r\n':"\n"}</textarea>
|
||||
</div>
|
||||
{/foreach}
|
||||
{elseif $field['type'] == 'selectLang'}
|
||||
{foreach $languages as $language}
|
||||
<div id="{$key}_{$language.id_lang}" style="margin-bottom:8px; display: {if $language.id_lang == $current_id_lang}block{else}none{/if}; float: left; vertical-align: top;">
|
||||
<select name="{$key}_{$language.iso_code|upper}">
|
||||
{foreach $field['list'] AS $k => $v}
|
||||
<option value="{if isset($v.cast)}{$v.cast[$v[$field.identifier]]}{else}{$v[$field.identifier]}{/if}"
|
||||
{if $field['value'][$language.id_lang] == $v['name']} selected="selected"{/if}>
|
||||
{$v['name']}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if count($languages) > 1}
|
||||
<div class="displayed_flag">
|
||||
<img src="../img/l/{$current_id_lang}.jpg"
|
||||
class="pointer"
|
||||
id="language_current_{$key}"
|
||||
onclick="toggleLanguageFlags(this);" />
|
||||
</div>
|
||||
<div id="languages_{$key}" class="language_flags">
|
||||
{l s='Choose language:'}<br /><br />
|
||||
{foreach $languages as $language}
|
||||
<img src="../img/l/{$language.id_lang}.jpg"
|
||||
class="pointer"
|
||||
alt="{$language.name}"
|
||||
title="{$language.name}"
|
||||
onclick="changeLanguage('{$key}', '{if isset($custom_key)}{$custom_key}{else}{$key}{/if}', {$language.id_lang}, '{$language.iso_code}');" />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
<br style="clear:both">
|
||||
{/if}
|
||||
|
||||
{if isset($field['required']) && $field['required'] && $field['type'] != 'radio'}
|
||||
<sup>*</sup>
|
||||
{/if}
|
||||
{if isset($field['hint'])}<span class="hint" name="help_box">{$field['hint']}<span class="hint-pointer"> </span></span>{/if}
|
||||
{/block}{* end block input *}
|
||||
{if isset($field['desc'])}<p class="preference_description">{$field['desc']}</p>{/if}
|
||||
{if $field['is_invisible']}<p class="warn">{l s='You can\'t change the value of this configuration field in the context of this shop.'}</p>{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
{/block}{* end block field *}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if isset($categoryData['submit'])}
|
||||
<div class="margin-form">
|
||||
<input type="submit"
|
||||
value="{if isset($categoryData['submit']['title'])}{$categoryData['submit']['title']}{else}{l s='Save'}{/if}"
|
||||
name="{if isset($categoryData['submit']['name'])}{$categoryData['submit']['name']}{else}submitOptions{$table}{/if}"
|
||||
class="{if isset($categoryData['submit']['class'])}{$categoryData['submit']['class']}{else}button{/if}"
|
||||
id="{$table}_form_submit_btn"
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
{if isset($categoryData['required_fields']) && $categoryData['required_fields']}
|
||||
<div class="small"><sup>*</sup> {l s='Required field'}</div>
|
||||
{/if}
|
||||
{if isset($categoryData['bottom'])}{$categoryData['bottom']}{/if}
|
||||
</fieldset><br />
|
||||
{/foreach}
|
||||
{hook h='displayAdminOptions'}
|
||||
{if isset($name_controller)}
|
||||
{capture name=hookName assign=hookName}display{$name_controller|ucfirst}Options{/capture}
|
||||
{hook h=$hookName}
|
||||
{elseif isset($smarty.get.controller)}
|
||||
{capture name=hookName assign=hookName}display{$smarty.get.controller|ucfirst|htmlentities}Options{/capture}
|
||||
{hook h=$hookName}
|
||||
{/if}
|
||||
</form>
|
||||
|
||||
{/if}
|
||||
|
||||
{/block}
|
||||
{block name="after"}{/block}
|
||||
5
modules/x13googlemerchant/views/templates/admin/tab.tpl
Normal file
5
modules/x13googlemerchant/views/templates/admin/tab.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}
|
||||
{include file="./tab_15.tpl"}
|
||||
{else}
|
||||
{include file="./tab_16.tpl"}
|
||||
{/if}
|
||||
81
modules/x13googlemerchant/views/templates/admin/tab_15.tpl
Normal file
81
modules/x13googlemerchant/views/templates/admin/tab_15.tpl
Normal file
@@ -0,0 +1,81 @@
|
||||
<h4>{l s='Google merchant XML' mod='x13googlemerchant'}</h4>
|
||||
<div class="separation"></div>
|
||||
|
||||
<input type="hidden" name="x13googlemerchant_product_extra" value="1">
|
||||
|
||||
<table cellpadding="5" style="width:100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin-top: 15px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-left"><label>{l s='Nazwa produktu' mod='x13googlemerchant'}</label></td>
|
||||
<td style="padding-bottom:5px;" class="translatable">
|
||||
{foreach from=$languages item=language}
|
||||
<div class="lang_{$language.id_lang}" style="{if $language.id_lang != $default_language}display: none;{/if} float: left;">
|
||||
<input type="text" id="custom_title_{$language.id_lang}" name="custom_title[{$language.id_lang}]" value="{if isset($custom_title[$language.id_lang])}{$custom_title[$language.id_lang]}{/if}">
|
||||
</div>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-left"></td>
|
||||
<td style="padding-bottom:5px;">
|
||||
<p class="preference_description">
|
||||
{l s='{product_name} - Nazwa produktu' mod='x13googlemerchant'}<br />
|
||||
{l s='{product_name_attribute} - Nazwa atrybutu' mod='x13googlemerchant'}<br /><br />
|
||||
{l s='Pozostawiając te pole puste zostanie ustawiona domyślna nazwa produktu' mod='x13googlemerchant'}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin-top: 15px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-left"><label>{l s='Eksportuj' mod='x13googlemerchant'}</label></td>
|
||||
<td style="padding-bottom:5px;">
|
||||
<label class="t" for="custom_export_on"><img src="../img/admin/enabled.gif" alt="{l s='Yes'}" title="{l s='Yes'}" /></label>
|
||||
<input type="radio" name="custom_export" id="custom_export_on" value="1" {if $custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
|
||||
<label class="t" for="custom_export_off"><img src="../img/admin/disabled.gif" alt="{l s='No'}" title="{l s='No'}" /></label>
|
||||
<input type="radio" name="custom_export" id="custom_export_off" value="0" {if !$custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
|
||||
<p class="preference_description">{l s='Jeśli opcja jest nieaktywna, wysłane będą wszystkie produkty - jeśli chcesz wybrać konkretny produkt - zmień to w konfiguracji modułu' mod='x13googlemerchant'}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin-top: 15px;">
|
||||
<tbody>
|
||||
{for $i = 0 to 4}
|
||||
<tr>
|
||||
<td class="col-left"><label>{l s='Etykieta niestandardowa' mod='x13googlemerchant'} {$i+1}</label></td>
|
||||
<td style="padding-bottom:5px;" class="translatable">
|
||||
{foreach from=$languages item=language}
|
||||
<div class="lang_{$language.id_lang}" style="{if $language.id_lang != $default_language}display: none;{/if} float: left;">
|
||||
<input type="text" id="custom_label_{$i}_{$language.id_lang}" name="custom_label[{$language.id_lang}][{$i}]" value="{if isset($custom_labels[$language.id_lang][$i])}{$custom_labels[$language.id_lang][$i]}{else}{/if}">
|
||||
</div>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/for}
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script type="text/javascript">
|
||||
displayFlags(languages, id_language, allowEmployeeFormLang);
|
||||
</script>
|
||||
110
modules/x13googlemerchant/views/templates/admin/tab_16.tpl
Normal file
110
modules/x13googlemerchant/views/templates/admin/tab_16.tpl
Normal file
@@ -0,0 +1,110 @@
|
||||
<div class="panel clearfix" {if version_compare($smarty.const._PS_VERSION_, '1.7.0.0', '>')}style="padding: 10px;"{/if}>
|
||||
{if version_compare($smarty.const._PS_VERSION_, '1.7', '>=')}
|
||||
{else}
|
||||
<h3>{l s='Google merchant XML' mod='x13googlemerchant'}</h3>
|
||||
{/if}
|
||||
|
||||
<div class="form-group clearfix">
|
||||
<label for="" class="control-label form-control-label col-lg-3">
|
||||
<span>{l s='Eksportuj' mod='x13allegro'}</span>
|
||||
</label>
|
||||
<div class="col-lg-5">
|
||||
{if version_compare($smarty.const._PS_VERSION_, '1.7', '>=')}
|
||||
<span class="ps-switch">
|
||||
<input type="radio" name="custom_export" id="custom_export_off" class="ps-switch" value="0" {if !$custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
{strip}<label for="custom_export_off">{l s='No'}</label>{/strip}
|
||||
|
||||
<input type="radio" name="custom_export" id="custom_export_on" class="ps-switch" value="1" {if $custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
{strip}<label for="custom_export_on">{l s='Yes'}</label>{/strip}
|
||||
<span class="slide-button"></span>
|
||||
</span>
|
||||
{else}
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
<input type="radio" name="custom_export" id="custom_export_on" value="1" {if $custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
{strip}<label for="custom_export_on">{l s='Yes'}</label>{/strip}
|
||||
|
||||
<input type="radio" name="custom_export" id="custom_export_off" value="0" {if !$custom_export}checked="checked"{/if} {if !$is_custom_export}disabled="disabled"{/if} />
|
||||
{strip}<label for="custom_export_off">{l s='No'}</label>{/strip}
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
{/if}
|
||||
<div class="help-block form-text">{l s='Jeśli opcja jest nieaktywna, wysłane będą wszystkie produkty - jeśli chcesz wybrać konkretny produkt - zmień to w konfiguracji modułu' mod='x13googlemerchant'}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group clearfix">
|
||||
<label for="custom_title" class="control-label form-control-label col-lg-3">
|
||||
<span>{l s='Nazwa produktu' mod='x13googlemerchant'}</span>
|
||||
</label>
|
||||
|
||||
<div class="col-lg-9">
|
||||
{foreach from=$languages item=language}
|
||||
<div class="translatable-field lang-{$language.id_lang} row clearfix" style="{if $language.id_lang != $default_language}display: none;{/if}">
|
||||
<div class="col-lg-5">
|
||||
<input type="text" class="form-control" id="custom_title_{$language.id_lang}" name="custom_title[{$language.id_lang}]" value="{if isset($custom_title[$language.id_lang])}{$custom_title[$language.id_lang]}{/if}">
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" tabindex="-1">
|
||||
{$language.iso_code}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=language}
|
||||
<li>
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">{$language.name}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
<div class="col-lg-9 col-lg-offset-3">
|
||||
<div class="help-block form-text">
|
||||
{l s='{product_name} - Nazwa produktu' mod='x13googlemerchant'}<br />
|
||||
{l s='{product_name_attribute} - Nazwa atrybutu' mod='x13googlemerchant'}<br /><br />
|
||||
{l s='Pozostawiając te pole puste zostanie ustawiona domyślna nazwa produktu' mod='x13googlemerchant'}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{for $i = 0 to 4}
|
||||
<div class="form-group clearfix">
|
||||
<label class="control-label form-control-label col-lg-3">{l s='Etykieta niestandardowa' mod='x13googlemerchant'} {$i+1}</label>
|
||||
|
||||
<div class="col-lg-9">
|
||||
{foreach from=$languages item=language}
|
||||
<div class="translatable-field lang-{$language.id_lang} row clearfix" style="{if $language.id_lang != $default_language}display: none;{/if}">
|
||||
<div class="col-lg-8">
|
||||
<input type="text" class="form-control" id="custom_label_{$i}_{$language.id_lang}" name="custom_label[{$language.id_lang}][{$i}]" value="{if isset($custom_labels[$language.id_lang][$i])}{$custom_labels[$language.id_lang][$i]}{else}{/if}">
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" tabindex="-1">
|
||||
{$language.iso_code}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=language}
|
||||
<li>
|
||||
<a href="javascript:hideOtherLanguage({$language.id_lang});">{$language.name}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
{/for}
|
||||
|
||||
<input type="hidden" name="x13googlemerchant_product_extra" value="1">
|
||||
|
||||
{if version_compare($smarty.const._PS_VERSION_, '1.7.0.0', '<')}
|
||||
<div class="panel-footer">
|
||||
<a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}" class="btn btn-default"><i class="process-icon-cancel"></i> {l s='Cancel'}</a>
|
||||
<button type="submit" name="submitAddproduct" class="btn btn-default pull-right"><i class="process-icon-loading"></i> {l s='Save'}</button>
|
||||
<button type="submit" name="submitAddproductAndStay" class="btn btn-default pull-right"><i class="process-icon-loading"></i> {l s='Save and stay'}</button>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
Reference in New Issue
Block a user