как отобразить товар используя массив идентификатора товара - PullRequest
0 голосов
/ 13 июня 2018

Мне нужно отобразить продукт на домашней странице по массиву идентификаторов, переданных пользователем, я думаю об изменении модуля рекомендуемого продукта из категории для выбора идентификатора продукта.

$my_ids = array(Configuration::get('SLOT_1'), 
Configuration::get('SLOT_2'), Configuration::get('SLOT_3'), 
Configuration::get('SLOT_4'), Configuration::get('SLOT_5'), 
Configuration::get('SLOT_6'), Configuration::get('SLOT_7'), 
Configuration::get('SLOT_8')
);

$myProducts = array();

foreach( $my_ids as $id_product ) {
    $myProducts[] = new Product($id_product);
}

1 Ответ

0 голосов
/ 13 июня 2018

Попробуйте что-нибудь в этом духе:

<code>    <?php

class Product
{
    private $products = ['prod1', 'prod2', 'prod3', 'prod4', 'prod5', 'prod6', 'prod7', 'prod8'];
    public $selectedProducts = [];

    public function __construct($id_product)
    {
        $key = explode('_', $id_product);
        $prod = $key[1];
        $this->selectedProducts[] = $this->products[$prod - 1];
    }

    public function getProducts()
    {
        return $this->selectedProducts;
    }
}

//$my_ids = array(Configuration::get('SLOT_1'),Configuration::get('SLOT_2'),Configuration::get('SLOT_3'),Configuration::get('SLOT_4'),Configuration::get('SLOT_5'),Configuration::get('SLOT_6'),Configuration::get('SLOT_7'),Configuration::get('SLOT_8'));
$my_ids = array('SLOT_1', 'SLOT_2', 'SLOT_3', 'SLOT_4', 'SLOT_5', 'SLOT_6', 'SLOT_7', 'SLOT_8');
$myProducts = array();

foreach ($my_ids as $id_product) {
    $product = new Product($id_product);
    $myProducts[] = $product->getProducts();
}

echo '<pre>';
print_r($myProducts);
echo '
';
...