Ben bu kötü bir şekilde yapıyorum biliyorum ... ama herhangi alternatifler gördükten sorun yaşıyorum. Ben rastgele 4. seçmek gerekir ürünlerin bir dizi var. $ RawUpsellList kendi arabası öğelerin kapalı tabanlı olası upsells her bir dizidir. Her bir değer, ürün amacıdır. Ben bu korkunç çirkin kod olduğunu biliyorum ama ben bu yüzden bu kod üretim yapmaz birisi benim sefalet beni koyun lütfen .... şimdi bir alternatif görmüyorum .....
$rawUpsellList = array();
foreach ($tru->global->cart->getItemList() as $item) {
$product = $item->getProduct();
$rawUpsellList = array_merge($rawUpsellList, $product->getUpsellList());
}
$upsellCount = count($rawUpsellList);
$showItems = 4;
if ($upsellCount < $showItems) {
$showItems = $upsellCount;
}
$maxLoop = 20;
$upsellList = array();
for ($x = 0; $x <= $showItems; $x++) {
$key = rand(0, $upsellCount);
if (!array_key_exists($key, $upsellList) && is_object($rawUpsellList[$key])) {
$upsellList[$key] = $rawUpsellList[$key];
$x++;
}
if ($x == $maxLoop) {
break;
}
}
Bu kodu gönderdiği son derece utanç verici oldu ...