1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Расчет доставки EMS (Joomla 1.5)

Тема в разделе "Joomla", создана пользователем Monkeyman, 24 май 2011.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. Monkeyman

    Monkeyman

    Регистр.:
    26 ноя 2008
    Сообщения:
    192
    Симпатии:
    39
    Я не знаю, почему EMS не хочет сделать виджет из своего калькулятора расчета доставки, но, слава богу, они открыли свой API. Не найдя модуля расчета доставки для жумлы, кое-как со скрипом нашкрябал свой. За основу взял калькулятор с сайта EMS, прикрутил к нему API, да почистил его чуток от мусора. Доставка, а также вывод списка городов и стран рассчитываются автоматически при помощи запросов к серверу EMS. Последний иногда имеет неприятную особенность ложиться.

    Доступные настройки:

    • подружать или нет jQuery;
    • выбор пункта "Откуда" и "Куда" по умолчанию;
    • количество элементов, выводимых в списке.

    Демонстрацию можно посмотреть тут, а скачать сам модуль здесь.

    Возможные недостатки и доработки

    Я не ахти какой программер - занимаюсь этим для себя исключительно и далеко не профессионально. Поэтому вряд ли смогу помочь с какими-то вашими локальными проблемами. Модуль совершенно бесплатный, и любая помощь в его доработке только приветствуется. С аяксом и jQuery я в буквальном смысле познакомился вчера, поэтому буду спасибо за подсказки, как улучшить работу модуля.

    Сейчас хочется доделать/поправить:

    • Не уверен так ли это, но пока правил модуль (делал прямо у себя насайте), Firefox 4 откушал 600 метров, чего до этого за ним не замечал. Я, правда, бессчетное количество раз перегружал страницу. В общем, подтвердить нужно этот момент или опровергнуть.
    • Выпадающие списки пока немного кривовато выглядят - уходят как бы под границу модуля. Пока не соображу, как это побороть.
    • Версию для Joomla 1.6 сделаю попозже - когда сам перейду или если будет спрос на модуль.
    В общем, предложения принимаются, но я не все могу сделать - знаний не хватает, увы. Надеюсь, что кому-то этот модуль будет полезен, и общими усилиями сможем его довести до ума.
     
  2. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    По поводу вставки кода с JS в <head>.
    Он вставляется почти как и CSS файлики:
    PHP:
     $document->addScript(JURI::root().'modules/mod_emscalc/js/selects.js');
    $document->addScript(JURI::root().'modules/mod_emscalc/js/scroll.js');
    $document->addScript(JURI::root().'modules/mod_emscalc/js/calc.js');
    это надо будет добавить в скрипт сразу за добавлением
    PHP:
    $document->addStyleSheet(JURI::base().'modules/mod_emscalc/styles/common.css');
    По поводу mousedown:
    никто не мешает поменять на строке 53 модуля
    PHP:
    jQuery('#intweightdoc_fake > span:not(.optGroup)').mousedown(function(){calculate('international','doc');});
    на
    PHP:
    jQuery('#intweightdoc_fake > span:not(.optGroup)').click(function(){calculate('international','doc');});
    По поводу большого расходования памяти, кажется есть небольшая проблема со скриптами внешнего чата. во всяком случае наблюдается конфликт JS после подгрузки модуля чата в iframe.
    По поводу разворота меню на всю длину, тут могут быть проблемы с CSS надо более детально исследовать как себя поведет модуль (попробовать другой темплейт, например, стандартный)
    Для того чтобы получить город по умолчанию для определенного селекта надо будет парсить переменные которые получаются с сервера EMS $cities_result и при определенном условии добавить соответственно в option SELECTED тогда это будет выбором по умолчанию.
     
  3. Monkeyman

    Monkeyman

    Регистр.:
    26 ноя 2008
    Сообщения:
    192
    Симпатии:
    39
    Ох, да, тут я качественно протупил, спасибо :)
    Я, конечно, глупый, но не настолько же :)
    Первое же что попробовал - это тупо сменить на click, но оно так почему-то сразу перестает работать. Вот, в чем прикол. Остальные селекты работают, а этот как проклятый какой-то.
    А, ну значит это не мой модуль. Уже хорошо. С чатом, если что, разработчикам напишу.
    Так и есть, дело в стилях, но я не могу никак найти, где дырка. Этот подменный селект состоит из кучи слоев, и хрен поймешь, как его заставить висеть поверх всех слоев. Подозреваю, их просто стандартное обрамление модуля перебивает.
    Это-то я понимаю, но дальше селект же заменяется на красивый, сделанный на слоях. Не уверен, что он адекватно обработает SELECTED, но надо попробовать.
     
  4. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    Попробую посмотреть на скрипты более придирчиво.
    Сразу хочу сказать при чистой установке в joomla нет jquery, так что его по идее тоже надо подгружать, или как-то адаптировать скрипты под mootools второе сложнее :) хотя тоже реализуемо.
    На стандартном шаблоне, у меня нет никаких проблем с overflow, так что это получается локальная проблема :) как это не жаль :)
     
  5. Monkeyman

    Monkeyman

    Регистр.:
    26 ноя 2008
    Сообщения:
    192
    Симпатии:
    39
    Лучше делать проверку, конечно, и подгружать при надобности. Но я не знаю, как это сделать :-(

    Ага, то есть список выводится весь, ничего не скрывается за границами модуля?

    * * *

    Я немного покопал селекты, скачал новую версию, пытаюсь ее прикрутить. Заявлено, что она selected отлавливает, но на самом деле не работае ни фига, хотя я уже у себя добавил опции вывода города по умолчанию и количества элементов в выпадающем списке. Связался с разработчиком плагина - поглядим, что ответит.

    Зато починился селект с mousedown :)
    Приведу в порядок новую версию - обновлю по ссылке.
     
  6. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    Не готов точно сказать метод как проверять, поскольку фактически из модулей собирается целиком скрипт, то есть, "выцепить" какой модуль или вообще шаблон может подключаться JQuery в моем не укладывается. Как вариант сделать это опцией для администратора, который будет подключать модуль, то есть в администрировании добавить галочку: подключать, не подключать jquery.
    Именно! на стандартном шаблоне ничего не обрезается.
    Это уже хорошо!
     
  7. Monkeyman

    Monkeyman

    Регистр.:
    26 ноя 2008
    Сообщения:
    192
    Симпатии:
    39
    Да, хороший вариант. Так и сделаем.

    Ладно, значит буду копать стили, чтобы и не на стандартных обрезалось.

    Остается выбор города по умолчанию - он у меня по-прежнему не работает, и версия для 1.6. Больше пока пожеланий не поступало :)
     
  8. Monkeyman

    Monkeyman

    Регистр.:
    26 ноя 2008
    Сообщения:
    192
    Симпатии:
    39
    Сделал выбор пункта назначения и пункта отправки по умолчанию, а также добавление jQuery по необходимости.

    Модуль обновил, теперь все работает нормально за исключением дурацкого заползания под границу модуля в некоторых шаблонах. У меня проблема в overflow: hidden, который проставлен у трех элементов выше. По-прежнему не знаю, как это побороть. Остальное все работает.
     
Статус темы:
Закрыта.