Jump to content

Datepicker pour les caractéristiques de produits en back office


Recommended Posts

Bonjour

 

sous P16, j'aurai bien aimé dans le volet Caractéristiques Produit en back office, rajouter un datepicker sur un champ.

 

Dans la fonction setmedia() du controller AdminProducts overridé j'ai rajouté

 

        $this->addJqueryUI('ui.datepicker');

 

ce qui semble correspondre dans la page html source

<link href="/js/jquery/ui/themes/base/jquery.ui.datepicker.css" rel="stylesheet" type="text/css" media="all" />

<script type="text/javascript" src="/js/jquery/ui/jquery.ui.datepicker.min.js"></script>

<script type="text/javascript" src="/js/jquery/ui/i18n/jquery.ui.datepicker-fr.js"></script>

 

et me donne l'impression que c'était déjà inclus.

 

 

 

puis dans le tpl features.tpl overridé aussi j'ai rajouté dans la section javascript

{literal}

    $(function(){
        $('#custom_10_1').datepicker({ dateFormat: "dd-mm-YYYY" });
    });
{/literal}

 

j'ai pris pour le moment le nom d'un champ généré par le tpl #custom_10_1

 

<textarea class="custom_10_1 textarea-autosize" name="custom_10_1" cols="40" rows="1" onkeyup="if (isArrowKey(event)) return ;$('#feature_10_value').val(0);" style="overflow: hidden; word-wrap: break-word; resize: none; height: 27px;">01/01/2014 </textarea>

 

en testant rien ne bouge, même pas d'erreur en console, le champ en question reste en format de saisie texte.

 

en scrutant un peu le code de la page, on a même l'impression que le typage des champs aurait été prévu par la team Prestashop, on retrouve l'inclusion d'un script avec du datepicker, datetimepicker, checkbox, multilang field, etc.

 

<script>
var module_dir = '/modules/';
var id_language = 1;
var languages = new Array();
var vat_number = 1;
// Multilang field setup must happen before document is ready so that calls to displayFlags() to avoid
// precedence conflicts with other document.ready() blocks
languages[0] = {
id_lang: 1,
iso_code: 'fr',
name: 'Français (French)',
is_default: '1'
};
languages[1] = {
id_lang: 2,
iso_code: 'en',
name: 'English (United States)',
is_default: '0'
};
// we need allowEmployeeFormLang var in ajax request
allowEmployeeFormLang = 0;
displayFlags(languages, id_language, allowEmployeeFormLang);
 
$(document).ready(function() {
 
$(".show_checkbox").click(function () {
$(this).addClass('hidden')
$(this).siblings('.checkbox').removeClass('hidden');
$(this).siblings('.hide_checkbox').removeClass('hidden');
return false;
});
$(".hide_checkbox").click(function () {
$(this).addClass('hidden')
$(this).siblings('.checkbox').addClass('hidden');
$(this).siblings('.show_checkbox').removeClass('hidden');
return false;
});
 
 
if ($(".datepicker").length > 0)
$(".datepicker").datepicker({
prevText: '',
nextText: '',
dateFormat: 'yy-mm-dd'
});
 
if ($(".datetimepicker").length > 0)
$('.datetimepicker').datetimepicker({
prevText: '',
nextText: '',
dateFormat: 'yy-mm-dd',
// Define a custom regional settings in order to use PrestaShop translation tools
currentText: 'Maintenant',
closeText: 'Valider',
ampm: false,
amNames: ['AM', 'A'],
pmNames: ['PM', 'P'],
timeFormat: 'hh:mm:ss tt',
timeSuffix: '',
timeOnlyTitle: 'Choisir l'heure',
timeText: 'Heure',
hourText: 'Heure',
minuteText: 'Minute',
});
});
state_token = '8cfff9dd59799e355df4a1fb1c16e9a4';
...
 

Bref il doit bien avoir un moyen d'y arriver avec un peu d'aide... ;-)

 

merci d'avance

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...