// adding counter for short description and adding size of image files in AdminProductsController
This commit is contained in:
@@ -26,6 +26,42 @@
|
|||||||
|
|
||||||
{extends file="helper/form/form.tpl"}
|
{extends file="helper/form/form.tpl"}
|
||||||
|
|
||||||
|
{block name="autoload_tinyMCE"}
|
||||||
|
// change each by click to load only on click
|
||||||
|
$(".autoload_rte").each(function(e){
|
||||||
|
tinySetup({
|
||||||
|
mode :"exact",
|
||||||
|
editor_selector :"autoload_rte",
|
||||||
|
elements : $(this).attr("id"),
|
||||||
|
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull|cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,undo,redo",
|
||||||
|
theme_advanced_buttons2 : "link,unlink,anchor,image,cleanup,code,|,forecolor,backcolor,|,hr,removeformat,visualaid,|,charmap,media,|,ltr,rtl,|,fullscreen",
|
||||||
|
theme_advanced_buttons3 : "",
|
||||||
|
theme_advanced_buttons4 : "",
|
||||||
|
setup : function(ed) {
|
||||||
|
|
||||||
|
{* Count the total number of the field *}
|
||||||
|
|
||||||
|
ed.onKeyUp.add(function(ed, e) {
|
||||||
|
tinyMCE.triggerSave();
|
||||||
|
textarea = $('#'+ed.id);
|
||||||
|
max = textarea.parent('div').find('span.counter').attr('max');
|
||||||
|
if (max != 'none')
|
||||||
|
{
|
||||||
|
textarea_value = textarea.val();
|
||||||
|
count = stripHTML(textarea_value).length;
|
||||||
|
rest = max - count;
|
||||||
|
if (rest < 0)
|
||||||
|
textarea.parent('div').find('span.counter').html('<span style="color:red;">{l s="Maximum"} '+max+' {l s=' characters'} : '+rest+'</span>');
|
||||||
|
else
|
||||||
|
textarea.parent('div').find('span.counter').html(' ');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
{/block}
|
||||||
|
|
||||||
{block name="defaultForm"}
|
{block name="defaultForm"}
|
||||||
<div>
|
<div>
|
||||||
<div class="productTabs">
|
<div class="productTabs">
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<div id="progressBarImage" class="progressBarImage"></div>
|
<div id="progressBarImage" class="progressBarImage"></div>
|
||||||
<div id="showCounter" style="display:none;"><span id="imageUpload">0</span><span id="imageTotal">0</span></div>
|
<div id="showCounter" style="display:none;"><span id="imageUpload">0</span><span id="imageTotal">0</span></div>
|
||||||
<p class="preference_description" style="clear: both;">
|
<p class="preference_description" style="clear: both;">
|
||||||
{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size / 1000}{l s='Kb max.'}
|
{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size|string_format:"%.2f"}{l s='Kb max.'}
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -387,7 +387,8 @@ var textFieldLabel = 0;
|
|||||||
{include file="products/textarea_lang.tpl"
|
{include file="products/textarea_lang.tpl"
|
||||||
languages=$languages
|
languages=$languages
|
||||||
input_name='description_short'
|
input_name='description_short'
|
||||||
input_value=$product->description_short}
|
input_value=$product->description_short
|
||||||
|
max=400}
|
||||||
|
|
||||||
<p class="clear"></p>
|
<p class="clear"></p>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -28,8 +28,9 @@
|
|||||||
{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="lang_{$language.id_lang}" style="{if !$language.is_default}display:none;{/if}float: left;">
|
||||||
<textarea cols="100" rows="10" type="text" id="{$input_name}_{$language.id_lang}"
|
<textarea cols="100" rows="10" type="text" id="{$input_name}_{$language.id_lang}"
|
||||||
name="{$input_name}_{$language.id_lang}"
|
name="{$input_name}_{$language.id_lang}"
|
||||||
class="autoload_rte" >{$input_value[$language.id_lang]|htmlentitiesUTF8}</textarea>
|
class="autoload_rte" >{$input_value[$language.id_lang]|htmlentitiesUTF8}</textarea>
|
||||||
|
<span class="counter" max="{if isset($max)}{$max}{else}none{/if}"></span>
|
||||||
<span class="hint" name="help_box">{$hint|default:''}<span class="hint-pointer"> </span></span>
|
<span class="hint" name="help_box">{$hint|default:''}<span class="hint-pointer"> </span></span>
|
||||||
</div>
|
</div>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
|||||||
@@ -2999,7 +2999,7 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
|
|
||||||
$data->assign('token', $this->token);
|
$data->assign('token', $this->token);
|
||||||
$data->assign('table', $this->table);
|
$data->assign('table', $this->table);
|
||||||
$data->assign('max_image_size', $this->max_image_size);
|
$data->assign('max_image_size', (int)Configuration::get('PS_PRODUCT_PICTURE_MAX_SIZE') / 1000);
|
||||||
|
|
||||||
$data->assign('up_filename', strval(Tools::getValue('virtual_product_filename_attribute')));
|
$data->assign('up_filename', strval(Tools::getValue('virtual_product_filename_attribute')));
|
||||||
$data->assign('currency', $this->context->currency);
|
$data->assign('currency', $this->context->currency);
|
||||||
|
|||||||
+19
@@ -1018,3 +1018,22 @@ $(document).ready(function(){
|
|||||||
scroll.hide();
|
scroll.hide();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Delete all tags HTML
|
||||||
|
function stripHTML(oldString)
|
||||||
|
{
|
||||||
|
var newString = '';
|
||||||
|
var inTag = false;
|
||||||
|
for(var i = 0; i < oldString.length; i++) {
|
||||||
|
if(oldString.charAt(i) == '<') inTag = true;
|
||||||
|
if(oldString.charAt(i) == '>') {
|
||||||
|
if(oldString.charAt(i+1)!='<')
|
||||||
|
{
|
||||||
|
inTag = false;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!inTag) newString += oldString.charAt(i);
|
||||||
|
}
|
||||||
|
return newString;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user