Post by indirdim » Tue Apr 17, 2012 7:16 am

Merhaba Arkadaşlar,

Ürünleri listeledikten sonra karşılaştırma denemesi yapmışsınızdır hepiniz. Karşılaştırma bölümünde ürünler yan yana listelenirken altında kendilerine ait detaylar belirtiliyor bunu biliyorsunuz. Bu detayların bir kısmı bizim belirlediğimiz öznitelikler, bir kısmı ise sabir OpenCart karşılaştırma detayları. Bu sabit detaylardan biri "Ağırlık" diğeri is "Boyut" detayları ve ben bunlar üzerine bir çalışma yaptım.

Dikkat ettiyseniz, karşılaştırma işlemi esnasında "Ağırlık" ve "Boyut" detayları eğer ürün tanımlama esnasında belirtilmediyse boş ve ya "x x x" gibi gereksiz bir ibare içeren şekilde görünüyor. Bu benim hoşuma gitmedi ben de kodlarda küçük bir değişiklik yaptım ve eğer boyut belirtmediyseniz "Boyut Belirtilmemiş" ve ağırlık belirtmediyseniz
"Ağırlık Belirtilmemiş" şeklinde daha hoş bir detay çıkıyor. Tabi siz çıkan yazıları değiştirebilrsiniz. İşte nasıl yapılacağı...

Önemli uyarı: Bu değişiklikler sistem dosyaları üzerinde yapılacağı için lütfen dikkatli olun ve işlem yapacağınız her dosyanın önceden bir yedeğini alın!

1. Adım

Öncelikle dil dosyasında işe başlayacağız. Türkçe dil dosyasının bulunduğu klasörü açıp (Bende catalog -> language -> turkce klasöründe) product alt klasörüne ulaşıyoruz. Burada bulunan "compare.php" dosyasını bir metin editöründe açıp aşağıdaki kodu ?> satırından hemen bir önce boş bir satır oluşturup oraya yapıştırıyoruz.

Code: Select all

$_['text_noweight']     = 'Ağırlık Belirtilmemiş';
$_['text_nodimension']  = 'Boyut Belirtilmemiş';
Kodu ekledikten sonra dosyamızı kaydedip kapatıyoruz.

2. Adım

Bu adımda catalog -> controller -> product klasörüne gidiyoruz ve burada bulunan "compare.php" dosyasını açıyoruz. Daha sonra 42-43. satırlarda aşağıdaki kodlar başlayacak.

Code: Select all

$this->data['text_product'] = $this->language->get('text_product');
$this->data['text_name'] = $this->language->get('text_name');
$this->data['text_image'] = $this->language->get('text_image');
$this->data['text_price'] = $this->language->get('text_price');
...
...
Bu kod satırlarının bitimine ya da arasına aşağıdaki kodu ekliyoruz. Bu bizim kendi belirlediğimiz kelimelerin kodlama içerisine çekilmesini sağlayacak.

Code: Select all

//Ben Ekledim
$this->data['text_noweight'] = $this->language->get('text_noweight');
$this->data['text_nodimension'] = $this->language->get('text_nodimension');
//Ben Ekledim Bitti
bu eklemeden sonra 128. satıra gidiyoruz ve var olan "weight, length, width, height" belirleyen kod satırlarını aşağıdaki kod ile değiştiriyoruz.

Code: Select all

/*Ben Düzenledim*/
'weight'       => $product_info['weight'] > 0 ? $this->weight->format($product_info['weight'], $product_info['weight_class_id']) : $this->language->get('text_noweight'),
'length'       => $product_info['length'] > 0 ? $this->length->format($product_info['length'], $product_info['length_class_id']) : $this->language->get('text_nodimension'),
'width'        => $product_info['width'] > 0 ? $this->length->format($product_info['width'], $product_info['length_class_id']) : "",
'height'       => $product_info['height'] > 0 ? $this->length->format($product_info['height'], $product_info['length_class_id']) : "",
/*Ben Düzenledim Bitti*/
bu değişiklikten sonra dosyayı kaydedip kapatıyoruz.

3. Adım

Son adımda tema dosyası üzerinde değişiklik yapıyoruz. Bu değişiklik de o boş "x x x" çıkma durumunu gideriyor. Bunun için kendi kullandığınız tema dosyasına ulaşmanız lazım ama ben standart tema üzerinden anlatımı yapıcam. catalog -> view -> theme -> default -> template -> product yolunu takip ederek "compare.tpl " dosyasını bir metin editöründe açıyoruz. 85. satırdaki bulunan

Code: Select all

<td><?php echo $text_dimension; ?></td>
<?php foreach ($products as $product) { ?>
<td><?php echo $products[$product['product_id']]['length']; ?> x <?php echo $products[$product['product_id']]['width']; ?> x <?php echo $products[$product['product_id']]['height']; ?></td>
<?php } ?>
kodunu aşağıdaki şekilde değiştiriyoruz

Code: Select all

<!--Boyut Belirtilmemiş Yazmak İçin-->
<td><?php echo $text_dimension; ?></td>
<?php foreach ($products as $product) { ?>
<td><?php echo ($products[$product['product_id']]['width'] != "" ? $products[$product['product_id']]['length']." x ".$products[$product['product_id']]['width']." x ".$products[$product['product_id']]['height'] : $products[$product['product_id']]['length']); ?></td>
<?php } ?>
<!--Boyut Belirtilmemiş Yazmak İçin Bitti-->
Daha sonra yaptığımız değişikliği kaydedip değişiklik yaptığımız dosyaları yayınlıyoruz. Umarım işinize yarar. Bol kazançlar.

Newbie

Posts

Joined
Tue Apr 17, 2012 6:27 am
Who is online

Users browsing this forum: No registered users and 254 guests