Здравствуйте! Хочу предупредить заранее, что в Битриксе я новичок и знания в области PHP имею скудные (а в области MySQL и XML и того меньше), поэтому могу выражаться не очень правильно, в связи с чем прошу не бить ))
Передо мной поставлена задача: реализовать систему расчёта стоимости доставки грузов (речь идёт об одном известном в Украине операторе грузоперевозок). У оператора существует API, с помощью которого реализуются различные сервисы, в том числе и расчёт стоимости доставки. Т.е. сайт должен отправлять xml-запрос такого вида (пример):
<?xml version="1.0" encoding="utf-8"?>
<file>
<auth>Ключ API</auth>
<countPrice>
<senderCity>Полтава</senderCity>
<recipientCity>Киев</recipientCity>
<mass>20</mass>
<height>10</height>
<width>5</width>
<depth>10</depth>
<publicPrice>100</publicPrice>
<deliveryType_id>1</deliveryType_id>
<floor_count>4</floor_count>
<date>19.01.2012</date>
</countPrice>
</file>
Описание полей:
<?xml version="1.0" encoding="UTF-8"?>
<file>
<date>20.01.2012</date>
<cost>20,00</cost>
</file>
Идея реализации вот такая: в корзине нужно разместить большую красную кнопку "Рассчитать стоимость доставки". По нажатии этой кнопки откроется форма, в которой пользователи выбирают только город получателя. Какие-от поля будут заполнены по умолчанию, остальные данные (вес, ширина, высота, глубина ) хочется получить из свойств инфоблоков (предположим, что эти поля заполнены), объявленная стоимость - из корзины.
"Поковыряв" шаблон корзины, обнаружил массив, который выводит содержание корзины. Распечатал его вот так
<pre>
<? print_r ($arResult["ITEMS"]["AnDelCanBuy"];?>
</pre>
И увидел, что массив помимо всего прочего содержит элемент PRODUCT_ID, который содержит ID элемента инфоблока (в нашем случае – товара).
Вопрос №1: Как получать значения полей свойств элемента, зная его ID ?
Вопрос №2: Как эти свойства передать в XML -запрос и передать его?
Вопрос №3: Как принять ответ и расшифровать его?
Спасибо заранее!
Передо мной поставлена задача: реализовать систему расчёта стоимости доставки грузов (речь идёт об одном известном в Украине операторе грузоперевозок). У оператора существует API, с помощью которого реализуются различные сервисы, в том числе и расчёт стоимости доставки. Т.е. сайт должен отправлять xml-запрос такого вида (пример):
<?xml version="1.0" encoding="utf-8"?>
<file>
<auth>Ключ API</auth>
<countPrice>
<senderCity>Полтава</senderCity>
<recipientCity>Киев</recipientCity>
<mass>20</mass>
<height>10</height>
<width>5</width>
<depth>10</depth>
<publicPrice>100</publicPrice>
<deliveryType_id>1</deliveryType_id>
<floor_count>4</floor_count>
<date>19.01.2012</date>
</countPrice>
</file>
Описание полей:
- senderCity - город отправителя
- recipientCity - город получателя
- mass - вес посылки
- height - высота посылки
- width - ширина посылки
- depth - глубина посылки
- publicPrice - объявленная стоимость
- deliveryType_id - тип доставки: 1 - двери-двери; 2 - двери-склад; 3 - склад-двери; 4 - склад-склад;
- loadType_id - тип груза: 1 - обычный груз; 4 - ценные бумаги;
- floor_count - доставка на этаж
- postpay_sum - сумма послеоплаты за товар (НЕ наложенный платеж)
- date - дата отправки
<?xml version="1.0" encoding="UTF-8"?>
<file>
<date>20.01.2012</date>
<cost>20,00</cost>
</file>
Идея реализации вот такая: в корзине нужно разместить большую красную кнопку "Рассчитать стоимость доставки". По нажатии этой кнопки откроется форма, в которой пользователи выбирают только город получателя. Какие-от поля будут заполнены по умолчанию, остальные данные (вес, ширина, высота, глубина ) хочется получить из свойств инфоблоков (предположим, что эти поля заполнены), объявленная стоимость - из корзины.
"Поковыряв" шаблон корзины, обнаружил массив, который выводит содержание корзины. Распечатал его вот так
<pre>
<? print_r ($arResult["ITEMS"]["AnDelCanBuy"];?>
</pre>
И увидел, что массив помимо всего прочего содержит элемент PRODUCT_ID, который содержит ID элемента инфоблока (в нашем случае – товара).
Вопрос №1: Как получать значения полей свойств элемента, зная его ID ?
Вопрос №2: Как эти свойства передать в XML -запрос и передать его?
Вопрос №3: Как принять ответ и расшифровать его?
Спасибо заранее!