İrsaliye sayfası (admin/view/template/sale/order_shipping.tpl) sayfasında aynı zamanda fatura adresini de gözükmesini istiyorum.
Bu sayfada $order['payment_address']; çağırıyorum ancak sayfada bir değişiklik yok.Bunun nedeni controllerda değişkenleri olmaması ancak admin/controller/sale/order.php içerisindeki 1800.satırdaki shipping fonksiyonuna değişkenleri tanımlıyorum olması gerekirken yine bir değişiklik yok.
Yardımcı olursanız sevinirim.
Opencart İrsaliye Sayfası Düzenleme
13
●2.464
- 26-02-2018, 12:23:03admin/controller/sale/order.php klasörü içinde $this->data['payment_address'] mevcut mu? Mevcut değilse öncelikle bu değişkeni oluşturmanız gerekiyor.
- 26-02-2018, 13:25:04mevcut hocam normal şartlarda olması gerke ancak nerde yanlış yapıyorum anlamıyorum.serefayazgun adlı üyeden alıntı: mesajı görüntüle
- 26-02-2018, 14:34:01$this->data['payment_address'] değişkenine atanan değer boş veya null olabilir mi? Siz controller kısmından değişkene kendiniz bir değer verin. Öyle ekrana bastırın.
$this->data['payment_address'] = 'Test adres';
- 26-02-2018, 15:09:55Hocam order.php'de hem invoice(fatura) kısmı hemde shipping(irsaliye) kısmı var.serefayazgun adlı üyeden alıntı: mesajı görüntüle
Fatura kısmının(1400 küsüruncu satırda başlıyor) birebir aynısını irsaliye kısmına(1800.satırda başlıyor)tanımlıyorum ancak yine bir değişiklik yok.
Değişkenlerle alakalı bir sıkıntı göremiyorum ancak fatura dizaynda değişkeni okurken irsaliye dizaynda bir türlü okuyamıyor. - 26-02-2018, 15:40:38admin/controller/sale/order.php dosyasındaki "invoice" fonksiyonunda ki $this->data['orders'][] kodunu bullun. Bu kod içerisinde ki array da payment_address olarak tanımlanmış görünüyorsa, <?php echo $order['payment_address']; ?> olarak ekrana basabilirsiniz. Eğer boş geliyorsa gelen değer boştur. Bunu öğrenmek içinde $this->data['orders'][]array() içindeki 'payment_address' => "TEST ADRES", olarak değiştirip öyle basmayı deneyin. Hala basmıyorsa başka bir şeyleri yanlış yapıyor olabilirsiniz.Maybell adlı üyeden alıntı: mesajı görüntüle
$this->data['orders'][]array( . . 'shipping_address' => $shipping_address, 'payment_address' => $payment_address, 'product' => $product_data,
- 26-02-2018, 21:59:00Hocam sizin versiyon kaç acaba? Bir şey farkettimde yaptığım değişikler 1.5'de olurken 2.3.0.2'de bir türlü olmuyor.Bunun nedeni nedir acaba?serefayazgun adlı üyeden alıntı: mesajı görüntüle
İrsaliye fonksiyonu aşağıda normalde çalışıyor ancak 2.3'te çalışmıyor.
public function shipping() { $this->load->language('sale/order'); $data['title'] = $this->language->get('text_shipping'); if ($this->request->server['HTTPS']) { $data['base'] = HTTPS_SERVER; } else { $data['base'] = HTTP_SERVER; } $data['direction'] = $this->language->get('direction'); $data['lang'] = $this->language->get('code'); $data['text_shipping'] = $this->language->get('text_shipping'); $data['text_picklist'] = $this->language->get('text_picklist'); $data['text_order_detail'] = $this->language->get('text_order_detail'); $data['text_order_id'] = $this->language->get('text_order_id'); $data['text_invoice_no'] = $this->language->get('text_invoice_no'); $data['text_invoice_date'] = $this->language->get('text_invoice_date'); $data['text_date_added'] = $this->language->get('text_date_added'); $data['text_telephone'] = $this->language->get('text_telephone'); $data['text_fax'] = $this->language->get('text_fax'); $data['text_email'] = $this->language->get('text_email'); $data['text_website'] = $this->language->get('text_website'); $data['text_contact'] = $this->language->get('text_contact'); $data['text_payment_address'] = $this->language->get('text_payment_address'); $data['text_shipping_address'] = $this->language->get('text_shipping_address'); $data['text_shipping_method'] = $this->language->get('text_shipping_method'); $data['text_payment_method'] = $this->language->get('text_payment_method'); $data['text_sku'] = $this->language->get('text_sku'); $data['text_upc'] = $this->language->get('text_upc'); $data['text_ean'] = $this->language->get('text_ean'); $data['text_jan'] = $this->language->get('text_jan'); $data['text_isbn'] = $this->language->get('text_isbn'); $data['text_mpn'] = $this->language->get('text_mpn'); $data['text_comment'] = $this->language->get('text_comment'); $data['column_location'] = $this->language->get('column_location'); $data['column_reference'] = $this->language->get('column_reference'); $data['column_product'] = $this->language->get('column_product'); $data['column_weight'] = $this->language->get('column_weight'); $data['column_model'] = $this->language->get('column_model'); $data['column_quantity'] = $this->language->get('column_quantity'); $this->load->model('sale/order'); $this->load->model('catalog/product'); $this->load->model('setting/setting'); $data['orders'] = array(); $orders = array(); if (isset($this->request->post['selected'])) { $orders = $this->request->post['selected']; } elseif (isset($this->request->get['order_id'])) { $orders[] = $this->request->get['order_id']; } foreach ($orders as $order_id) { $order_info = $this->model_sale_order->getOrder($order_id); // Make sure there is a shipping method if ($order_info && $order_info['shipping_code']) { $store_info = $this->model_setting_setting->getSetting('config', $order_info['store_id']); if ($store_info) { $store_address = $store_info['config_address']; $store_email = $store_info['config_email']; $store_telephone = $store_info['config_telephone']; $store_fax = $store_info['config_fax']; } else { $store_address = $this->config->get('config_address'); $store_email = $this->config->get('config_email'); $store_telephone = $this->config->get('config_telephone'); $store_fax = $this->config->get('config_fax'); } if ($order_info['invoice_no']) { $invoice_no = $order_info['invoice_prefix'] . $order_info['invoice_no']; } else { $invoice_no = ''; } if ($order_info['shipping_address_format']) { $format = $order_info['shipping_address_format']; } else { $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}'; } $find = array( '{firstname}', '{lastname}', '{company}', '{address_1}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['shipping_firstname'], 'lastname' => $order_info['shipping_lastname'], 'company' => $order_info['shipping_company'], 'address_1' => $order_info['shipping_address_1'], 'address_2' => $order_info['shipping_address_2'], 'city' => $order_info['shipping_city'], 'postcode' => $order_info['shipping_postcode'], 'zone' => $order_info['shipping_zone'], 'zone_code' => $order_info['shipping_zone_code'], 'country' => $order_info['shipping_country'] ); $shipping_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))); $this->load->model('tool/upload'); $product_data = array(); $products = $this->model_sale_order->getOrderProducts($order_id); foreach ($products as $product) { $option_weight = ''; $product_info = $this->model_catalog_product->getProduct($product['product_id']); if ($product_info) { $option_data = array(); $options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']); foreach ($options as $option) { if ($option['type'] != 'file') { $value = $option['value']; } else { $upload_info = $this->model_tool_upload->getUploadByCode($option['value']); if ($upload_info) { $value = $upload_info['name']; } else { $value = ''; } } $option_data[] = array( 'name' => $option['name'], 'value' => $value ); $product_option_value_info = $this->model_catalog_product->getProductOptionValue($product['product_id'], $option['product_option_value_id']); if ($product_option_value_info) { if ($product_option_value_info['weight_prefix'] == '+') { $option_weight += $product_option_value_info['weight']; } elseif ($product_option_value_info['weight_prefix'] == '-') { $option_weight -= $product_option_value_info['weight']; } } } $product_data[] = array( 'name' => $product_info['name'], 'model' => $product_info['model'], 'option' => $option_data, 'quantity' => $product['quantity'], 'location' => $product_info['location'], 'sku' => $product_info['sku'], 'upc' => $product_info['upc'], 'ean' => $product_info['ean'], 'jan' => $product_info['jan'], 'isbn' => $product_info['isbn'], 'mpn' => $product_info['mpn'], 'weight' => $this->weight->format(($product_info['weight'] + $option_weight) * $product['quantity'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')) ); } } $data['orders'][] = array( 'order_id' => $order_id, 'invoice_no' => $invoice_no, 'date_added' => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])), 'store_name' => $order_info['store_name'], 'store_url' => rtrim($order_info['store_url'], '/'), 'store_address' => nl2br($store_address), 'store_email' => $store_email, 'store_telephone' => $store_telephone, 'store_fax' => $store_fax, 'email' => $order_info['email'], 'telephone' => $order_info['telephone'], 'shipping_address' => $shipping_address, 'shipping_method' => $order_info['shipping_method'], 'payment_address' => $payment_address, 'payment_method' => $order_info['payment_method'], 'product' => $product_data, 'comment' => nl2br($order_info['comment']) ); } } $this->response->setOutput($this->load->view('sale/order_shipping', $data)); } - 27-02-2018, 10:06:51Versiyonum 1.5.x
Normalde aynı işlemler versiyon farkı olmadan çalışması lazım. Sen gönderdiğin fonksiyonda $data['orders'][] değişkeninin bittiği yerde print_r($data['orders']) yaptığında çıkan sonuçta adresler dolu olarak mı geliyor?