Юрий Волошин,
Я просто в шоке, как можно было создать такой компонент, который работает фактически чисто на JS, а местоположения вообще не известно где и как формируются. Как можно было целый компонент местоположений поместить в готовый массив $arResult['LOCATIONS']? Как поменять его шаблон? Как поменять ID местоположения? Все остальное также не понятно где, все подставляется через JS.
Если так и дальше будете двигаться, то ваша CMS превратиться в какой-то не понятный самописный код.
Александр Воробьев,
А тебе большое спасибо за код, где ты только нашел это событие OnSaleComponentOrderProperties? В документации его нет, через живое API?
Кстати вот так можно сразу по одному только названию города определять символьный код местоположения.
Местоположение в оформлении заказа меняется, если подставить только один символьный код:
Код |
---|
class Example {
static function OnSaleComponentOrderProperties(&$arFields)
{
static $curCityName = 'Ростов';
const PROP_LOCATION = 6;
static function OnSaleComponentOrderProperties(&$arFields)
{
$res = Bitrix\Sale\Location\LocationTable::getList(array(
'filter' => array('=NAME.NAME' => self::$curCityName, '=NAME.LANGUAGE_ID' => LANGUAGE_ID),
'select' => array('CODE' => 'CODE', 'NAME_RU' => 'NAME.NAME', 'TYPE_CODE' => 'TYPE.CODE') //'*',
));
while($item = $res->fetch())
{
$code = $item["CODE"];
}
$arFields['ORDER_PROP'][self::PROP_LOCATION] = $code;
}
}
}
|