если в строке 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): public function getProduct($product_id) { $query = $this->db->query(.......); if ($query->num_rows) { $sku = $query->row['sku']; if ($sku) { $hash = md5($sku); if (!file_exists("api_cache/" . $hash . ".json")) { $client = new SoapClient("apiserver"); $api_result = $client->GetSearch(array('KEY1' => 'KEY1', 'KEY2' => 'KEY2', 'TEXT' => $sku)); file_put_contents("api_cache/" . $hash . ".json", json_encode($api_result)); } else { $api_result = json_decode(file_get_contents("api_cache/" . $hash . ".json")); } $arr = json_decode(json_encode($api_result), true); $elementa_crosses = $arr['SearchResult']['PartsList']['Part']['crosses']['Part']; $array_tpl = array(); if (is_int(array_key_first($elementa_crosses))){ for($i = 0; $i < count($elementa_crosses); $i++) { $elementa_crosses_stock = $elementa_crosses[$i]; $array_tpl[$i]['brand'] = $elementa_crosses_stock['brand']; $array_tpl[$i]['partnumber'] = $elementa_crosses_stock['partnumber']; $array_tpl[$i]['name'] = $elementa_crosses_stock['name']; $elementa_crosses_stock_part_stocks = $elementa_crosses_stock['stocks']['stock']; if (is_int(array_key_first($elementa_crosses_stock_part_stocks))){ usort($elementa, function($a, $b) { return $a['price'] - $b['price'];}); $array_tpl[$i]['price'] = $elementa_crosses_stock_part_stocks[0]['price']; $array_tpl[$i]['delivery'] = $elementa_crosses_stock_part_stocks[0]['delivery']; $array_tpl[$i]['count'] = $elementa_crosses_stock_part_stocks[0]['count']; } if (is_string(array_key_first($elementa_crosses_stock_part_stocks))){ $array_tpl[$i]['price'] = $elementa_crosses_stock_part_stocks['price']; $array_tpl[$i]['delivery'] = $elementa_crosses_stock_part_stocks['delivery']; $array_tpl[$i]['count'] = $elementa_crosses_stock_part_stocks['count']; } } }; if (is_string(array_key_first($elementa_crosses))){ $elementa_crosses_stock = $elementa_crosses; $array_tpl['brand'] = $elementa_crosses_stock['brand']; $array_tpl['partnumber'] = $elementa_crosses_stock['partnumber']; $array_tpl['name'] = $elementa_crosses_stock['name']; $elementa_crosses_stock_part_stocks = $elementa_crosses_stock['stocks']['stock']; if (is_int(array_key_first($elementa_crosses_stock_part_stocks))){ usort($elementa, function($a, $b) { return $a['price'] - $b['price'];}); $array_tpl['price'] = $elementa_crosses_stock_part_stocks[0]['price']; $array_tpl['delivery'] = $elementa_crosses_stock_part_stocks[0]['delivery']; $array_tpl['count'] = $elementa_crosses_stock_part_stocks[0]['count']; } if (is_string(array_key_first($elementa_crosses_stock_part_stocks))){ $array_tpl['price'] = $elementa_crosses_stock_part_stocks['price']; $array_tpl['delivery'] = $elementa_crosses_stock_part_stocks['delivery']; $array_tpl['count'] = $elementa_crosses_stock_part_stocks['count']; } } $elementa = $arr['SearchResult']['PartsList']['Part']['stocks']['stock']; if (is_int(array_key_first($elementa))){ usort($elementa, function($a, $b) { return $a['price'] - $b['price']; }); $price = $elementa[0]['price']; $quantity = $elementa[0]['count']; $DeliveryTime = $elementa[0]['delivery']; } if (is_string(array_key_first($elementa))){ $price = $elementa['price']; $quantity = $elementa['count']; $DeliveryTime = $elementa['delivery']; } if ($price) { $price_major = 1.15; // наценка $del_major = 1; //увеличение срока доставки $price = $price * $price_major; $query->row['price'] = $price; $query->row['quantity'] = $quantity; $query->row['isbn'] = $DeliveryTime + $del_major; $data['array_tpl'] = $array_tpl; } else { $price = 1; } #} } if(!$sku || $price) { return array( 'product_id' => $query->row['product_id'], 'DeliveryTime' => $query->row['isbn'], 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_title' => $query->row['meta_title'], 'meta_h1' => $query->row['meta_h1'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] ); } } --- Добавлено --- ПРивествую подскажите как передать array_tpl(); массив на отображение в tpl / Opencart