Как разделить в адресе доставки улица, дом, квартира?

#
Как разделить в адресе доставки улица, дом, квартира?
Подскажите как разделить в адресе доставки улица, дом, квартира?

пробовал так:
в XSL-шаблоне МагазинАдресДоставки разделил

            <div class="row">
               <div class="caption">Улица:<br/>
               </div>
               <div class="field">
                  <input type="text" size="20" name="address" value="{/shop/siteuser/address}" class="width2" />
               </div>
            </div>
<div class="row">
               <div class="caption">Дом:<br/>
               </div>
               <div class="field">
                  <input type="text" size="15" class="width1" name="addressdom" value="{/shop/siteuser/addressdom}" />
               </div>
            </div>
<div class="row">
               <div class="caption">Квартира:<br/>
               </div>
               <div class="field">
                  <input type="text" size="15" class="width1" name="addresskv" value="{/shop/siteuser/addresskv}" />
               </div>
            </div>


а в XSL-шаблоне ОплатаПриПолучении

      <h2>Данные доставки</h2>
      
      <p>
<b>ФИО:</b><xsl:text> </xsl:text><xsl:value-of select="surname"/><xsl:text> </xsl:text><xsl:value-of select="name"/><xsl:text> </xsl:text><xsl:value-of select="patronymic"/>

<br /><b>Адрес доставки:</b><xsl:text> </xsl:text><xsl:value-of select="address"/><xsl:text> </xsl:text><xsl:value-of select="addressdom"/><xsl:text> </xsl:text><xsl:value-of select="addresskv"/>
         
      <br /><b>E-mail:</b><xsl:text> </xsl:text><xsl:value-of select="email"/>
         
         <xsl:if test="phone != ''">
         <br /><b>Телефон:</b><xsl:text> </xsl:text><xsl:value-of select="phone"/>
         </xsl:if>


может где-то надо прописать address, addressdom, addresskv?
#
Re: Как разделить в адресе доставки улица, дом, квартира?
В ТДС Интернет-магазин корзина добавил две строчки, все равно не получается вывести дом и квартиру на четвертом шаге
   // Способ доставки
   case 2:
      $_SESSION['hostcmsOrder']['shop_country_id'] = intval(Core_Array::getPost('shop_country_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_id'] = intval(Core_Array::getPost('shop_country_location_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_city_id'] = intval(Core_Array::getPost('shop_country_location_city_id', 0));
      $_SESSION['hostcmsOrder']['shop_country_location_city_area_id'] = intval(Core_Array::getPost('shop_country_location_city_area_id', 0));
      $_SESSION['hostcmsOrder']['postcode'] = strval(Core_Array::getPost('postcode'));
      $_SESSION['hostcmsOrder']['address'] = strval(Core_Array::getPost('address'));
$_SESSION['hostcmsOrder']['addressdom'] = strval(Core_Array::getPost('addressdom'));
$_SESSION['hostcmsOrder']['addresskv'] = strval(Core_Array::getPost('addresskv'));

      $_SESSION['hostcmsOrder']['surname'] = strval(Core_Array::getPost('surname'));
      $_SESSION['hostcmsOrder']['name'] = strval(Core_Array::getPost('name'));
      $_SESSION['hostcmsOrder']['patronymic'] = strval(Core_Array::getPost('patronymic'));
      $_SESSION['hostcmsOrder']['company'] = strval(Core_Array::getPost('company'));
      $_SESSION['hostcmsOrder']['phone'] = strval(Core_Array::getPost('phone'));
      $_SESSION['hostcmsOrder']['fax'] = strval(Core_Array::getPost('fax'));
      $_SESSION['hostcmsOrder']['email'] = strval(Core_Array::getPost('email'));
      $_SESSION['hostcmsOrder']['description'] = strval(Core_Array::getPost('description'));
      $_SESSION['hostcmsOrder']['tin'] = strval(Core_Array::getPost('tin'));
      $_SESSION['hostcmsOrder']['kpp'] = strval(Core_Array::getPost('kpp'));
#
Re: Как разделить в адресе доставки улица, дом, квартира?
smithy-style,
тут вы только записали их в сессию, но в заказ они не попадают, т.к. на 4 шаге данные уже выводятся из таблицы, а в таблице нет таких полей
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Как разделить в адресе доставки улица, дом, квартира?
нашел в базе данных таблицу shop_order и добавил туда два поля по принципу поля address
один фиг не выводятся данные на 4-м шаге, посмотрел в базе данных, там никаких данных не записывается в эти поля

address           varchar(255)   utf8_general_ci      
addressdom   varchar(255)   utf8_general_ci      
addresskv   varchar(255)   utf8_general_ci   
   
Модератор
#
Re: Как разделить в адресе доставки улица, дом, квартира?
Оригинально, конечно, но все же, кто в эту таблицу должен писать? Святой дух? Вы ведь не добавили никакой код как минимум в обработчик платежной системы, чтобы писать в эти поля!
#
Re: Как разделить в адресе доставки улица, дом, квартира?
Цитата:
Оригинально, конечно, но все же, кто в эту таблицу должен писать? Святой дух? Вы ведь не добавили никакой код как минимум в обработчик платежной системы, чтобы писать в эти поля!


нравится мне стиль вашего общения
нет бы сказать в каком шаблоне или ТДС вписать обработчик
#
Re: Как разделить в адресе доставки улица, дом, квартира?
А что означают эти надписи? где этот ключ нужно открыть?
Key 'addressdom' in 'ru' language does not exist for model 'shop_order'.
Key 'addresskv' in 'ru' language does not exist for model 'shop_order'.
#
Re: Как разделить в адресе доставки улица, дом, квартира?
А в xsl-шаблоне четвертого шага я кое что подправил, но и это не помогло
   <!-- Шаблон вывода данных о заказе -->
   <xsl:template match="shop_order">
      
      <h2>Данные доставки</h2>
      
      <p>
<b>ФИО:</b><xsl:text> </xsl:text><xsl:value-of select="surname"/><xsl:text> </xsl:text><xsl:value-of select="name"/><xsl:text> </xsl:text><xsl:value-of select="patronymic"/>
         
      <br /><b>E-mail:</b><xsl:text> </xsl:text><xsl:value-of select="email"/>
         
         <xsl:if test="phone != ''">
         <br /><b>Телефон:</b><xsl:text> </xsl:text><xsl:value-of select="phone"/>
         </xsl:if>
         
         <xsl:if test="fax != ''">
         <br /><b>Факс:</b><xsl:text> </xsl:text><xsl:value-of select="fax"/>
         </xsl:if>
         
         <xsl:variable name="location">, <xsl:value-of select="shop_country/shop_country_location/name"/></xsl:variable>
         <xsl:variable name="city">, <xsl:value-of select="shop_country/shop_country_location/shop_country_location_city/name"/></xsl:variable>
         <xsl:variable name="city_area">, <xsl:value-of select="shop_country/shop_country_location/shop_country_location_city/shop_country_location_city_area/name"/></xsl:variable>
         <xsl:variable name="adres">, <xsl:value-of select="address"/></xsl:variable>
         <xsl:variable name="adresdom">, <xsl:value-of select="addressdom"/></xsl:variable>
         <xsl:variable name="adreskv">, <xsl:value-of select="addresskv"/></xsl:variable>

         
   <br /><b>Адрес доставки:</b><xsl:text> </xsl:text><xsl:if test="postcode != ''"><xsl:value-of select="postcode"/>, </xsl:if>
         <xsl:if test="shop_country/name != ''">
            <xsl:value-of select="shop_country/name"/>
         </xsl:if>
         <xsl:if test="$location != ', '">
            <xsl:value-of select="$location"/>
         </xsl:if>
         <xsl:if test="$city != ', '">
            <xsl:value-of select="$city"/>
         </xsl:if>
         <xsl:if test="$city_area != ', '">
            <xsl:value-of select="$city_area"/>&#xA0;район</xsl:if>
         <xsl:if test="$adres != ', '">
            <xsl:value-of select="$adres"/>
         </xsl:if>
         <xsl:if test="$adresdom != ', '">
            <xsl:value-of select="$adresdom"/>
         </xsl:if>
         <xsl:if test="$adreskv != ', '">
            <xsl:value-of select="$adreskv"/>
         </xsl:if>

         <xsl:if test="shop_delivery/name != ''">
         <br /><b>Тип доставки:</b><xsl:text> </xsl:text><xsl:value-of select="shop_delivery/name"/>
         </xsl:if>
         
         <xsl:if test="shop_payment_system/name != ''">
         <br /><b>Способ оплаты:</b><xsl:text> </xsl:text><xsl:value-of select="shop_payment_system/name"/>
         </xsl:if>
      </p>
   </xsl:template>
#
Re: Как разделить в адресе доставки улица, дом, квартира?
smithy-style,
ну во-первых, давайте разберемся для чего Вам разделять и в каком виде вы потом хотите это выводить, я думаю можно и не усложнять, а обойтись например просто доп. свойствами заказ
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Как разделить в адресе доставки улица, дом, квартира?
обработчик платежной системы такой стоит
<?php

/**
* Оплата наличными
*/
class Shop_Payment_System_Handler24 extends Shop_Payment_System_Handler
{
   /**
    * Метод, запускающий выполнение обработчика
    */
   function execute()
   {
      parent::execute();

      $this->printNotification();

      return $this;
   }

   protected function _processOrder()
   {
      parent::_processOrder();

      // Установка XSL-шаблонов в соответствии с настройками в узле структуры
      $this->setXSLs();

      // Отправка писем клиенту и пользователю
      $this->send();

      return $this;
   }

   public function getNotification()
   {
      $this->xsl(
         Core_Entity::factory('Xsl')->getByName('ОплатаПриПолученииСайт34')
      );
      return parent::getNotification();
   }

   public function getInvoice()
   {
      return $this->getNotification();
   }
}
?>
Авторизация