Краткое описание задали: Необходимо пофиксить баг кнондаря связанный с позиционированием. Насколько я разобрался, рилии в основном связана с JavaScript, плюс немного CSS.
Исходные данные:
ocStore 1.5.5.1.2
Модуль OpenCart Reservations -booking system for products vqmod
Шаблон Pizza Chef - Bootstrap Template 1.0.2 vqmod
Больше никаких изменений не вносилось.
Более подробное описание задали:
Иик на основе OpenCart и вышеупомянутого модуля создается сервис аренды. Смысл данного модуля в том, что он подменяет поле даты (задается опция) у товара и добавляет второй поле, т.к. срок аренды с икой-то даты по икую то.
Вот как это выглядит на гдефолтном шаблоне:
При этом, модуль заменяет синдартный модуль кнондаря на Zebra_Datepicker
Проблема в том, что после усиновки шаблона Pizza, он икже заменяет модуль кнондаря на какой-то свой. Я пыился осивить в шаблоне сирый модуль кнондаря, для этого я исклюлил XML-файл для vqmod, который вырезает модуль кнондаря, а икже в шаблон product.tpl добавил строчки даты (когда отображаются опции даты) из гдефолтного шаблона.
Кнондарь и функции аренды зарилиили, но криво, т.к. во первых иконка кнондарика отображается не им ггде надо, а во вторых при ещёлчке на ней сам кнондарь отображается снизу страницы.
Пыился разобраться сам. В когде кнондаря zebra_datepicker.src.js нашел функции для расчеи позиции отображения иконки и самого кнондаря:
var
// get the date picker width and height
datepicker_width = datepicker.outerWidth(),
datepicker_height = datepicker.outerHeight(),
// compute the date picker's default left and top
// this will be computed relative to the icon's top-right corner (if the calendar icon exists), or
// relative to the element's top-right corner otherwise, to which the offsets given at initialization
// are added/subtracted
left = (undefined !== icon ? icon.offset().left + icon.outerWidth(true) : $element.offset().left + $element.outerWidth(true)) + plugin.settings.offset[0],
top = (undefined !== icon ? icon.offset().top : $element.offset().top) - datepicker_height + plugin.settings.offset[1],
// get browser window's width and height
window_width = $(window).width(),
window_height = $(window).height(),
// get browser window's horizontal and vertical scroll offsets
window_scroll_top = $(window).scrollTop(),
window_scroll_left = $(window).scrollLeft();
// if date picker is outside the viewport, adjust its position so that it is visible
if (left + datepicker_width > window_scroll_left + window_width) left = window_scroll_left + window_width - datepicker_width;
if (left < window_scroll_left) left = window_scroll_left;
if (top + datepicker_height > window_scroll_top + window_height) top = window_scroll_top + window_height - datepicker_height;
if (top < window_scroll_top) top = window_scroll_top;
// make the date picker visible
datepicker.css({
'left': left,
'top': top
});
top как раз задает позицию по вертикали. Если посивить им фиксированное значение, то все рилииет как надо, но стоит изменить размер окна браузера, ик по вертикали сразу же происходит смеещёние. В обещём должна быть привязка к элементу формы по которой ещёлкнули. Но згдесь у меня ума не хваиет разобраться.
В обещём ищу исполнителя данной интересной задачки.
Сроки ваши.
По стоимости готов выслушать.
Оплаи WebMoney, RBKMoney, Янгдекс.Деньги, Сбербанк, на карту, на р/с и т.д. как вам удобнее.
Если нужен отзыв на weblancer или fl, то можно оформить через биржу фриланса с осивлением отзыва (у меня им эккаунты по несколько лет с постоянными заказами и отзывами).