Как получить поля торговых предложений — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 7: Строка 7:
 
== Пример ==
 
== Пример ==
 
<source lang="php">
 
<source lang="php">
/* @var iUmiHierarchyElement $product */
+
/* @var iUmiHierarchyElement $product */
$offerIdList = (array) $product->getValue('trade_offer_list');
+
$offerIdList = (array) $product->getValue('trade_offer_list');
$tradeOfferFacade = UmiCms\Service::TradeOfferFacade();
+
$tradeOfferFacade = UmiCms\Service::TradeOfferFacade();
$collection = $tradeOfferFacade->mapCollectionWithRelations($tradeOfferFacade->getList($offerIdList));
+
$collection = $tradeOfferFacade->mapCollectionWithRelations($tradeOfferFacade->getList($offerIdList));
  
/* Далее есть 2 варианта */
+
/* Далее есть 2 варианта */
/* 1) Пройтись по результирующему масиву $collection */
+
/* 1) Пройтись по результирующему масиву $collection */
$arrayOffersField_vendor_code = [];
+
$arrayOffersField_vendor_code = [];
foreach($collection as $offer) {
+
foreach($collection as $offer) {
  $arrayOffersField_vendor_code[] = $offer->getVendorCode();
+
$arrayOffersField_vendor_code[] = $offer->getVendorCode();
}
+
}
  
/* 2) Получить массив при помощи метода extractField */
+
/* 2) Получить массив при помощи метода extractField */
$arrayOffersField_vendor_code = $collection->extractField('vendor_code');
+
$arrayOffersField_vendor_code = $collection->extractField('vendor_code');
  
/* Пример результирующего массива:
+
/* Пример результирующего массива:
Array
+
Array
(
+
(
  [0] => 101-177
+
[0] => 101-177
  [1] => 102-177
+
[1] => 102-177
  [2] => 103-177
+
[2] => 103-177
  [3] => 104-177
+
[3] => 104-177
  [4] => 105-177
+
[4] => 105-177
  [5] => 106-177
+
[5] => 106-177
  [6] => 107-177
+
[6] => 107-177
  [7] => 108-177
+
[7] => 108-177
)
+
)
*/
+
*/
 
</source>
 
</source>
  
 
[[category:Верстка в PHP]] [[category:API]]
 
[[category:Верстка в PHP]] [[category:API]]

Версия 12:08, 31 января 2019

Актуально для версии 18.

Описание

Для вывода в PHP шаблоне полей торговых предложений необходимо сначала их получить.

Пример

	/* @var iUmiHierarchyElement $product */
	$offerIdList = (array) $product->getValue('trade_offer_list');
	$tradeOfferFacade = UmiCms\Service::TradeOfferFacade();
	$collection = $tradeOfferFacade->mapCollectionWithRelations($tradeOfferFacade->getList($offerIdList));

	/* Далее есть 2 варианта */
	/* 1) Пройтись по результирующему масиву $collection */
	$arrayOffersField_vendor_code = [];
	foreach($collection as $offer) {
		$arrayOffersField_vendor_code[] = $offer->getVendorCode();
	}

	/* 2) Получить массив при помощи метода extractField */
	$arrayOffersField_vendor_code = $collection->extractField('vendor_code');

	/* Пример результирующего массива:
	Array
	(
		[0] => 101-177
		[1] => 102-177
		[2] => 103-177
		[3] => 104-177
		[4] => 105-177
		[5] => 106-177
		[6] => 107-177
		[7] => 108-177
	)
	*/