Город по умолчанию

#
Re: Город по умолчанию
Ох...
Позиционирование сейчас происходит, временно, т.к. AJAX видимо не отключен перегружает список и позиционирование пропадает.
Что-то нужно еще отключить, чтобы он не отрабатывал в первый раз
#
Re: Город по умолчанию
Это так сложно, оказывается, выставить позиционирвание?
Kotoff, а где Вы говорите убрать троеточие можно? А то смотрю в книгу и вижу фигу
#
Re: Город по умолчанию
повторюсь
Kotoff писал(а):
Многоточие в начале списка тоже можно убрать — оно находится в xsl-шаблоне внутри соответствующего тега select перед вызовом темплейта строящего набор тегов option для этого тега select

Т.е., например для области (нужно убрать то что выделено):
<td>Область:</td>
               <td>
                  <xsl:variable name="country_id" select="/locations//country[@select = 1]/@id" />
                  
                  <select name="location" style="width: 390px;" id="location" onchange="doSetCity(this.options[this.selectedIndex].value, '{/locations/shop/path}cart/')">
                     <option value="0">..</option>
                     <xsl:apply-templates select="location[@parent = $country_id]"/>
                  </select>
                  <span class="red_star" style="position: relative; top: 4px;"> *</span>
               </td>

А аякс естественно остается включен - ведь при изменении области должен же меняться и список городов.
Для аякса можно поправить его обработчик в настройках ТДС, и соответствующую javascript-функцию, которая заполняет список переданными ей значениями.
Заказов не беру. Консультирую редко.
#
Re: Город по умолчанию
Этот-то параметр я видел и даже убирал, но там ведь двоеточие, а не троеточие... Соответственно, он никакой роли при работе AJAX'a не играет.
Нашел js скрипт, где это троеточие добавляется, буду ковырять там.
#
Re: Город по умолчанию
Вот, кому интересно:
в файле /hostcmsfiles/main.js нужно добавить
               oSelect.options[oSelect.options.length] = new Option(" ... ", 0);

               for (var key in req.responseJS.result)
               {
                  if (key == 46)
                  {
                     oSelect.options[oSelect.options.length] = new Option(req.responseJS.result[key], key, selected="selected");
                  }
                  else
                  {
                     oSelect.options[oSelect.options.length] = new Option(req.responseJS.result[key], key);
                  }
               }

               // Устанавливаем города               
               //doSetCity(oSelect.options[oSelect.selectedIndex].value);
               oCity = document.getElementById(city_select_id);
               oCity.options.length = 0;
               oCity.options[oCity.options.length] = new Option(" ... ", 0);
               doSetCity(oSelect.options[oSelect.selectedIndex].value, path); //Вызов, если нужно установить город по-умолчанию, там аналогичное изменение


Но ИМХО, не хорошо ради такой мелкой цели править JS. Как вариант, вместо кода прописать константу, а задавать её в ТДС.
Да и для каждой страны не выбрать приоритетный город, таким образом (вернее объемно).
#
Re: Город по умолчанию
VAshot, спасибо за инфу про скрипт.
Я сделал несколько по-другому. Указал нужный город первым в списке, после чего добавил test="position()=1".
А в скрипте после этого закомментил эти строчки
oSelect.options[oSelect.options.length] = new Option(" ... ", 0);


Но при таком способе я сейчас обнаружил другую проблему серьезную - не подгружается список городов для выбранной по умолчанию области. И что с этим делать - не знаю.

Господа, а зачем для каждого поля со списком написан этот код?
<option value="0">..</option>

Убрал его для страны - в списке исчезло дветочки.
Но ведь для областей и городов эти две точки не играют никакой роли, т.к. для них многоточие в скрипте задается. Получается, что эти строчки лишние?
#
Re: Город по умолчанию
ironwayru, есть разные способы генерации этих списков. По-умолчанию через xsl генерируется только перечень стран, а все остальные списки подгружаются через ajax. Но можно же сделать и иначе - например, в коде тдс определить по geoip текущий город юзера, получить для него id города и области, и тогда сразу сгенерировать в xsl шаблоне список с уже выбранными страной, областью и городом юзера, тогда нам понадобяться и эти две точки в xsl шаблоне.

А что до этого
ironwayru писал(а):
А в скрипте после этого закомментил эти строчки
так естественно после этого список городов не работает! При чем подгружается он вполне нормально, но загруженные города не попадают в список, потому что именно эта строка их туда и добавляет
Заказов не беру. Консультирую редко.
#
Re: Город по умолчанию
Kotoff,
спасибо огромное за ответ! По геоайпи было бы круто, но это для меня слишком сложно) Т.е. теоретически я бы наверно смог бы это реализовать, но на это мне бы потребовалось очень много времени...))

А я думал, что эта строка добавляет только многоточие
А может можно сделать так, что бы эта же строка вместо многоточия выводила первый в списке город?
#
Re: Город по умолчанию
ironwayru, а ведь я вам похоже наврал слегка, вот та строка которую вы процитировали она таки действительно добавляет лишь многоточие. Это я до конца ее не дочитал, извиняюсь (

Процитируйте здесь полностью эту функцию из js может вы комментируя эту строку что-то еще зацепили...

А что до geoip, то там несложно, может накропаю примерчик сегодня-завтра, да тут выложу. Нюанс в том, что сервис http://ipgeo-base.ru/ который я использую для этого работает только с Россией, а остальных стран не поддерживает
Заказов не беру. Консультирую редко.
#
Re: Город по умолчанию
Обещаный пример использования GeoIP - http://www.hostcms.ru/forums/22/4028/
Заказов не беру. Консультирую редко.
Авторизация