<!-- Если запрашивается поле удобного времени доставки --> {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %} <tr> <td width="10%"> <label for="deliveryConvenientDate">Удобное время доставки:{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} /> c <select name="form[delivery][convenient_time_from]"> <option></option> {% FOR convenient_time_from_list %} {% IF convenient_time_from_list.HOUR_INT=10 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %} {% IF convenient_time_from_list.HOUR_INT=14 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %} {% IF convenient_time_from_list.HOUR_INT=18 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %} {% ENDFOR %} </select> до <select name="form[delivery][convenient_time_to]"> <option></option> {% FOR convenient_time_to_list %} {%IF convenient_time_to_list.HOUR_INT=14%}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{%ENDIF%} {%IF convenient_time_to_list.HOUR_INT=18%}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{%ENDIF%} {%IF convenient_time_to_list.HOUR_INT=21%}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{%ENDIF%} {% ENDFOR %} </select> </td> </tr> {% ENDIF %}
Как Ограничить Время Доставки?
#41
Отправлено 14 Март 2013 - 08:51
#42
Отправлено 14 Март 2013 - 09:26
#43
Отправлено 14 Март 2013 - 09:32
#44
Отправлено 11 Июль 2013 - 11:35
сайт бутик-цветофф.рф
1. Как добавить 2 поля в блок адрес доставки? Поля:
Получатель:
Телефон получателя:
У меня магазин цветов и букетов и ситуация покупки предполагает доставку букета не покупателю, а тому, кому он захочет его подарить.
Соответственно эти поля должны быть видны и в админке и в самом заказе.
2. В начале каждого списка времени доставки есть белый интервал (пустой слот). Как это можно поправить?
Вставил вот такой код:
c <select name="form[delivery][convenient_time_from]">
<option></option>
{% FOR convenient_time_from_list %}
{%IF convenient_time_from_list.HOUR_INT>8%}{%IF convenient_time_from_list.HOUR_INT<23%}
<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select>
до
<select name="form[delivery][convenient_time_to]">
<option></option>
{% FOR convenient_time_to_list %}
{%IF convenient_time_to_list.HOUR_INT>8%}{%IF convenient_time_to_list.HOUR_INT<23%}
<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select>
3. Помогите пожалуйста ограничить интервалы доставки следующим образом.
Если клиент делает заказ до 18:00 по местному времени, то доставка заказа доступна начиная с +3 часа от момента оформления заказа, и до 23.00 текущего дня и в нормально режиме с 9 до 23 все последующие дни.
Если клиент делает заказ после 18.00 то доставка заказа доступна только на следующий день и все последующие начиная с 9 и до 23.
На данный момент стоит вот такой код:
function update_select_time(interval_from, interval_to) {
if($('#deliveryConvenientDate').length) {
var date = new Date();
interval_from = (!interval_from) ? 3 : interval_from;
interval_to = (!interval_to) ? 1 : interval_to;
var hour = ((date.getMinutes() > 30) ? (date.getHours() + 1) : date.getHours());
if(!hour) {
hour = 24;
}
var max_hour = 24;
var from_hour = hour + interval_from;
if((hour + interval_from) > max_hour) {
from_hour = (hour + interval_from) - max_hour;
}
var to_hour = from_hour + interval_to;
if((from_hour + interval_to) > max_hour) {
to_hour = (from_hour + interval_to) - max_hour;
}
var from_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_from]"]');
$(from_select).find('[value="' + from_hour + '"]').attr("selected", "selected");
$(from_select).find('option').each(function() {
if(parseInt($(this).val()) < from_hour) {
$(this).attr('disabled','disabled').hide();
}
});
var to_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_to]"]');
$(to_select).find('[value="' + to_hour + '"]').attr("selected", "selected");
$(to_select).find('option').each(function() {
if(parseInt($(this).val()) < to_hour) {
$(this).attr('disabled','disabled').hide();
}
});
}
}
function update_change_date() {
var select = parseFloat($('#deliveryConvenientDate').val().replace(/\./g, ''));
var date = new Date();
var month = (date.getMonth() + 1) < 10 ? ('0' + (date.getMonth() + 1)) : (date.getMonth() + 1);
var current = parseFloat(date.getDate() + '' + month + '' + date.getFullYear() + '');
if(select < current) {
$('#deliveryConvenientDate').parent().find('select option').attr('disabled','disabled').hide();
}
else if(select > current) {
$('#deliveryConvenientDate').parent().find('select option').removeAttr('disabled').show();
}
else {
update_select_time();
}
}
update_select_time();
$('#deliveryConvenientDate').change(function() {
update_change_date();
});
$('#deliveryId141519').click(function() {
update_select_time();
update_change_date();
});
$('#deliveryId140272').click(function() {
update_select_time(2, 1);
update_change_date();
});
Заранее огромное спасибо.
#45
Отправлено 11 Июль 2013 - 12:09
В основных настройках вам нужно включить эти поля.
т.е Теперь почтовый индекс это номер получателя. Область это имя получателя.
В файле "Оформление заказа" нужно изменить код:
<!-- Если поле почтового индекса запрашивается --> {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %} <tr> <td width="10%"> <label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" /> </td> </tr> {% ENDIF %} <!-- Если поле области запрашивается --> {% IF SETTINGS_ORDER_FIELDS_REGION<3 %} <tr> <td width="10%"> <label for="deliveryRegion">Область:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} /> </td> </tr> {% ENDIF %}На код:
<!-- Если поле почтового индекса запрашивается --> {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %} <tr> <td width="10%"> <label for="deliveryZipCode">Телефон получателя:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" /> </td> </tr> {% ENDIF %} <!-- Если поле области запрашивается --> {% IF SETTINGS_ORDER_FIELDS_REGION<3 %} <tr> <td width="10%"> <label for="deliveryRegion">Имя получателья:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} /> </td> </tr> {% ENDIF %}2. Это пустое поле нужно для того чтобы пользователь обязательно заполнил удобное время доставки.
#46
Отправлено 11 Июль 2013 - 12:51
С 2 пунктом понятно
Помогите пожалуйста еще вот с этим пунктиком:
Необходимо ограничить интервалы доставки следующим образом.
Если клиент делает заказ до 18:00 по местному времени, то доставка заказа доступна начиная с +3 часа от момента оформления заказа, и до 23.00 текущего дня и в нормально режиме с 9 до 23 все последующие дни.
Если клиент делает заказ после 18.00 то доставка заказа доступна только на следующий день и все последующие начиная с 9 и до 23.
На данный момент стоит вот такой код:
function update_select_time(interval_from, interval_to) {
if($('#deliveryConvenientDate').length) {
var date = new Date();
interval_from = (!interval_from) ? 3 : interval_from;
interval_to = (!interval_to) ? 1 : interval_to;
var hour = ((date.getMinutes() > 30) ? (date.getHours() + 1) : date.getHours());
if(!hour) {
hour = 24;
}
var max_hour = 24;
var from_hour = hour + interval_from;
if((hour + interval_from) > max_hour) {
from_hour = (hour + interval_from) - max_hour;
}
var to_hour = from_hour + interval_to;
if((from_hour + interval_to) > max_hour) {
to_hour = (from_hour + interval_to) - max_hour;
}
var from_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_from]"]');
$(from_select).find('[value="' + from_hour + '"]').attr("selected", "selected");
$(from_select).find('option').each(function() {
if(parseInt($(this).val()) < from_hour) {
$(this).attr('disabled','disabled').hide();
}
});
var to_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_to]"]');
$(to_select).find('[value="' + to_hour + '"]').attr("selected", "selected");
$(to_select).find('option').each(function() {
if(parseInt($(this).val()) < to_hour) {
$(this).attr('disabled','disabled').hide();
}
});
}
}
function update_change_date() {
var select = parseFloat($('#deliveryConvenientDate').val().replace(/\./g, ''));
var date = new Date();
var month = (date.getMonth() + 1) < 10 ? ('0' + (date.getMonth() + 1)) : (date.getMonth() + 1);
var current = parseFloat(date.getDate() + '' + month + '' + date.getFullYear() + '');
if(select < current) {
$('#deliveryConvenientDate').parent().find('select option').attr('disabled','disabled').hide();
}
else if(select > current) {
$('#deliveryConvenientDate').parent().find('select option').removeAttr('disabled').show();
}
else {
update_select_time();
}
}
update_select_time();
$('#deliveryConvenientDate').change(function() {
update_change_date();
});
$('#deliveryId141519').click(function() {
update_select_time();
update_change_date();
});
$('#deliveryId140272').click(function() {
update_select_time(2, 1);
update_change_date();
});
#47
Отправлено 12 Июль 2013 - 01:25
function update_select_time(interval_from, interval_to) { if($('#deliveryConvenientDate').length) { var date = new Date(); interval_from = (!interval_from) ? 3 : interval_from; interval_to = (!interval_to) ? 1 : interval_to; var hour = ((date.getMinutes() > 30) ? (date.getHours() + 1) : date.getHours()); if(!hour) { hour = 24; } var max_hour = 24; var from_hour = hour + interval_from; if((hour + interval_from) > max_hour) { from_hour = (hour + interval_from) - max_hour; } var to_hour = from_hour + interval_to; if((from_hour + interval_to) > max_hour) { to_hour = (from_hour + interval_to) - max_hour; } var from_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_from]"]'); $(from_select).find('[value="' + from_hour + '"]').attr("selected", "selected"); $(from_select).find('option').each(function() { if(parseInt($(this).val()) < from_hour) { $(this).attr('disabled','disabled').hide(); } }); var to_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_to]"]'); $(to_select).find('[value="' + to_hour + '"]').attr("selected", "selected"); $(to_select).find('option').each(function() { if(parseInt($(this).val()) < to_hour) { $(this).attr('disabled','disabled').hide(); } }); } } function update_change_date() { var select = parseFloat($('#deliveryConvenientDate').val().replace(/\./g, '')); var date = new Date(); var month = (date.getMonth() + 1) < 10 ? ('0' + (date.getMonth() + 1)) : (date.getMonth() + 1); var current = parseFloat(date.getDate() + '' + month + '' + date.getFullYear() + ''); if(select < current) { $('#deliveryConvenientDate').parent().find('select option').attr('disabled','disabled').hide(); } else if(select > current) { $('#deliveryConvenientDate').parent().find('select option').removeAttr('disabled').show(); } else { update_select_time(); } } update_select_time(); $('#deliveryConvenientDate').change(function() { update_change_date(); }); $('#deliveryId141519').click(function() { update_select_time(); update_change_date(); }); $('#deliveryId140272').click(function() { update_select_time(2, 1); update_change_date(); });
далее в main.js найдите
$("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 });
и замените на
var date = new Date(); if(date.getHours() > 18 || date.getHours() < 23) { date.setDate(date.getDate() + 1); } $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : date, firstDay : 1, onSelect: function(select, obj) { var date = new Date(); var min_hour = date.getHours(); if(date.getHours() < 18 && date.getHours() >= 9) { min_hour = date.getHours() + 3; } if(parseInt(obj.currentDay) > date.getDate()) { min_hour = 9; } $('[name="form[delivery][convenient_time_from]"] option').each(function() { $(this).attr('disabled', 'disabled').hide(); if(parseInt($(this).val()) >= min_hour) { $(this).removeAttr('disabled').show(); } }); $('[name="form[delivery][convenient_time_to]"] option').each(function() { $(this).attr('disabled', 'disabled').hide(); if(parseInt($(this).val()) >= (min_hour + 1)) { $(this).removeAttr('disabled').show(); } }); } });
#48
Отправлено 12 Июль 2013 - 09:39
В редакторе файла на последней строке выдает ошибку: Expected ')' and instead saw ". Missing semicolon. Unexpected 'ъ'.
Сake (12 Июль 2013 - 01:25) писал:
function update_select_time(interval_from, interval_to) { if($('#deliveryConvenientDate').length) { var date = new Date(); interval_from = (!interval_from) ? 3 : interval_from; interval_to = (!interval_to) ? 1 : interval_to; var hour = ((date.getMinutes() > 30) ? (date.getHours() + 1) : date.getHours()); if(!hour) { hour = 24; } var max_hour = 24; var from_hour = hour + interval_from; if((hour + interval_from) > max_hour) { from_hour = (hour + interval_from) - max_hour; } var to_hour = from_hour + interval_to; if((from_hour + interval_to) > max_hour) { to_hour = (from_hour + interval_to) - max_hour; } var from_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_from]"]'); $(from_select).find('[value="' + from_hour + '"]').attr("selected", "selected"); $(from_select).find('option').each(function() { if(parseInt($(this).val()) < from_hour) { $(this).attr('disabled','disabled').hide(); } }); var to_select = $('#deliveryConvenientDate').parent().find('[name="form[delivery][convenient_time_to]"]'); $(to_select).find('[value="' + to_hour + '"]').attr("selected", "selected"); $(to_select).find('option').each(function() { if(parseInt($(this).val()) < to_hour) { $(this).attr('disabled','disabled').hide(); } }); } } function update_change_date() { var select = parseFloat($('#deliveryConvenientDate').val().replace(/\./g, '')); var date = new Date(); var month = (date.getMonth() + 1) < 10 ? ('0' + (date.getMonth() + 1)) : (date.getMonth() + 1); var current = parseFloat(date.getDate() + '' + month + '' + date.getFullYear() + ''); if(select < current) { $('#deliveryConvenientDate').parent().find('select option').attr('disabled','disabled').hide(); } else if(select > current) { $('#deliveryConvenientDate').parent().find('select option').removeAttr('disabled').show(); } else { update_select_time(); } } update_select_time(); $('#deliveryConvenientDate').change(function() { update_change_date(); }); $('#deliveryId141519').click(function() { update_select_time(); update_change_date(); }); $('#deliveryId140272').click(function() { update_select_time(2, 1); update_change_date(); });
далее в main.js найдите
$("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 });
и замените на
var date = new Date(); if(date.getHours() > 18 || date.getHours() < 23) { date.setDate(date.getDate() + 1); } $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : date, firstDay : 1, onSelect: function(select, obj) { var date = new Date(); var min_hour = date.getHours(); if(date.getHours() < 18 && date.getHours() >= 9) { min_hour = date.getHours() + 3; } if(parseInt(obj.currentDay) > date.getDate()) { min_hour = 9; } $('[name="form[delivery][convenient_time_from]"] option').each(function() { $(this).attr('disabled', 'disabled').hide(); if(parseInt($(this).val()) >= min_hour) { $(this).removeAttr('disabled').show(); } }); $('[name="form[delivery][convenient_time_to]"] option').each(function() { $(this).attr('disabled', 'disabled').hide(); if(parseInt($(this).val()) >= (min_hour + 1)) { $(this).removeAttr('disabled').show(); } }); } });
Везде где можно было поменять я все поменял. Осталось только изменить названия этих полей в админке и шаблонах писем, только не могу найти где это делать. Помогите пожалуйста.
butik-cvetoff (11 Июль 2013 - 11:35) писал:
сайт бутик-цветофф.рф
1. Как добавить 2 поля в блок адрес доставки? Поля:
Получатель:
Телефон получателя:
У меня магазин цветов и букетов и ситуация покупки предполагает доставку букета не покупателю, а тому, кому он захочет его подарить.
Соответственно эти поля должны быть видны и в админке и в самом заказе.
Koderhan (11 Июль 2013 - 12:09) писал:
В основных настройках вам нужно включить эти поля. ScreenShot 742.png
т.е Теперь почтовый индекс это номер получателя. Область это имя получателя.
В файле "Оформление заказа" нужно изменить код:
<!-- Если поле почтового индекса запрашивается --> {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %} <tr> <td width="10%"> <label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" /> </td> </tr> {% ENDIF %} <!-- Если поле области запрашивается --> {% IF SETTINGS_ORDER_FIELDS_REGION<3 %} <tr> <td width="10%"> <label for="deliveryRegion">Область:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} /> </td> </tr> {% ENDIF %}На код:
<!-- Если поле почтового индекса запрашивается --> {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %} <tr> <td width="10%"> <label for="deliveryZipCode">Телефон получателя:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="5" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" /> </td> </tr> {% ENDIF %} <!-- Если поле области запрашивается --> {% IF SETTINGS_ORDER_FIELDS_REGION<3 %} <tr> <td width="10%"> <label for="deliveryRegion">Имя получателья:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label> </td> <td width="90%"> <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}" {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} /> </td> </tr> {% ENDIF %}2. Это пустое поле нужно для того чтобы пользователь обязательно заполнил удобное время доставки.
#49
Отправлено 12 Июль 2013 - 19:55
Цитата
если вы о коде который приводите ниже этого вашего сообщения то этот код надо искать в файле Оформление заказа (в сообщении ссылаются на этот файл )
#50
Отправлено 12 Июль 2013 - 20:31
});
#51
Отправлено 12 Июль 2013 - 22:15
Taisia (12 Июль 2013 - 20:31) писал:
});
Осталось только решить вопрос с 2 полями в заказе. Изменил во всех файлах в админке сайта названия полей
ИНДЕКС на Телефон получателя и поправил кол-во знаков
ОБЛАСТЬ на Имя получателя.
Только теперь вот такая беда. Когда заказчик получает письмо с подтверждением заказа, там поля без изменений, и выглядит оно вот так
Здравствуйте!
Благодарим Вас за покупку, оформленную на нашем сайте. Скоро мы свяжемся с Вами.
Карточка заказа:
Номер заказа 10127
Создан 12.07.2013 23:03:52
Сумма заказа 6 290 руб.
Контактное лицо Всеволод
Телефон для связи +791222000000
Email lalalaalal@mail.ru
Почтовый индекс 79122200000
Область Всеволод
Адрес доставки Степана Разина 29
Удобное время доставки 2013-07-14 c 9:00 до 10:00
Соответственно в админке сайта в заказе поля так же называются область и индекс вместо желаемых Получатель и Телефон получателя.
Помогите изменить названия этих полей хотябы в шаблонах писем. Огроменное спасибо.
Приношу извинения за то, что обсуждаю этот пунктик в этой теме, но так уж вышло так вот важный офтопик .
#52
Отправлено 12 Июль 2013 - 23:59
#53
Отправлено 02 Декабрь 2013 - 20:43
Vaccina (17 Июль 2012 - 06:35) писал:
c <select name="form[delivery][convenient_time_from]"> <option></option> {% FOR convenient_time_from_list %} {%IF convenient_time_from_list.HOUR_INT>11%}{%IF convenient_time_from_list.HOUR_INT<23%} <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select> до <select name="form[delivery][convenient_time_to]"> <option></option> {% FOR convenient_time_to_list %} {%IF convenient_time_to_list.HOUR_INT>11%}{%IF convenient_time_to_list.HOUR_INT<23%} <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select>
#54
Отправлено 04 Декабрь 2013 - 02:20
c <select style="width:95px;margin-right:3px;" name="form[delivery][convenient_time_from]"> <option></option> {% FOR convenient_time_from_list %} {%IF convenient_time_from_list.HOUR_INT>11%}{%IF convenient_time_from_list.HOUR_INT<23%} <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select> до <select style="width:95px;" name="form[delivery][convenient_time_to]"> <option></option> {% FOR convenient_time_to_list %} {%IF convenient_time_to_list.HOUR_INT>11%}{%IF convenient_time_to_list.HOUR_INT<23%} <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select>
как можно заметить появились только inline стили (style). Для ограничения времени или задания определенного интервала вы можете использовать код по ссылке указанный вами же. Возможно вы не верно вставили код или некорректно задали ограничение. Попробуйте проверить правильность вставленного вами кода, если ничего не получиться - сообщите, а кот в свою очередь не удаляйте.
#55
Отправлено 04 Декабрь 2013 - 08:55
Сake (04 Декабрь 2013 - 02:20) писал:
c <select style="width:95px;margin-right:3px;" name="form[delivery][convenient_time_from]"> <option></option> {% FOR convenient_time_from_list %} {%IF convenient_time_from_list.HOUR_INT>11%}{%IF convenient_time_from_list.HOUR_INT<23%} <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select> до <select style="width:95px;" name="form[delivery][convenient_time_to]"> <option></option> {% FOR convenient_time_to_list %} {%IF convenient_time_to_list.HOUR_INT>11%}{%IF convenient_time_to_list.HOUR_INT<23%} <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option> {%ENDIF%}{%ENDIF%} {% ENDFOR %} </select>
как можно заметить появились только inline стили (style). Для ограничения времени или задания определенного интервала вы можете использовать код по ссылке указанный вами же. Возможно вы не верно вставили код или некорректно задали ограничение. Попробуйте проверить правильность вставленного вами кода, если ничего не получиться - сообщите, а кот в свою очередь не удаляйте.
#56
Отправлено 10 Декабрь 2013 - 00:17
Сake (04 Декабрь 2013 - 02:20) писал:
как можно заметить появились только inline стили (style). Для ограничения времени или задания определенного интервала вы можете использовать код по ссылке указанный вами же. Возможно вы не верно вставили код или некорректно задали ограничение. Попробуйте проверить правильность вставленного вами кода, если ничего не получиться - сообщите, а кот в свою очередь не удаляйте.
Т. к. у меня только Быстрый заказ, то изменения все там и делала.
Ограничение времени с 11:00 до 22:00 - получилось.
Интервал 4 часа - получилось.
1) Только
// Функция сверки правильности дат function OrderDeliveryTimeVerify () { if(OrderDeliveryTimeTo.val() > 0 && OrderDeliveryTimeFrom.val() > 0 && OrderDeliveryTimeTo.val() - OrderDeliveryTimeMinRange < OrderDeliveryTimeFrom.val()) { alert('Минимальный диапазон для доставки составляет ' + OrderDeliveryTimeMinRange + ' часа. Пожалуйста укажите другое время.'); return false; } else { return true; } }это не работает. Нужно, чтобы предупреждение показывалось "Минимальный диапазон 4 часа!", а то может быть непонятно, почему не работают кнопки выбора времени ДО, если задают меньший диапазон. А хорошо бы и цифры бледными сделать у недоступного диапазона, но это сложно, наверное.
2) Никак не получается сделать выбор даты на следующий день или даже через день (перед Новым Годом понадобится), сейчас можно выбрать доставку на сегодня.
Код ниже для Осени не работает
// Сегдоня var myDate = new Date(); // Добавляем день myDate.setDate(myDate.getDate() + 1); $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : myDate, firstDay : 1 });
#57
Отправлено 10 Декабрь 2013 - 06:14
Цитата
Данное сообщение корректно отобразить не получиться, по причине того что у вас пункты отключаются (disabled) и тем самым выбрать их повторно уже нельзя. Можно добавить событие клика по отключенному пункту, но тут есть проблема, при клике на сам выпадающий пункт (вместо клика на стрелку пункта) будет отображаться это самое окно и не давать выбрать желаемый пункт с временем. Если же нажимать на стрелку, то все будет нормально. Это может ввести в заблуждение пользователя. Возможно лучше всего будет просто изменить цвет (сделать его светлее) у неактивных пунктов. А текст о необходимости интервала написать рядом. Задать цвет неактивных пунктов не сложно, достаточно в файл стилей style.css добавить правило
option:disabled { color: #EDEDED; }
Цитата
Код ниже для Осени не работает
Данное изменение вы делали в шаблоне "Быстрый заказ"? Данное изменение необходимо производить именно в шаблоне "Быстрый заказ" а не в файле main.js. Так же вы можете посмотреть разнообразные примеры отключения дат в календаре http://articles.tuto...pecified-dates/
#58
Отправлено 10 Декабрь 2013 - 11:26
Сake (10 Декабрь 2013 - 06:14) писал:
Календарь, совсем пропадает.
Вот кусок кода в Быстром заказе:
return false; }).validate(); // Сегдоня var myDate = new Date(); // Добавляем день myDate.setDate(myDate.getDate() + 1); $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : myDate, firstDay : 1 }); // Обозначаем переменные для более удобного доступа // Поле выбора времени "с" var OrderDeliveryTimeFrom = $('select[name="form[delivery][convenient_time_from]"]'); // Поле выбора времени "По" var OrderDeliveryTimeTo = $('select[name="form[delivery][convenient_time_to]"]'); // Минимальный диапазон для доставки var OrderDeliveryTimeMinRange = 4;
А за это, спасибо. Получилось.
option:disabled { color: #EDEDED; }Осталось то, всего выбор даты доделать и будет все хорошо
#59
Отправлено 11 Декабрь 2013 - 03:25
$("#quickDeliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 });
т.е без изменений, или мы с вами о разных номерах аккаунта говорим? Проверял на всех доменах аккаунта 7190.
#60
Отправлено 11 Декабрь 2013 - 08:19
Сake (11 Декабрь 2013 - 03:25) писал:
$("#quickDeliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 });
т.е без изменений, или мы с вами о разных номерах аккаунта говорим? Проверял на всех доменах аккаунта 7190.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных