// Porting more product tpl

This commit is contained in:
Kevin Granger committed 2013-07-09 19:10:56 +02:00
1 parent 1f33638f32
commit ec466b8c70
13 files changed
+453 -388

No files matched your search

+1 -3
View File
@@ -59,6 +59,4 @@ if ($option)
$grid->setOption($option); $grid->setOption($option);
$grid->create($render, $type, $width, $height, $start, $limit, $sort, $dir); $grid->create($render, $type, $width, $height, $start, $limit, $sort, $dir);
$grid->render(); $grid->render();
+1 -1
View File
@@ -30,4 +30,4 @@
* Email: dave@fontawesome.io * Email: dave@fontawesome.io
* Twitter: http://twitter.com/byscuits * Twitter: http://twitter.com/byscuits
* Work: Lead Product Designer @ Kyruus - http://kyruus.com * Work: Lead Product Designer @ Kyruus - http://kyruus.com
*/@font-face{font-family:'FontAwesome';src:url("../font/fontawesome-webfont.eot?v=3.2.1");src:url("../font/fontawesome-webfont.eot?#iefix&v=3.2.1") format("embedded-opentype"),url("../font/fontawesome-webfont.woff?v=3.2.1") format("woff"),url("../font/fontawesome-webfont.ttf?v=3.2.1") format("truetype"),url("../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}a [class^="icon-"],a [class*=" icon-"]{display:inline}[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em}.icons-ul{margin-left:2.142857142857143em;list-style-type:none}.icons-ul>li{position:relative}.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eeeeee}.icon-light{color:#ffffff}.icon-dark{color:#333333}.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}.btn [class^="icon-"].icon-large,.toolbar_btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.toolbar_btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.toolbar_btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.toolbar_btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].pull-left.icon-2x,.toolbar_btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.toolbar_btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.toolbar_btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x,.toolbar_btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.toolbar_btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large,.toolbar_btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn-small.toolbar_btn [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn-small.toolbar_btn [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn-small.toolbar_btn [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x,.btn-small.toolbar_btn [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn-large.toolbar_btn [class^="icon-"],.btn.btn-large [class*=" icon-"],.btn-large.toolbar_btn [class*=" icon-"]{margin-top:0}Line truncated */@font-face{font-family:'FontAwesome';src:url("../font/fontawesome-webfont.eot?v=3.2.1");src:url("../font/fontawesome-webfont.eot?#iefix&v=3.2.1") format("embedded-opentype"),url("../font/fontawesome-webfont.woff?v=3.2.1") format("woff"),url("../font/fontawesome-webfont.ttf?v=3.2.1") format("truetype"),url("../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}a [class^="icon-"],a [class*=" icon-"]{display:inline}[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em}.icons-ul{margin-left:2.142857142857143em;list-style-type:none}.icons-ul>li{position:relative}.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eeeeee}.icon-light{color:#ffffff}.icon-dark{color:#333333}.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}.btn [class^="icon-"].icon-large,.toolbar_btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.toolbar_btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.toolbar_btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.toolbar_btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].pull-left.icon-2x,.toolbar_btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.toolbar_btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.toolbar_btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x,.toolbar_btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.toolbar_btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large,.toolbar_btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn-small.toolbar_btn [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn-small.toolbar_btn [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn-small.toolbar_btn [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x,.btn-small.toolbar_btn [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn-large.toolbar_btn [class^="icon-"],.btn.btn-large [class*=" icon-"],.btn-large.toolbar_btn [class*=" icon-"]{margin-top:0}Line truncated
@@ -351,4 +351,10 @@ input[type="text"].filter, input[type="password"].filter, select.filter
word-wrap: nowrap word-wrap: nowrap
font-size: 12px font-size: 12px
padding: 3px 7px 3px 7px padding: 3px 7px 3px 7px
tbody > tr:hover > td
cursor: pointer
//fix ?
form .alert
clear: both
@@ -25,95 +25,81 @@
<input type="hidden" name="submitted_tabs[]" value="Associations" /> <input type="hidden" name="submitted_tabs[]" value="Associations" />
<div class="Associations"> <div class="Associations">
<h4>{l s='Associations'}</h4>
<legend>{l s='Associations'}</legend>
{include file="controllers/products/multishop/check_fields.tpl" product_tab="Associations"} {include file="controllers/products/multishop/check_fields.tpl" product_tab="Associations"}
<div class="separation"></div> <div id="no_default_category" class="alert alert-info">
<div id="no_default_category" class="alert alert-info"> {l s='Please select a default category.'}
{l s='Please select a default category.'}
</div> </div>
<table>
<tr>
<td class="col-left">
{include file="controllers/products/multishop/checkbox.tpl" field="category_box" type="category_box"}
<label for="category_block">{l s='Associated categories:'}</label>
</td>
<td class="col-right">
<div id="category_block">
{$category_tree}
</div>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td></td>
<td class="col-right">
<a class="button bt-icon confirm_leave" href="{$link->getAdminLink('AdminCategories')|escape:'htmlall':'UTF-8'}&addcategory">
<img src="../img/admin/add.gif" alt="{l s='Create new category'}" title="{l s='Create new category'}" />
<span>{l s='Create new category'}</span>
</a>
</td>
</tr>
<tr>
<td class="col-left">
{include file="controllers/products/multishop/checkbox.tpl" field="id_category_default" type="default"}
<label for="id_category_default">{l s='Default category:'}</label>
</td>
<td class="col-right">
<select id="id_category_default" name="id_category_default">
{foreach from=$selected_cat item=cat}
<option value="{$cat.id_category}" {if $id_category_default == $cat.id_category}selected="selected"{/if} >{$cat.name}</option>
{/foreach}
</select>
<div class="alert alert-info" style="display:block;">{l s='The default category is the category displayed by default.'}</div>
</td>
</tr>
</table>
<div class="separation"></div>
<table>
<tr>
<td class="col-left"><label>{l s='Accessories:'}</label></td>
<td style="padding-bottom:5px;">
<input type="hidden" name="inputAccessories" id="inputAccessories" value="{foreach from=$accessories item=accessory}{$accessory.id_product}-{/foreach}" />
<input type="hidden" name="nameAccessories" id="nameAccessories" value="{foreach from=$accessories item=accessory}{$accessory.name|escape:'htmlall':'UTF-8'}¤{/foreach}" />
<div id="ajax_choose_product"> <div class="row">
<p style="clear:both;margin-top:0;"> {include file="controllers/products/multishop/checkbox.tpl" field="category_box" type="category_box"}
<input type="text" value="" id="product_autocomplete_input" /> <label class="control-label col-lg-3" for="category_block">{l s='Associated categories:'}</label>
{l s='Begin typing the first letters of the product name, then select the product from the drop-down list.'} <div class="col-lg-4">
</p> <div id="category_block">
<p class="preference_description">{l s='(Do not forget to save the product afterward)'}</p> {$category_tree}
<!--<img onclick="$(this).prev().search();" style="cursor: pointer;" src="../img/admin/add.gif" alt="{l s='Add an accessory'}" title="{l s='Add an accessory'}" />--> </div>
</div> <a class="btn btn-default bt-icon confirm_leave" href="{$link->getAdminLink('AdminCategories')|escape:'htmlall':'UTF-8'}&addcategory">
<div id="divAccessories"> <i class="icon-plus-sign"></i> {l s='Create new category'}
{* @todo : donot use 3 foreach, but assign var *} </a>
{foreach from=$accessories item=accessory} </div>
{$accessory.name|escape:'htmlall':'UTF-8'}{if !empty($accessory.reference)}{$accessory.reference}{/if} </div>
<span class="delAccessory" name="{$accessory.id_product}" style="cursor: pointer;">
<img src="../img/admin/delete.gif" class="middle" alt="" /> <div class="row">
</span><br /> {include file="controllers/products/multishop/checkbox.tpl" field="id_category_default" type="default"}
{/foreach} <label class="control-label col-lg-3" for="id_category_default">{l s='Default category:'}</label>
</div> <div class="col-lg-5">
</td> <select id="id_category_default" name="id_category_default">
</tr> {foreach from=$selected_cat item=cat}
<tr> <option value="{$cat.id_category}" {if $id_category_default == $cat.id_category}selected="selected"{/if} >{$cat.name}</option>
<br /> {/foreach}
<td class="col-left"><label>{l s='Manufacturer:'}</label></td> </select>
<td style="padding-bottom:5px;"> <div class="alert alert-info" style="display:block;">{l s='The default category is the category displayed by default.'}</div>
<select name="id_manufacturer" id="id_manufacturer"> </div>
<option value="0">-- {l s='Choose (optional)'} --</option> </div>
{if $product->id_manufacturer}
<option value="{$product->id_manufacturer}" selected="selected">{$product->manufacturer_name}</option> <div class="row">
{/if} <label class="control-label col-lg-3">{l s='Accessories:'}</label>
<option disabled="disabled">----------</option> <div class="col-lg-5">
</select>&nbsp;&nbsp;&nbsp; <input type="hidden" name="inputAccessories" id="inputAccessories" value="{foreach from=$accessories item=accessory}{$accessory.id_product}-{/foreach}" />
<a class="button bt-icon confirm_leave" style="margin-bottom:0" href="{$link->getAdminLink('AdminManufacturers')|escape:'htmlall':'UTF-8'}&addmanufacturer"> <input type="hidden" name="nameAccessories" id="nameAccessories" value="{foreach from=$accessories item=accessory}{$accessory.name|escape:'htmlall':'UTF-8'}¤{/foreach}" />
<img src="../img/admin/add.gif" alt="{l s='Create new manufacturer'}" title="{l s='Create new manufacturer'}" />
<span>{l s='Create new manufacturer'}</span> <div id="ajax_choose_product">
</a> <p style="clear:both;margin-top:0;">
</td> <input type="text" value="" id="product_autocomplete_input" />
</tr> {l s='Begin typing the first letters of the product name, then select the product from the drop-down list.'}
</table> </p>
<p class="preference_description">{l s='(Do not forget to save the product afterward)'}</p>
<!--<img onclick="$(this).prev().search();" style="cursor: pointer;" src="../img/admin/add.gif" alt="{l s='Add an accessory'}" title="{l s='Add an accessory'}" />-->
</div>
<div id="divAccessories">
{* @todo : donot use 3 foreach, but assign var *}
{foreach from=$accessories item=accessory}
{$accessory.name|escape:'htmlall':'UTF-8'}{if !empty($accessory.reference)}{$accessory.reference}{/if}
<span class="delAccessory" name="{$accessory.id_product}" style="cursor: pointer;">
<img src="../img/admin/delete.gif" class="middle" alt="" />
</span><br />
{/foreach}
</div>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Manufacturer:'}</label>
<div class="col-lg-5">
<select name="id_manufacturer" id="id_manufacturer">
<option value="0">-- {l s='Choose (optional)'} --</option>
{if $product->id_manufacturer}
<option value="{$product->id_manufacturer}" selected="selected">{$product->manufacturer_name}</option>
{/if}
<option disabled="disabled">----------</option>
</select>
<a class="btn btn-default bt-icon confirm_leave" style="margin-bottom:0" href="{$link->getAdminLink('AdminManufacturers')|escape:'htmlall':'UTF-8'}&addmanufacturer">
<i class="icon-plus-sign"></i> {l s='Create new manufacturer'}
</a>
</div>
</div>
</div> </div>
@@ -45,23 +45,24 @@
); );
{/foreach} {/foreach}
</script> </script>
<h4>{l s='Add or modify combinations for this product.'}</h4>
<div class="separation"></div> {l s='Or use the'} <legend>{l s='Add or modify combinations for this product.'}</legend>
&nbsp;<a class="button bt-icon confirm_leave" href="index.php?tab=AdminAttributeGenerator&id_product={$product->id}&attributegenerator&token={$token_generator}"><img src="../img/admin/appearance.gif" alt="combinations_generator" class="middle" title="{l s='Product combinations generator'}" /><span>{l s='Product combinations generator'}</span></a> <div class="alert alert-info">
{l s='in order to automatically create a set of combinations.'} <p>
{l s='Or use the'}&nbsp;<a class="btn btn-default bt-icon confirm_leave" href="index.php?tab=AdminAttributeGenerator&id_product={$product->id}&attributegenerator&token={$token_generator}"><i class="icon-magic"></i> <span>{l s='Product combinations generator'}</span></a> {l s='in order to automatically create a set of combinations.'}</p>
</div>
{if $combination_exists} {if $combination_exists}
<div class="alert alert-block" style="display:block"> <div class="alert alert-info" style="display:block">
<ul> <p>{l s='Some combinations already exist. If you want to generate new combinations, the quantities for the existing combinations will be lost.'}</p>
<li>{l s='Some combinations already exist. If you want to generate new combinations, the quantities for the existing combinations will be lost.'}</li> <p>{l s='You can add a combination by clicking the link "Add new combination" on the toolbar.'}</p>
<li>{l s='You can add a combination by clicking the link "Add new combination" on the toolbar.'}</li>
</ul>
</div> </div>
{/if} {/if}
{if isset($display_multishop_checkboxes) && $display_multishop_checkboxes} {if isset($display_multishop_checkboxes) && $display_multishop_checkboxes}
<br /> <br />
{include file="controllers/products/multishop/check_fields.tpl" product_tab="Combinations"} {include file="controllers/products/multishop/check_fields.tpl" product_tab="Combinations"}
{/if} {/if}
<div class="separation"></div>
<div id="add_new_combination" style="display: none;"> <div id="add_new_combination" style="display: none;">
<table cellpadding="5" style="width:100%"> <table cellpadding="5" style="width:100%">
@@ -232,7 +232,7 @@
</div> </div>
<form id="product_form" class="form-horizontal col-lg-9" action="{$form_action}" method="post" enctype="multipart/form-data" name="product" style="display:none;"> <form id="product_form" class="form-horizontal col-lg-10" action="{$form_action}" method="post" enctype="multipart/form-data" name="product" style="display:none;">
<input type="hidden" name="id_product" value="{$id_product}" /> <input type="hidden" name="id_product" value="{$id_product}" />
<input type="hidden" id="is_virtual" name="is_virtual" value="{$product->is_virtual|escape:html:'UTF-8'}" /> <input type="hidden" id="is_virtual" name="is_virtual" value="{$product->is_virtual|escape:html:'UTF-8'}" />
@@ -28,8 +28,8 @@
{assign var=class_input_ajax value=''} {assign var=class_input_ajax value=''}
{/if} {/if}
<input type="hidden" name="submitted_tabs[]" value="Informations" /> <input type="hidden" name="submitted_tabs[]" value="Informations" />
<h4 class="tab">{l s='Info.'}</h4> <legend class="tab">{l s='Info.'}</legend>
<p>{l s='Product global information'}</p> <div class="alert alert-info">{l s='Product global information'}</div>
<script type="text/javascript"> <script type="text/javascript">
{if isset($PS_ALLOW_ACCENTED_CHARS_URL) && $PS_ALLOW_ACCENTED_CHARS_URL} {if isset($PS_ALLOW_ACCENTED_CHARS_URL) && $PS_ALLOW_ACCENTED_CHARS_URL}
var PS_ALLOW_ACCENTED_CHARS_URL = 1; var PS_ALLOW_ACCENTED_CHARS_URL = 1;
@@ -116,9 +116,6 @@
</div> </div>
</div> </div>
{* global information *}
{include file="controllers/products/multishop/checkbox.tpl" field="name" type="default" multilang="true"}
<div class="row"> <div class="row">
<label class="control-label col-lg-3 required">{l s='Name:'}</label> <label class="control-label col-lg-3 required">{l s='Name:'}</label>
@@ -187,9 +184,8 @@
<option value="301" {if $product->redirect_type == '301'} selected="selected" {/if}>{l s='Redirect permanently (301)'}</option> <option value="301" {if $product->redirect_type == '301'} selected="selected" {/if}>{l s='Redirect permanently (301)'}</option>
<option value="302" {if $product->redirect_type == '302'} selected="selected" {/if}>{l s='Redirect temporarily (302)'}</option> <option value="302" {if $product->redirect_type == '302'} selected="selected" {/if}>{l s='Redirect temporarily (302)'}</option>
</select> </select>
<div class="help-block" name="help_box"> <div class="help-block" name="help_box">
<ul> <ul class="list-unstyled">
<li>{l s='404 : Not Found = Product does not exist and no redirect'}</li> <li>{l s='404 : Not Found = Product does not exist and no redirect'}</li>
<li>{l s='301 : Moved Permanently = Product Moved Permanently'}</li> <li>{l s='301 : Moved Permanently = Product Moved Permanently'}</li>
<li>{l s='302 : Moved Temporarily = Product moved temporarily'}</li> <li>{l s='302 : Moved Temporarily = Product moved temporarily'}</li>
@@ -198,28 +194,30 @@
</div> </div>
</div> </div>
<div class="row redirect_product_options redirect_product_options_product_choise" xstyle="display:none"> <div class="row redirect_product_options redirect_product_options_product_choise" style="display:none">
{include file="controllers/products/multishop/checkbox.tpl" field="active" type="radio" onclick=""} {include file="controllers/products/multishop/checkbox.tpl" field="active" type="radio" onclick=""}
<label class="control-label col-lg-3">{l s='Related product:'}</label> <label class="control-label col-lg-3">{l s='Related product:'}</label>
<div class="col-lg-5"> <div class="col-lg-5">
<input type="hidden" value="" name="id_product_redirected" /> <input type="hidden" value="" name="id_product_redirected" />
<input value="" id="related_product_autocomplete_input" autocomplete="off" class="ac_input" /> <input type="text" id="related_product_autocomplete_input" autocomplete="off" class="ac_input" />
</div>
<p>
<script>
var no_related_product = '{l s='No related product'}';
var id_product_redirected = {$product->id_product_redirected|intval};
var product_name_redirected = '{$product_name_redirected|escape:html:'UTF-8'}';
</script>
<span id="related_product_name">{l s='No related product'}</span>
<span id="related_product_remove" style="display:none"> <span id="related_product_remove" style="display:none">
<a hre="#" onclick="removeRelatedProduct(); return false" id="related_product_remove_link"> <a class="btn btn-default" href="#" onclick="removeRelatedProduct(); return false" id="related_product_remove_link">
<img src="../img/admin/delete.gif" class="middle" alt="" /> <i class="icon-trash"></i>
</a> </a>
</span> </span>
</p> <span id="related_product_name">{l s='No related product'}</span>
</div>
<script>
var no_related_product = '{l s='No related product'}';
var id_product_redirected = {$product->id_product_redirected|intval};
var product_name_redirected = '{$product_name_redirected|escape:html:'UTF-8'}';
</script>
</div> </div>
<div class="row"> <div class="row">
{include file="controllers/products/multishop/checkbox.tpl" field="visibility" type="default"} {include file="controllers/products/multishop/checkbox.tpl" field="visibility" type="default"}
<label class="control-label col-lg-3">{l s='Visibility:'}</label> <label class="control-label col-lg-3">{l s='Visibility:'}</label>
@@ -293,48 +291,66 @@
</div> </div>
{if $images} {if $images}
<div class="alert alert-info"> <div class="alert">
{l s='Do you want an image associated with the product in your description?'} {l s='Do you want an image associated with the product in your description?'}
<span class="addImageDescription" style="cursor:pointer">{l s='Click here'}</span>. <a class="addImageDescription" href="javascript:void(0);">{l s='Click here'}</a>.
</div> </div>
<div id="createImageDescription" style="display:none"> <div id="createImageDescription" class="well" style="display:none">
<label>{l s='Select your image:'}</label>
<ul class="smallImage"> <div class="row">
{foreach from=$images item=image key=key} <label class="control-label col-lg-3">{l s='Select your image:'}</label>
<li> <div class="col-lg-5">
{foreach from=$images item=image key=key}
<p class="checkbox-inline">
<input type="radio" name="smallImage" id="smallImage_{$key}" value="{$image.id_image}" {if $key == 0}checked="checked"{/if} > <input type="radio" name="smallImage" id="smallImage_{$key}" value="{$image.id_image}" {if $key == 0}checked="checked"{/if} >
<label for="smallImage_{$key}" class="t"> <label for="smallImage_{$key}" class="t">
<img src="{$image.src}" alt="{$image.legend}" /> <img src="{$image.src}" alt="{$image.legend}" />
</label> </label>
</li> </p>
{/foreach} {/foreach}
</ul> </div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Position:'}</label>
<div class="col-lg-5">
<p class="checkbox">
<input type="radio" name="leftRight" id="leftRight_1" value="left" checked>
<label for="leftRight_1" class="t">{l s='left'}</label>
</p>
<p class="checkbox">
<input type="radio" name="leftRight" id="leftRight_2" value="right">
<label for="leftRight_2" class="t">{l s='right'}</label>
</p>
</div>
</div>
<label>{l s='Position:'}</label> <div class="row">
<input type="radio" name="leftRight" id="leftRight_1" value="left" checked> <label class="control-label col-lg-3">{l s='Select the type of picture:'}</label>
<div class="col-lg-5">
<label for="leftRight_1" class="t">{l s='left'}</label> {foreach from=$imagesTypes key=key item=type}
<input type="radio" name="leftRight" id="leftRight_2" value="right"> <p class="checkbox">
<input type="radio" name="imageTypes" id="imageTypes_{$key}" value="{$type.name}" {if $key == 0}checked="checked"{/if}>
<label for="leftRight_2" class="t">{l s='right'}</label> <label for="imageTypes_{$key}" class="t">
{$type.name} <span>({$type.width}px {l s='by'} {$type.height}px)</span>
</label>
</p>
{/foreach}
</div>
</div>
<label>{l s='Select the type of picture:'}</label> <div class="row">
<label class="control-label col-lg-3">{l s='Image tag to insert:'}</label>
{foreach from=$imagesTypes key=key item=type} <div class="col-lg-4">
<input type="radio" name="imageTypes" id="imageTypes_{$key}" value="{$type.name}" {if $key == 0}checked="checked"{/if}> <input type="text" id="resultImage" name="resultImage" />
<label for="imageTypes_{$key}" class="t"> </div>
{$type.name} <span>({$type.width}px {l s='by'} {$type.height}px)</span>
</label>
{/foreach}
<label>{l s='Image tag to insert:'}</label>
<input type="text" id="resultImage" name="resultImage" />
<p class="help-block">{l s='The tag to copy/paste into the description.'}</p> <p class="help-block">{l s='The tag to copy/paste into the description.'}</p>
</div> </div>
</div>
{/if} {/if}
<div class="row"> <div class="row">
@@ -23,13 +23,23 @@
* International Registered Trademark & Property of PrestaShop SA * International Registered Trademark & Property of PrestaShop SA
*} *}
<div class="translatable">
{foreach from=$languages item=language} {foreach from=$languages item=language}
<div class="lang_{$language.id_lang}" style="{if !$language.is_default}display:none;{/if}float: left;"> <div class="input-group col-lg-12 translatable-field lang-{$language.id_lang}">
<input size="30" type="text" id="{$input_name}_{$language.id_lang}" <input id="{$input_name}_{$language.id_lang}" type="text"
name="{$input_name}_{$language.id_lang}" name="{$input_name}_{$language.id_lang}"
value="{$input_value[$language.id_lang]|htmlentitiesUTF8|default:''}" value="{$input_value[$language.id_lang]|htmlentitiesUTF8|default:''}"
onkeyup="if (isArrowKey(event)) return ;updateFriendlyURL();"/> onkeyup="if (isArrowKey(event)) return ;updateFriendlyURL();">
</div> <div class="input-group-btn">
{/foreach} <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
</div> <img src="{$base_url}/img/l/{$language.id_lang|intval}.jpg" alt="">
{$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});"><img src="{$base_url}/img/l/{$language.id_lang|intval}.jpg" alt=""> {$language.iso_code}</a></li>
{/foreach}
</ul>
</div>
</div>
{/foreach}
@@ -105,7 +105,7 @@ $(document).ready(function () {
</script> </script>
<input type="hidden" name="submitted_tabs[]" value="Prices" /> <input type="hidden" name="submitted_tabs[]" value="Prices" />
<h3>{l s='Product price'}</h3> <legend>{l s='Product price'}</legend>
<div class="alert alert-info"> <div class="alert alert-info">
{l s='You must enter either the pre-tax retail price, or the retail price with tax. The input field will be automatically calculated.'} {l s='You must enter either the pre-tax retail price, or the retail price with tax. The input field will be automatically calculated.'}
</div> </div>
@@ -117,7 +117,7 @@ $(document).ready(function () {
<label class="control-label col-lg-3">{l s='Pre-tax wholesale price:'}</label> <label class="control-label col-lg-3">{l s='Pre-tax wholesale price:'}</label>
<div class="input-group col-lg-2"> <div class="input-group col-lg-2">
<span class="input-group-addon">{$currency->prefix}{$currency->suffix}</span> <span class="input-group-addon">{$currency->prefix}{$currency->suffix}</span>
<input size="11" maxlength="14" name="wholesale_price" id="wholesale_price" type="text" value="{{toolsConvertPrice price=$product->wholesale_price}|string_format:'%.2f'}" onchange="this.value = this.value.replace(/,/g, '.');" /> <input maxlength="14" name="wholesale_price" id="wholesale_price" type="text" value="{{toolsConvertPrice price=$product->wholesale_price}|string_format:'%.2f'}" onchange="this.value = this.value.replace(/,/g, '.');" />
</div> </div>
<p class="help-block">{l s='Wholesale price'}</p> <p class="help-block">{l s='Wholesale price'}</p>
</div> </div>
@@ -172,7 +172,7 @@ $(document).ready(function () {
{if $tax_exclude_taxe_option} {if $tax_exclude_taxe_option}
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-9 col-offset-3">
<div class="alert"> <div class="alert">
{l s='Taxes are currently disabled'} : {l s='Taxes are currently disabled'} :
<a href="{$link->getAdminLink('AdminTaxes')|escape:'htmlall':'UTF-8'}">{l s='Tax options'}</a> <a href="{$link->getAdminLink('AdminTaxes')|escape:'htmlall':'UTF-8'}">{l s='Tax options'}</a>
@@ -182,7 +182,7 @@ $(document).ready(function () {
</div> </div>
{/if} {/if}
<div class="row" {if !$ps_use_ecotax} style="display:xnone;"{/if}> <div class="row" {if !$ps_use_ecotax} style="display:none;"{/if}>
{include file="controllers/products/multishop/checkbox.tpl" field="ecot" type="default"} {include file="controllers/products/multishop/checkbox.tpl" field="ecot" type="default"}
<label class="control-label col-lg-3">{l s='Eco-tax (tax incl.):'}</label> <label class="control-label col-lg-3">{l s='Eco-tax (tax incl.):'}</label>
<div class="input-group col-lg-2"> <div class="input-group col-lg-2">
@@ -192,7 +192,7 @@ $(document).ready(function () {
<span class="help-block">{l s='already included in price'}</span> <span class="help-block">{l s='already included in price'}</span>
</div> </div>
<div class="row" {if !$country_display_tax_label || $tax_exclude_taxe_option}style="display:xnone;"{/if} > <div class="row" {if !$country_display_tax_label || $tax_exclude_taxe_option}style="display:none;"{/if} >
<label class="control-label col-lg-3">{l s='Retail price with tax:'}</label> <label class="control-label col-lg-3">{l s='Retail price with tax:'}</label>
<div class="input-group col-lg-2"> <div class="input-group col-lg-2">
<span class="input-group-addon">{$currency->prefix}{$currency->suffix}</span> <span class="input-group-addon">{$currency->prefix}{$currency->suffix}</span>
@@ -213,22 +213,23 @@ $(document).ready(function () {
<span class="help-block">{l s='e.g. per lb.'}</span> <span class="help-block">{l s='e.g. per lb.'}</span>
</div> </div>
{if $ps_tax && $country_display_tax_label}
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-9 col-offset-3">
<div class="alert"> <div class="alert">
{*if $ps_tax && $country_display_tax_label*}
<span>{l s='or'} <span>{l s='or'}
{$currency->prefix}<span id="unit_price_with_tax">0.00</span>{$currency->suffix} {$currency->prefix}<span id="unit_price_with_tax">0.00</span>{$currency->suffix}
{l s='per'} <span id="unity_second">{$product->unity}</span> {l s='with tax'} {l s='per'} <span id="unity_second">{$product->unity}</span> {l s='with tax'}
</span> </span>
{*/if*}
</div> </div>
</div> </div>
</div> </div>
{/if}
<div class="row"> <div class="row">
{include file="controllers/products/multishop/checkbox.tpl" field="on_sale" type="default"} {include file="controllers/products/multishop/checkbox.tpl" field="on_sale" type="default"}
<div class="col-lg-12"> <div class="col-lg-9 col-offset-3">
<div class="checkbox"> <div class="checkbox">
<label class="control-label" for="on_sale" > <label class="control-label" for="on_sale" >
<input type="checkbox" name="on_sale" id="on_sale" {if $product->on_sale}checked="checked"{/if} value="1" /> <input type="checkbox" name="on_sale" id="on_sale" {if $product->on_sale}checked="checked"{/if} value="1" />
@@ -239,7 +240,7 @@ $(document).ready(function () {
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-9 col-offset-3">
<div class="alert"> <div class="alert">
<strong>{l s='Final retail price:'}</strong> <strong>{l s='Final retail price:'}</strong>
<span {if !$country_display_tax_label}style="display:none"{/if} > <span {if !$country_display_tax_label}style="display:none"{/if} >
@@ -264,17 +265,21 @@ $(document).ready(function () {
{if isset($specificPriceModificationForm)} {if isset($specificPriceModificationForm)}
<hr/> <hr/>
<h3>{l s='Specific prices'}</h3> <legend>{l s='Specific prices'}</legend>
<div class="alert alert-info"> <div class="alert alert-info">
{l s='You can set specific prices for clients belonging to different groups, different countries, etc...'} {l s='You can set specific prices for clients belonging to different groups, different countries, etc...'}
</div> </div>
<a class="btn btn-default" href="#" id="show_specific_price"> <div class="row">
<i class="icon-plus-sign"></i> {l s='Add a new specific price'} <div class="col-lg-12">
</a> <a class="btn btn-default" href="#" id="show_specific_price">
<a class="btn btn-default" href="#" id="hide_specific_price" style="display:none"> <i class="icon-plus-sign"></i> {l s='Add a new specific price'}
<i class="icon-remove"></i> {l s='Cancel new specific price'} </a>
</a> <a class="btn btn-default" href="#" id="hide_specific_price" style="display:none">
<i class="icon-remove"></i> {l s='Cancel new specific price'}
</a>
</div>
</div>
<script type="text/javascript"> <script type="text/javascript">
var product_prices = new Array(); var product_prices = new Array();
@@ -283,7 +288,7 @@ $(document).ready(function () {
{/foreach} {/foreach}
</script> </script>
<div id="add_specific_price" class="row" style="display: none;"> <div id="add_specific_price" class="well" style="display: none;">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="row"> <div class="row">
@@ -372,40 +377,47 @@ $(document).ready(function () {
</div> </div>
<div class="row"> <div class="row">
<label>{l s='Product price'} <label class="control-label col-lg-3">{l s='Product price'}
{if $country_display_tax_label} {if $country_display_tax_label}
{l s='(tax excl.):'} {l s='(tax excl.):'}
{/if} {/if}
</label> </label>
<div class="col-lg-9">
<div class="row">
<div class="input-group col-lg-4">
<span class="input-group-addon">{$currency->prefix}{$currency->suffix}</span>
<input type="text" disabled="disabled" name="sp_price" id="sp_price" value="{$product->price|string_format:'%.2f'}" />
</div>
<div class="col-lg-8">
<p class="checkbox">
<label>{l s='Leave base price:'}</label>
<input id="leave_bprice" type="checkbox" value="1" checked="checked" name="leave_bprice" />
</p>
</div>
</div>
</div>
</div> </div>
</div>
<!-- WIP -->
<span id="spm_currency_sign_pre_0">{$currency->prefix}</span>
<span id="spm_currency_sign_post_0">{$currency->suffix}</span>
<input type="text" disabled="disabled" name="sp_price" id="sp_price" value="{$product->price|string_format:'%.2f'}" size="11" />
<label>{l s='Leave base price:'}</label>
<input id="leave_bprice" type="checkbox" value="1" checked="checked" name="leave_bprice" />
<label>{l s='Apply a discount of:'}</label>
<input type="text" name="sp_reduction" value="0.00"/>
<select name="sp_reduction_type">
<option selected="selected">---</option>
<option value="amount">{l s='Amount'}</option>
<option value="percentage">{l s='Percentage'}</option>
</select>
<p class="help-block">{l s='The discount is applied after the tax'}</p>
<!-- // WIP -->
<div class="row">
<label class="control-label col-lg-3">{l s='Apply a discount of:'}</label>
<div class="col-lg-4">
<div class="row">
<div class="col-lg-6">
<input type="text" name="sp_reduction" value="0.00"/>
</div>
<div class="col-lg-6">
<select name="sp_reduction_type">
<option selected="selected">---</option>
<option value="amount">{l s='Amount'}</option>
<option value="percentage">{l s='Percentage'}</option>
</select>
</div>
</div>
</div>
<p class="help-block">{l s='The discount is applied after the tax'}</p>
</div>
</div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
@@ -440,30 +452,29 @@ $(document).ready(function () {
}); });
</script> </script>
<table id="specific_prices_list" class="table">
<table id="specific_prices_list"> <thead>
<thead> <tr>
<tr> <th class="cell border" >{l s='Rule'}</th>
<th class="cell border" >{l s='Rule'}</th> <th class="cell border" >{l s='Combination'}</th>
<th class="cell border" >{l s='Combination'}</th> {if $multi_shop}<th>{l s='Shop'}</th>{/if}
{if $multi_shop}<th>{l s='Shop'}</th>{/if} <th class="cell border">{l s='Currency'}</th>
<th class="cell border">{l s='Currency'}</th> <th class="cell border">{l s='Country'}</th>
<th class="cell border">{l s='Country'}</th> <th class="cell border">{l s='Group'}</th>
<th class="cell border">{l s='Group'}</th> <th class="cell border">{l s='Customer'}</th>
<th class="cell border">{l s='Customer'}</th> <th class="cell border">{l s='Fixed price'}</th>
<th class="cell border">{l s='Fixed price'}</th> <th class="cell border">{l s='Impact'}</th>
<th class="cell border">{l s='Impact'}</th> <th class="cell border">{l s='Period'}</th>
<th class="cell border">{l s='Period'}</th> <th class="cell border">{l s='From (quantity)'}</th>
<th class="cell border">{l s='From (quantity)'}</th> <th class="cell border">{l s='Action'}</th>
<th class="cell border">{l s='Action'}</th> </tr>
</tr> </thead>
</thead> <tbody>
<tbody> {$specificPriceModificationForm}
{$specificPriceModificationForm} <script type="text/javascript">
<script type="text/javascript"> $(document).ready(function() {
$(document).ready(function() { calcPriceTI();
calcPriceTI(); unitPriceWithTax('unit');
unitPriceWithTax('unit'); });
}); </script>
</script> {/if}
{/if}
@@ -22,71 +22,82 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA * International Registered Trademark & Property of PrestaShop SA
*} *}
<input type="hidden" name="submitted_tabs[]" value="Seo" /> <input type="hidden" name="submitted_tabs[]" value="Seo" />
<h4>{l s='SEO'}</h4> <legend>{l s='SEO'}</legend>
{include file="controllers/products/multishop/check_fields.tpl" product_tab="Seo"} {include file="controllers/products/multishop/check_fields.tpl" product_tab="Seo"}
<div class="separation"></div> <div class="row">
{include file="controllers/products/multishop/checkbox.tpl" field="meta_title" type="default" multilang="true"}
<table> <label class="control-label col-lg-3">{l s='Meta title:'}</label>
<tr> <div class="col-lg-8">
<td class="col-left"> <div class="row">
{include file="controllers/products/multishop/checkbox.tpl" field="meta_title" type="default" multilang="true"}
<label>{l s='Meta title:'}</label>
</td>
<td>
{include file="controllers/products/input_text_lang.tpl" {include file="controllers/products/input_text_lang.tpl"
languages=$languages languages=$languages
input_name='meta_title' input_name='meta_title'
input_value=$product->meta_title} input_value=$product->meta_title}
<p class="preference_description">{l s='Product page title: Leave blank to use the product name'}</p> </div>
</td> <p class="help-block">{l s='Product page title: Leave blank to use the product name'}</p>
</tr> </div>
<tr> </div>
<td class="col-left"> <div class="row">
{include file="controllers/products/multishop/checkbox.tpl" field="meta_description" type="default" multilang="true"} {include file="controllers/products/multishop/checkbox.tpl" field="meta_description" type="default" multilang="true"}
<label>{l s='Meta description:'}</label> <label class="control-label col-lg-3">{l s='Meta description:'}</label>
</td> <div class="col-lg-8">
<td> <div class="row">
{include file="controllers/products/input_text_lang.tpl" {include file="controllers/products/input_text_lang.tpl"
languages=$languages languages=$languages
input_name='meta_description' input_name='meta_description'
input_value=$product->meta_description input_value=$product->meta_description
input_hint='{l s=\'Forbidden characters:\'\} <>;=#{\}'} }
<p class="preference_description">{l s='A single sentence for the HTML header is needed. '}</p> </div>
</td> <p class="help-block">{l s='A single sentence for the HTML header is needed. '}</p>
</tr> </div>
<tr>
<td class="col-left"> </div>
{include file="controllers/products/multishop/checkbox.tpl" field="meta_keywords" type="default" multilang="true"} <div class="row">
<label>{l s='Meta keywords:'}</label> {include file="controllers/products/multishop/checkbox.tpl" field="meta_keywords" type="default" multilang="true"}
</td> <label class="control-label col-lg-3">{l s='Meta keywords:'}</label>
<td> <div class="col-lg-8">
{include file="controllers/products/input_text_lang.tpl" languages=$languages <div class="row">
input_value=$product->meta_keywords {include file="controllers/products/input_text_lang.tpl" languages=$languages
input_name='meta_keywords'} input_value=$product->meta_keywords
<p class="preference_description">{l s='Keywords for HTML header, separated by commas.'}</p> input_name='meta_keywords'}
</td> </div>
</tr> <p class="help-block">{l s='Keywords for HTML header, separated by commas.'}</p>
<tr> </div>
<td class="col-left"> </div>
{include file="controllers/products/multishop/checkbox.tpl" field="link_rewrite" type="default" multilang="true"} <div class="row">
<label>{l s='Friendly URL:'}</label> {include file="controllers/products/multishop/checkbox.tpl" field="link_rewrite" type="default" multilang="true"}
</td> <label class="control-label col-lg-3">{l s='Friendly URL:'}</label>
<td> <div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl" <div class="row">
languages=$languages <div class="col-lg-9">
input_value=$product->link_rewrite <div class="row">
input_name='link_rewrite'} {include file="controllers/products/input_text_lang.tpl"
languages=$languages
<p class="clear" style="padding:10px 0 0 0"> input_value=$product->link_rewrite
<a style="cursor:pointer" class="button" input_name='link_rewrite'}
onmousedown="updateFriendlyURLByName();">{l s='Generate'}</a>&nbsp; </div>
{l s='friendly URL from the product name.'}<br /><br /> </div>
{l s='The product link will look like this:'}
<div class="col-lg-3">
<a class="btn btn-default" onmousedown="updateFriendlyURLByName();"><i class="icon-random"></i> {l s='Generate'}</a>
</div>
</div>
<p class="help-block">{l s='friendly URL from the product name.'}</p>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-offset-3">
<div class="alert">
<i class="icon-link"></i> {l s='The product link will look like this:'}
{$curent_shop_url|escape:'htmlall':'UTF-8'}lang/{if isset($product->id)}{$product->id}{else}<b>id_product</b>{/if}-<span id="friendly-url">{$product->link_rewrite[$default_language]}</span>.html</p> {$curent_shop_url|escape:'htmlall':'UTF-8'}lang/{if isset($product->id)}{$product->id}{else}<b>id_product</b>{/if}-<span id="friendly-url">{$product->link_rewrite[$default_language]}</span>.html</p>
</td> </div>
</tr> </div>
</table> </div>
<script type="text/javascript">
hideOtherLanguage('{{$default_language}}');
</script>
@@ -24,68 +24,73 @@
*} *}
<input type="hidden" name="submitted_tabs[]" value="Shipping" /> <input type="hidden" name="submitted_tabs[]" value="Shipping" />
<h4 class="tab">1. {l s='Info.'}</h4> <legend>{l s='Shipping'}</legend>
<h4>{l s='Shipping'}</h4>
{if isset($display_common_field) && $display_common_field} {if isset($display_common_field) && $display_common_field}
<div class="alert alert-info" style="display: block">{l s='Warning, if you change the value of fields with an orange bullet %s, the value will be changed for all other shops for this product' sprintf=$bullet_common_field}</div> <div class="alert alert-info">{l s='Warning, if you change the value of fields with an orange bullet %s, the value will be changed for all other shops for this product' sprintf=$bullet_common_field}</div>
{/if} {/if}
<div class="separation"></div> <div class="row">
<label class="control-label col-lg-3">{l s='Width (package):'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">{$ps_dimension_unit}</span>
<input maxlength="6" name="width" type="text" value="{$product->width}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />
{$bullet_common_field}
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Height (package):'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">{$ps_dimension_unit}</span>
<input maxlength="6" name="height" type="text" value="{$product->height}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />
{$bullet_common_field}
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Depth (package):'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">{$ps_dimension_unit}</span>
<input maxlength="6" name="depth" type="text" value="{$product->depth}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />
{$bullet_common_field}
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Weight (package):'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">{$ps_weight_unit}</span>
<input maxlength="6" name="weight" type="text" value="{$product->weight}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />
{$bullet_common_field}
</div>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Additional shipping cost (per quantity):'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">{$currency->prefix}{$currency->suffix} {if $country_display_tax_label}({l s='tax excl.'}){/if}</span>
<input type="text" name="additional_shipping_cost" onchange="this.value = this.value.replace(/,/g, '.');" value="{$product->additional_shipping_cost|htmlentities}" />
</div>
<p class="help-block">{l s='A carrier tax will be applied.'}</p>
</div>
<div class="row">
<label class="control-label col-lg-3">{l s='Carriers:'}</label>
<div class="col-lg-3">
<select name="carriers[]" id="carriers_restriction" multiple="multiple">
{foreach $carrier_list as $carrier}
<option value="{$carrier.id_reference}" {if isset($carrier.selected) && $carrier.selected}selected="selected"{/if}>{$carrier.name}</option>
{/foreach}
</select>
<button class="btn btn-default" onclick="unselectAllCarriers(); return false;">{l s='Unselect all'}</button>
</div>
<p class="help-block">{l s='If no carrier selected, all carriers can be used to ship this product.'}</p>
</div>
<table>
<tr>
<td class="col-left"><label>{l s='Width (package):'}</label></td>
<td style="padding-bottom:5px;">
<input size="6" maxlength="6" name="width" type="text" value="{$product->width}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />{$bullet_common_field} {$ps_dimension_unit}
</td>
</tr>
<tr>
<td class="col-left"><label>{l s='Height (package):'}</label></td>
<td style="padding-bottom:5px;">
<input size="6" maxlength="6" name="height" type="text" value="{$product->height}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />{$bullet_common_field} {$ps_dimension_unit}
</td>
</tr>
<tr>
<td class="col-left"><label>{l s='Depth (package):'}</label></td>
<td style="padding-bottom:5px;">
<input size="6" maxlength="6" name="depth" type="text" value="{$product->depth}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />{$bullet_common_field} {$ps_dimension_unit}
</td>
</tr>
<tr>
<td class="col-left"><label>{l s='Weight (package):'}</label></td>
<td style="padding-bottom:5px;">
<input size="6" maxlength="6" name="weight" type="text" value="{$product->weight}" onKeyUp="if (isArrowKey(event)) return ;this.value = this.value.replace(/,/g, '.');" />{$bullet_common_field} {$ps_weight_unit}
</td>
</tr>
<tr>
<td class="col-left"><label>{l s='Additional shipping cost (per quantity):'}</label></td>
<td style="padding-bottom:5px;">{$currency->prefix}<input type="text" name="additional_shipping_cost" onchange="this.value = this.value.replace(/,/g, '.');"
value="{$product->additional_shipping_cost|htmlentities}" />{$currency->suffix}
{if $country_display_tax_label}{l s='tax excl.'}{/if}
<p class="preference_description">{l s='A carrier tax will be applied.'}</p>
</td>
</tr>
<tr>
<td class="col-left">
<label>{l s='Carriers:'}</label>
</td>
<td class="padding-bottom:5px;">
<select name="carriers[]" id="carriers_restriction" multiple="multiple" size="4" style="height:100px;width:200px;">
{foreach $carrier_list as $carrier}
<option value="{$carrier.id_reference}" {if isset($carrier.selected) && $carrier.selected}selected="selected"{/if}>{$carrier.name}</option>
{/foreach}
</select>
<br>
<button class="button" onclick="unselectAllCarriers(); return false;">{l s='Unselect all'}</button>
<p class="preference_description">{l s='If no carrier selected, all carriers can be used to ship this product.'}</p>
</td>
</tr>
</table>
<script> <script>
function unselectAllCarriers() function unselectAllCarriers()
{ { $('#carriers_restriction option').each(function () { $(this).removeAttr('selected')});
$('#carriers_restriction option').each(function () { $(this).removeAttr('selected')});
return false; return false;
} }
</script> </script>
+46 -40
View File
@@ -3230,7 +3230,7 @@ class AdminProductsControllerCore extends AdminController
<td class="cell border">'.$impact.'</td> <td class="cell border">'.$impact.'</td>
<td class="cell border">'.$period.'</td> <td class="cell border">'.$period.'</td>
<td class="cell border">'.$specific_price['from_quantity'].'</th> <td class="cell border">'.$specific_price['from_quantity'].'</th>
<td class="cell border">'.((!$rule->id && $can_delete_specific_prices) ? '<a name="delete_link" href="'.self::$currentIndex.'&id_product='.(int)Tools::getValue('id_product').'&action=deleteSpecificPrice&id_specific_price='.(int)($specific_price['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/delete.gif" alt="'.$this->l('Delete').'" /></a>': '').'</td> <td class="cell border">'.((!$rule->id && $can_delete_specific_prices) ? '<a class="btn btn-default" name="delete_link" href="'.self::$currentIndex.'&id_product='.(int)Tools::getValue('id_product').'&action=deleteSpecificPrice&id_specific_price='.(int)($specific_price['id_specific_price']).'&token='.Tools::getValue('token').'"><i class="icon-trash"></i></a>': '').'</td>
</tr>'; </tr>';
$i++; $i++;
unset($customer_full_name); unset($customer_full_name);
@@ -3267,45 +3267,52 @@ class AdminProductsControllerCore extends AdminController
$specific_price_priorities = array_values($specific_price_priorities); $specific_price_priorities = array_values($specific_price_priorities);
$content .= ' $content .= '
<div class="separation"></div> <hr/>
<h4>'.$this->l('Priority management').'</h4> <legend>'.$this->l('Priority management').'</legend>
<div class="hint" style="display:block;min-height:0;"> <div class="alert alert-info">
'.$this->l('Sometimes one customer can fit into multiple price rules. Priorities allow you to define which rule applies to the customer.').' '.$this->l('Sometimes one customer can fit into multiple price rules. Priorities allow you to define which rule applies to the customer.').'
</div </div>';
<br /><br />
<label>'.$this->l('Priorities:').'</label> $content .= '
<div class="margin-form"> <div class="row">
<select name="specificPricePriority[]"> <label class="control-label col-lg-3">'.$this->l('Priorities:').'</label>
<option value="id_shop"'.($specific_price_priorities[0] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option> <div class="input-group col-lg-9">
<option value="id_currency"'.($specific_price_priorities[0] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option> <select name="specificPricePriority[]">
<option value="id_country"'.($specific_price_priorities[0] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option> <option value="id_shop"'.($specific_price_priorities[0] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option>
<option value="id_group"'.($specific_price_priorities[0] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option> <option value="id_currency"'.($specific_price_priorities[0] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option>
</select> <option value="id_country"'.($specific_price_priorities[0] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option>
&gt; <option value="id_group"'.($specific_price_priorities[0] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option>
<select name="specificPricePriority[]"> </select>
<option value="id_shop"'.($specific_price_priorities[1] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option> <span class="input-group-addon"><i class="icon-chevron-right"></i></span>
<option value="id_currency"'.($specific_price_priorities[1] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option> <select name="specificPricePriority[]">
<option value="id_country"'.($specific_price_priorities[1] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option> <option value="id_shop"'.($specific_price_priorities[1] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option>
<option value="id_group"'.($specific_price_priorities[1] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option> <option value="id_currency"'.($specific_price_priorities[1] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option>
</select> <option value="id_country"'.($specific_price_priorities[1] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option>
&gt; <option value="id_group"'.($specific_price_priorities[1] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option>
<select name="specificPricePriority[]"> </select>
<option value="id_shop"'.($specific_price_priorities[2] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option> <span class="input-group-addon"><i class="icon-chevron-right"></i></span>
<option value="id_currency"'.($specific_price_priorities[2] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option> <select name="specificPricePriority[]">
<option value="id_country"'.($specific_price_priorities[2] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option> <option value="id_shop"'.($specific_price_priorities[2] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option>
<option value="id_group"'.($specific_price_priorities[2] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option> <option value="id_currency"'.($specific_price_priorities[2] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option>
</select> <option value="id_country"'.($specific_price_priorities[2] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option>
&gt; <option value="id_group"'.($specific_price_priorities[2] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option>
<select name="specificPricePriority[]"> </select>
<option value="id_shop"'.($specific_price_priorities[3] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option> <span class="input-group-addon"><i class="icon-chevron-right"></i></span>
<option value="id_currency"'.($specific_price_priorities[3] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option> <select name="specificPricePriority[]">
<option value="id_country"'.($specific_price_priorities[3] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option> <option value="id_shop"'.($specific_price_priorities[3] == 'id_shop' ? ' selected="selected"' : '').'>'.$this->l('Shop').'</option>
<option value="id_group"'.($specific_price_priorities[3] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option> <option value="id_currency"'.($specific_price_priorities[3] == 'id_currency' ? ' selected="selected"' : '').'>'.$this->l('Currency').'</option>
</select> <option value="id_country"'.($specific_price_priorities[3] == 'id_country' ? ' selected="selected"' : '').'>'.$this->l('Country').'</option>
<option value="id_group"'.($specific_price_priorities[3] == 'id_group' ? ' selected="selected"' : '').'>'.$this->l('Group').'</option>
</select>
</div>
</div> </div>
<div class="margin-form"> <div class="row">
<input type="checkbox" name="specificPricePriorityToAll" id="specificPricePriorityToAll" /> <label class="t" for="specificPricePriorityToAll">'.$this->l('Apply to all products').'</label> <div class="col-lg-9 col-offset-3">
<p class="checkbox">
<label for="specificPricePriorityToAll"><input type="checkbox" name="specificPricePriorityToAll" id="specificPricePriorityToAll" />'.$this->l('Apply to all products').'</label>
</p>
</div>
</div> </div>
'; ';
return $content; return $content;
@@ -4288,14 +4295,13 @@ class AdminProductsControllerCore extends AdminController
protected function _displayUnavailableProductWarning() protected function _displayUnavailableProductWarning()
{ {
$content = '<div class="warn"> $content = '<div class="alert">
<p> <p>
<span style="float: left"> <span>
'.$this->l('Your product will be saved as a draft.').' '.$this->l('Your product will be saved as a draft.').'
</span> </span>
<span style="float:right"><a href="#" class="button" style="display: block" onclick="submitAddProductAndPreview()" >'.$this->l('Save and preview.').'</a></span> <span style="float:right"><a href="#" class="button" style="display: block" onclick="submitAddProductAndPreview()" >'.$this->l('Save and preview.').'</a></span>
<input type="hidden" name="fakeSubmitAddProductAndPreview" id="fakeSubmitAddProductAndPreview" /> <input type="hidden" name="fakeSubmitAddProductAndPreview" id="fakeSubmitAddProductAndPreview" />
<br class="clear" />
</p> </p>
</div>'; </div>';
$this->tpl_form_vars['warning_unavailable_product'] = $content; $this->tpl_form_vars['warning_unavailable_product'] = $content;
+16 -1
View File
@@ -132,6 +132,12 @@ function changeLanguage(field, fieldsString, id_language_new, iso_code)
id_language = id_language_new; id_language = id_language_new;
} }
function changeFormLanguage(id_language_new, iso_code, employee_cookie) function changeFormLanguage(id_language_new, iso_code, employee_cookie)
{ {
$('.translatable').each(function() { $('.translatable').each(function() {
@@ -997,4 +1003,13 @@ function quickSelect(elt)
window.open(eltVal.substr(0, eltVal.length - 6), '_blank'); window.open(eltVal.substr(0, eltVal.length - 6), '_blank');
else else
location.href = eltVal; location.href = eltVal;
} }
//bootstrap BO New fonctions
function hideOtherLanguage(id){
$('.translatable-field').hide();
$('.lang-'+id).show();
}