Адрес доставки

#
Адрес доставки
Подскажите пожалуйста, каким способом в шаблоне АдресДоставки можно поставить по умолчанию область и город?
то есть желательно их вообще спрятать в input type="hidden", и, видимо нужно передать ява скрипту их id, но как это сделать?
#
Re: Адрес доставки
Ну, посмотрите как в XSL-шаблоне "МагазинАдресДоставки" в качестве выбранной устанавливается страна Россия:
<!-- По умолчанию устанавливаем активным "Россия" -->
<xsl:when test="name = 'Россия'">
<option value="{@id}" selected=""><xsl:value-of disable-output-escaping="yes" select="name"/></option>
</xsl:when>

Можете сделать аналогично для города и района. Если Вы закомментируте отображение ненужных выпадающих списков, то вместо них добавьте скрытые input с параметрами name, соответствующими name у убранных списков, и с нужными значениеми параметров value(они должны соответствовать идентификаторам города и района).
#
Re: Адрес доставки
natalya писал(а):
Если Вы закомментируте отображение ненужных выпадающих списков, то вместо них добавьте скрытые input с параметрами name

Скажите, а зачем это нужно?
Модератор
#
Re: Адрес доставки
Можно указать нужные порядки сортировки для городов и т.д., чтобы они были первыми.
#
Re: Адрес доставки
что-то не выставляет по-умолчанию область, или что не так делаю? (делаю по аналогии со страной)
<xsl:template match="location">
      <xsl:choose>
         <!-- Если область задана по умолчанию -->
         <xsl:when test="@id=41">
            <option value="{@id}" selected="selected" style="font-weight: bold;">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:when>
         <xsl:otherwise>
            <option value="{@id}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:otherwise>
      </xsl:choose>
   </xsl:template>
Модератор
#
Re: Адрес доставки
область для страны по умолчанию или для загружаемой AJAX?
#
Re: Re: Адрес доставки
Нужно по умолчанию. Страна, область, город. Перепробовал пару вариантов предложенные участниками форума, либо не работает, либо пол движка лопатить. Неужели простого решения нет?
Модератор
#
Re: Адрес доставки
Sibirskiy,
там области на AJAX сейчас грузятся, а не на XSL все, как раньше.
#
Re: Адрес доставки
HostCMS писал(а):
там области на AJAX сейчас грузятся, а не на XSL все, как раньше.

вижу что на AJAX, но технически разве это невозможно выставить как-нибудь по идентификатору, ну а кому надо из селекта выбирал, и пусть себе подгружает?
#
Re: Адрес доставки
Получилось выставить по умолчанию область, а вот город почему-то нет.

xsl шаблон

<!-- Шаблон заполняет options для стран -->
   <xsl:template match="country">
      <xsl:choose>
         <!-- Если страна задана по умолчанию -->
         <xsl:when test="@select=1">
            <option value="{@id}" selected="selected" style="font-weight: bold;">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:when>
         <xsl:otherwise>
            <option value="{@id}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:otherwise>
      </xsl:choose>
   </xsl:template>
   
   <!-- Шаблон заполняет options для местоположений (областей) -->
   <xsl:template match="location">
      <xsl:choose>
         <!-- Если область задана по умолчанию -->
         <xsl:when test="@id=69">
            <option value="{@id}" selected="selected" style="font-weight: bold;">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:when>
         <xsl:otherwise>
            <option value="{@id}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:otherwise>
      </xsl:choose>
      
   </xsl:template>
   
   <!-- Шаблон заполняет options для городов -->
   <xsl:template match="city">
      <xsl:choose>
         <!-- Если город задан по умолчанию -->
         <xsl:when test="@id=2335">
            <option value="{@id}" selected="selected" style="font-weight: bold;">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:when>
         <xsl:otherwise>
            <option value="{@id}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </option>
         </xsl:otherwise>
      </xsl:choose>
   </xsl:template>
   
   <!-- Шаблон заполняет options для районов -->
   <xsl:template match="cityarea">
      <option value="{@id}">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </option>
   </xsl:template>


сам шаблон выводит следующий код

$shop->ShowAddress(to_str($GLOBALS['LA']['xsl_delivery_address']), $shop_id, array('show_city_area' => false), $external_propertys);


что может быть не так?
Авторизация