• 23-02-2018, 15:01:48
    #1
    İ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.
  • 26-02-2018, 12:23:03
    #2
    admin/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:04
    #3
    serefayazgun adlı üyeden alıntı: mesajı görüntüle
    admin/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.
    mevcut hocam normal şartlarda olması gerke ancak nerde yanlış yapıyorum anlamıyorum.
  • 26-02-2018, 14:34:01
    #4
    $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:55
    #5
    serefayazgun adlı üyeden alıntı: mesajı görüntüle
    $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';
    Hocam order.php'de hem invoice(fatura) kısmı hemde shipping(irsaliye) kısmı var.
    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:38
    #6
    Maybell adlı üyeden alıntı: mesajı görüntüle
    Hocam order.php'de hem invoice(fatura) kısmı hemde shipping(irsaliye) kısmı var.
    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.
    admin/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.
    $this->data['orders'][]array(
    .
    .
    'shipping_address' => $shipping_address,
    'payment_address' => $payment_address,
    'product' => $product_data,
  • 26-02-2018, 17:55:55
    #7
    Çözebildinizmi ? opencart versiyonu nedir Sürüm 2.3.0.2 ise ona göre düzenledim
    özelden gönderdim
  • 26-02-2018, 21:59:00
    #8
    serefayazgun adlı üyeden alıntı: mesajı görüntüle
    admin/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.
    $this->data['orders'][]array(
    .
    .
    'shipping_address' => $shipping_address,
    'payment_address' => $payment_address,
    'product' => $product_data,
    Hocam 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?

    İ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:51
    #9
    Versiyonum 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?