За последние 24 часа нас посетил 22051 программист и 1114 роботов. Сейчас ищут 745 программистов ...

Подскажите Opencart как передать массив из model/product

Тема в разделе "Вопросы от блондинок", создана пользователем цукву, 4 фев 2019.

  1. цукву

    цукву Новичок

    С нами с:
    4 фев 2019
    Сообщения:
    1
    Симпатии:
    0
    если в строке 130
    print_r($array_tpl);
    то он выводится на экран, то есть проблема как его передать??
    можно его как то определить например в строку 138 и как? чтобы он был доступен в tpl, все переменные в строках от 134 до 178 доступны в tpl
    пробывал в 138 так сделать
    'array_tpl' => $array_tpl;
    --- Добавлено ---
    если в строке 130
    print_r($array_tpl);
    то он выводится на экран, то есть проблема как его передать??
    можно его как то определить например в строку 138 и как? чтобы он был доступен в tpl, все переменные в строках от 134 до 178 доступны в tpl
    пробывал в 138 так сделать
    'array_tpl' => $array_tpl;
    --- Добавлено ---
    Код (Text):
    1.  public function getProduct($product_id)
    2.     {
    3.        
    4.         $query = $this->db->query(.......);
    5.  
    6.        
    7.        
    8.         if ($query->num_rows) {
    9.          
    10.             $sku = $query->row['sku'];
    11.             if ($sku) {
    12.                 $hash = md5($sku);
    13.                 if (!file_exists("api_cache/" . $hash . ".json")) {
    14.                     $client = new SoapClient("apiserver");
    15.                     $api_result = $client->GetSearch(array('KEY1' => 'KEY1', 'KEY2' => 'KEY2', 'TEXT' => $sku));
    16.                     file_put_contents("api_cache/" . $hash . ".json", json_encode($api_result));
    17.                } else {
    18.                    
    19.                    $api_result = json_decode(file_get_contents("api_cache/" . $hash . ".json"));
    20.                  
    21.                 }
    22.                 $arr = json_decode(json_encode($api_result), true);
    23.                 $elementa_crosses = $arr['SearchResult']['PartsList']['Part']['crosses']['Part'];
    24.                 $array_tpl = array();
    25.                 if (is_int(array_key_first($elementa_crosses))){
    26.                 for($i = 0; $i < count($elementa_crosses); $i++)
    27.                 {
    28.    
    29.                     $elementa_crosses_stock = $elementa_crosses[$i];
    30.                     $array_tpl[$i]['brand'] = $elementa_crosses_stock['brand'];
    31.                     $array_tpl[$i]['partnumber'] = $elementa_crosses_stock['partnumber'];
    32.                     $array_tpl[$i]['name'] = $elementa_crosses_stock['name'];
    33.    
    34.    
    35.                     $elementa_crosses_stock_part_stocks = $elementa_crosses_stock['stocks']['stock'];
    36.                 if (is_int(array_key_first($elementa_crosses_stock_part_stocks))){
    37.    
    38.                         usort($elementa, function($a, $b) {
    39.                         return $a['price'] - $b['price'];});
    40.      
    41.                         $array_tpl[$i]['price'] = $elementa_crosses_stock_part_stocks[0]['price'];
    42.                         $array_tpl[$i]['delivery'] = $elementa_crosses_stock_part_stocks[0]['delivery'];
    43.                         $array_tpl[$i]['count'] = $elementa_crosses_stock_part_stocks[0]['count'];
    44.    
    45.    
    46.    
    47.                 }
    48.                 if (is_string(array_key_first($elementa_crosses_stock_part_stocks))){
    49.      
    50.        
    51.                     $array_tpl[$i]['price'] = $elementa_crosses_stock_part_stocks['price'];
    52.                     $array_tpl[$i]['delivery'] = $elementa_crosses_stock_part_stocks['delivery'];
    53.                     $array_tpl[$i]['count'] = $elementa_crosses_stock_part_stocks['count'];
    54.        
    55.      }
    56.    
    57.   }
    58.  
    59.  
    60.  
    61.  
    62. };
    63.  
    64.     if (is_string(array_key_first($elementa_crosses))){
    65.  
    66.             $elementa_crosses_stock = $elementa_crosses;
    67.             $array_tpl['brand'] = $elementa_crosses_stock['brand'];
    68.             $array_tpl['partnumber'] = $elementa_crosses_stock['partnumber'];
    69.             $array_tpl['name'] = $elementa_crosses_stock['name'];
    70.             $elementa_crosses_stock_part_stocks = $elementa_crosses_stock['stocks']['stock'];
    71.         if (is_int(array_key_first($elementa_crosses_stock_part_stocks))){
    72.    
    73.                 usort($elementa, function($a, $b) {
    74.                 return $a['price'] - $b['price'];});
    75.      
    76.                 $array_tpl['price'] = $elementa_crosses_stock_part_stocks[0]['price'];
    77.                 $array_tpl['delivery'] = $elementa_crosses_stock_part_stocks[0]['delivery'];
    78.                 $array_tpl['count'] = $elementa_crosses_stock_part_stocks[0]['count'];
    79.    
    80.    
    81.    
    82.         }
    83.         if (is_string(array_key_first($elementa_crosses_stock_part_stocks))){
    84.    
    85.                 $array_tpl['price'] = $elementa_crosses_stock_part_stocks['price'];
    86.                 $array_tpl['delivery'] = $elementa_crosses_stock_part_stocks['delivery'];
    87.                 $array_tpl['count'] = $elementa_crosses_stock_part_stocks['count'];
    88.        
    89.         }
    90.     }
    91.  
    92. $elementa = $arr['SearchResult']['PartsList']['Part']['stocks']['stock'];
    93.  
    94. if (is_int(array_key_first($elementa))){
    95.  
    96.     usort($elementa, function($a, $b) {
    97.     return $a['price'] - $b['price'];
    98.     });
    99.         $price = $elementa[0]['price'];
    100.         $quantity = $elementa[0]['count'];
    101.         $DeliveryTime = $elementa[0]['delivery'];
    102. }
    103.  
    104. if (is_string(array_key_first($elementa))){
    105.  
    106.    
    107.      $price = $elementa['price'];
    108.     $quantity = $elementa['count'];
    109.     $DeliveryTime = $elementa['delivery'];
    110. }
    111.  
    112.  
    113.                 if ($price) {
    114.                  
    115.                    
    116.                     $price_major = 1.15; // наценка
    117.                     $del_major = 1; //увеличение срока доставки
    118.                     $price = $price * $price_major;
    119.                     $query->row['price'] = $price;
    120.                     $query->row['quantity'] = $quantity;
    121.                     $query->row['isbn'] = $DeliveryTime + $del_major;
    122.                     $data['array_tpl'] = $array_tpl;
    123.                 }
    124.                else {
    125.             $price = 1;
    126.         }
    127.          
    128.                 #}
    129. }
    130.  
    131.             if(!$sku || $price) {
    132.                
    133.                 return array(
    134.                     'product_id' => $query->row['product_id'],
    135.                     'DeliveryTime' => $query->row['isbn'],
    136.                     'name' => $query->row['name'],
    137.                     'description' => $query->row['description'],
    138.                    
    139.                     'meta_title' => $query->row['meta_title'],
    140.                     'meta_h1' => $query->row['meta_h1'],
    141.                     'meta_description' => $query->row['meta_description'],
    142.                     'meta_keyword' => $query->row['meta_keyword'],
    143.                     'tag' => $query->row['tag'],
    144.                     'model' => $query->row['model'],
    145.                     'sku' => $query->row['sku'],
    146.                     'upc' => $query->row['upc'],
    147.                     'ean' => $query->row['ean'],
    148.                     'jan' => $query->row['jan'],
    149.                     'isbn' => $query->row['isbn'],
    150.                     'mpn' => $query->row['mpn'],
    151.                     'location' => $query->row['location'],
    152.                     'quantity' => $query->row['quantity'],
    153.                     'stock_status' => $query->row['stock_status'],
    154.                     'image' => $query->row['image'],
    155.                     'manufacturer_id' => $query->row['manufacturer_id'],
    156.                     'manufacturer' => $query->row['manufacturer'],
    157.                     'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),
    158.                     'special' => $query->row['special'],
    159.                     'reward' => $query->row['reward'],
    160.                     'points' => $query->row['points'],
    161.                     'tax_class_id' => $query->row['tax_class_id'],
    162.                     'date_available' => $query->row['date_available'],
    163.                     'weight' => $query->row['weight'],
    164.                     'weight_class_id' => $query->row['weight_class_id'],
    165.                     'length' => $query->row['length'],
    166.                     'width' => $query->row['width'],
    167.                     'height' => $query->row['height'],
    168.                     'length_class_id' => $query->row['length_class_id'],
    169.                     'subtract' => $query->row['subtract'],
    170.                     'rating' => round($query->row['rating']),
    171.                     'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,
    172.                     'minimum' => $query->row['minimum'],
    173.                     'sort_order' => $query->row['sort_order'],
    174.                     'status' => $query->row['status'],
    175.                     'date_added' => $query->row['date_added'],
    176.                     'date_modified' => $query->row['date_modified'],
    177.                    
    178.                     'viewed' => $query->row['viewed']
    179.                    
    180.                    
    181.                 );
    182.                
    183.          
    184.        
    185.         }
    186.        
    187.     }
    --- Добавлено ---
    ПРивествую подскажите как передать array_tpl(); массив на отображение в tpl / Opencart