OpenCart Facebook Connect Header a Eklemek

Merhabalar arkadaşlar, bu yazımızda çok ehemmiyet taşıyan bir şeyi sizlere izah edecek ve de uygulatarak dünyanızı değiştirmeyi planlıyorum. Şaka şaka. efendim hepimiz opencart’ ta header’ a yani giriş yap / üye ol bağlantılarının bulunduğu bölüme bir de facebook login koymak istemiştir. yani giren müşteri direk olarak facebook’ undan bağlanarak üye olsun hiç uğraşmasın demişsinizdir. Bunu yapmak için yani bu sosyal modülü kurduktan sonra yapmanız gereken bir kaç işlem var ve sonrasında sorunsuzca üst tarafta üye ol giriş yap butonlarının hemen yan tarafına konuşlandırabileceğiniz bir facebook login butonunuz olacaktır. Hemen ilgili kodlara geçiyorum;

NOT : Bu yazıdakiler aslında teknik bilgi gerektirir. hatta bunlar da neymiş böyle diyorsanız yapmamanızı/danışarak yapmanızı öneririm. Bir tane noktayı ya da virgülü bile unutmanız sitenizin “GAME OVER” olmasına yol açabilir, her şeyi elinize yüzünüze bulaştırabilirsiniz. o yüzden ya çok dikkatli yedekler alarak yapın ya da hiç yapmayın bilmiyorsanız.

Facebook Connect Modülünü yükledikten sonra yapacağınız iş bu modülün yer almasını istediğiniz Modül Pozisyonu opencart alt yapısına eklemek. FTP’ nin bir yedeğini bilgisayarınıza indirin ve başlayalım bilgisayarımıza indirdiğimiz bölümde değişiklikler yapmaya;  admin/view/template/module/ dizinine gelin ve düzenleyeceğimiz modülün tpl uzantılı dosyasına gelin yani fbconnect.tpl . Şimdi bu klasörü notepad++ ya da dreamweaver ya da ms office word gibi bir metin editörü ile açın. aşağıdaki satırı bulun:

<select name="fbconnect_module[<?php echo $module_row; ?>][position]">
                <?php if ($module['position'] == 'content_top') { ?>
                <option value="content_top" selected="selected"><?php echo $text_content_top; ?></option>
                <?php } else { ?>
                <option value="content_top"><?php echo $text_content_top; ?></option>
                <?php } ?>
                <?php if ($module['position'] == 'content_bottom') { ?>
                <option value="content_bottom" selected="selected"><?php echo $text_content_bottom; ?></option>
                <?php } else { ?>
                <option value="content_bottom"><?php echo $text_content_bottom; ?></option>
                <?php } ?>
                <?php if ($module['position'] == 'column_left') { ?>
                <option value="column_left" selected="selected"><?php echo $text_column_left; ?></option>
                <?php } else { ?>
                <option value="column_left"><?php echo $text_column_left; ?></option>
                <?php } ?>
                <?php if ($module['position'] == 'column_right') { ?>
                <option value="column_right" selected="selected"><?php echo $text_column_right; ?></option>
                <?php } else { ?>
                <option value="column_right"><?php echo $text_column_right; ?></option>
                <?php } ?>

Buldunuz mu oh ne güzel; şimdi bu bulduğunuz kodun altına şu kodu ekleyin;

<?php if ($module['position'] == 'ust_taraf') { ?>
                <option value="ust_taraf" selected="selected"><?php echo $text_ust_taraf; ?></option>
                <?php } else { ?>
                <option value="ust_taraf"><?php echo $text_ust_taraf; ?></option>
                <?php } ?>

Şu an yönetim panelindeki modül pozisyonu için yeni bir seçenek ekledik modül pozisyonumuzun değişken adı ise ust_taraf . Şimdi de bunu dil dosyamıza ekleyelim ki anlaşılabilir olsun alt çizgisi falan olmasın raad raad yapalım işlemimizi. admin/language/turkish/module/ dizinine gelin ve oradaki fbconnect.php adlı dosyayı açın editörle ve bir rastgele herhangi bir satırın altına şu kodu iliştirin:

$_['text_ust_taraf'] = 'Üst Taraf';

Güzeeeel şimdi gelelim devamına ; admin/controller/module/ içerisinde modülümüzün dosyasını bulacağız yani fbconnect.php ve şu satırı buluyoruz:

$this->data['text_column_right'] = $this->language->get('text_column_right'); 

Bunun altına şu kodu ekliyoruz :

$this->data['text_ust_taraf'] = $this->language->get('text_ust_taraf'); 

Şimdi bi kontrol edelim bakalım çalışıyor mu diye yaptığımız şeyler ; yönetim panelinde modül ayarına girip modül pozisyonunda Üst Taraf var mı kontrol ediyoruz. Yoksa eğer bilgisayarınızın sırasıyla tüm tuşlarını söküp camdan aşağı atmadan önce ekranını falan kırabilirsiniz. ya da aldığınız yedeğin bir yedeğini daha aldığınız için hehehe diye gülüp üstteki işlemleri tekrar yaparsınız size kalmış. devam ediyoruz ;

Şimdi o kadar ekledik yönetim panelimize ama bunu hala header’ a eklemedik erel diyorsunuz. sabırsızlanmayın ve catalog/controller/common/ adlı klasöre gelin burada header.php adlı dosyayı açın genelde dosyanın en alt kısmında yer alan şu satırı bulun:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/common/header.tpl';
        } else {
            $this->template = 'default/template/common/header.tpl';
        }

hemen sonrasına da şu kodu ekleyiniz efendim:

$this->load->model('design/layout');
        $this->load->model('catalog/category');
        $this->load->model('catalog/product');
        $this->load->model('catalog/information');
        
        if (isset($this->request->get['route'])) {
            $route = $this->request->get['route'];
        } else {
            $route = 'common/home';
        }
        
        $module_data = array();
        
        $this->load->model('setting/extension');
        
        $extensions = $this->model_setting_extension->getExtensions('module');        
        
        foreach ($extensions as $extension) {
            $modules = $this->config->get($extension['code'] . '_module');
        
            if ($modules) {
                foreach ($modules as $module) {
                    if ($module['position'] == 'ust_taraf' && $module['status']) {
                        $module_data[] = array(
                            'code'       => $extension['code'],
                            'setting'    => $module,
                            'sort_order' => $module['sort_order']
                        );                
                    }
                }
            }
        }
        
        $sort_order = array(); 
      
        foreach ($module_data as $key => $value) {
              $sort_order[$key] = $value['sort_order'];
        }
        
        array_multisort($sort_order, SORT_ASC, $module_data);
        
        $this->data['modules'] = array();
        
        foreach ($module_data as $module) {
            $module = $this->getChild('module/' . $module['code'], $module['setting']);
            
            if ($module) {
                $this->data['modules'][] = $module;
            }
        }

az kaldı dayanın, şimdi temamızın header.tpl dosyasını açmakta. burada modülün nerede görünmesini istiyorsak oraya sıpıtacağımız küçük bir kodumuz kaldı efendim. şimdi hemen catalog/view/theme/TEMANIZIN_ADI/template/common/ dizinine gelin ve header.tpl adlı klasörü açın ve nerede görünmesini istiyorsanız facebook connect’ in oraya şunu yapıştırın :

<?php foreach ($modules as $module) { ?>
  <?php echo $module; ?>
  <?php } ?>

Haleluya. Geçmiş olsun artık facebook connect modülünüz sorunsuzca header’a yerleştirildi. kendinize iyi bakınız efendim. gülü gülü.

You may also like...

Bir cevap yazın