Kitap Siteleri için Yazarlar Modülü

admin

Administrator
Yönetici
Katılım
13 Ağu 2009
Mesajlar
3,200
Tepkime puanı
1
Puanları
38
Yaş
38
Konum
Bursa
Web sitesi
www.opencart-tr.com
Kurulumu biraz uzun ama sırası ile yaptığınız taktirde sorunsuz çalışmaktadır. Yüklediğiniz dosyalar hiçbir dosyanın üzerine yazmıyor ama elle yapmanız gereken bazı değişiklikler var.

Ekteki dosyaları sunucunuza yükleyiniz.
[attachment=620]

Alttaki tabloları phpmyadminden SQL sorgusu ile ekleyiniz. Eğer opencartı kurarken ön-ek kullanmadıysanız tablolardaki oc_ ön-kini kaldırınız. ya da farklı bir ön-ek kullandıysanız onunla değiştiriniz. ve sonra SQL sorgusunu çalıştırınız.
Kod:
CREATE TABLE `oc_author` (
  `author_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `image` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `sort_order` int(3) NOT NULL,
  PRIMARY KEY (`author_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=11 ;

CREATE TABLE `oc_author_to_store` (
  `author_id` int(11) NOT NULL,
  `store_id` int(11) NOT NULL,
  PRIMARY KEY (`author_id`,`store_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

ALTER TABLE oc_product ADD author_id VARCHAR(60) AFTER manufacturer_id;

admin\controller\common\header.php

FIND - BUL
PHP:
$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');

ADD AFTER - SONRASINA EKLE
PHP:
$this->data['text_author'] = $this->language->get('text_author');

FIND - BUL
PHP:
$this->data['manufacturer'] = HTTPS_SERVER . 'index.php?route=catalog/manufacturer&token=' . $this->session->data['token'];

ADD AFTER - SONRASINA EKLE
PHP:
$this->data['author'] = HTTPS_SERVER . 'index.php?route=catalog/author&token=' . $this->session->data['token'];

admin\language\english\common\header.php

FIND - BUL
PHP:
$_['text_manufacturer']      = 'Manufacturers';

ADD AFTER - SONRASINA EKLE
PHP:
$_['text_author']      		 = 'Authors';

admin\language\turkish\common\header.php

FIND - BUL
PHP:
$_['text_manufacturer']      = 'Üreticiler';

ADD AFTER - SONRASINA EKLE
PHP:
$_['text_author']      		 = 'Yazarlar';

admin\view\template\common\header.tpl

FIND - BUL
PHP:
<li><a href="<?php echo $manufacturer; ?>"><?php echo $text_manufacturer; ?></a></li>

ADD AFTER - SONRASINA EKLE
PHP:
<li><a href="<?php echo $author; ?>"><?php echo $text_author; ?></a></li>

admin\controller\catalog\product.php

FIND - BUL
PHP:
$this->data['entry_manufacturer'] = $this->language->get('entry_manufacturer');

ADD AFTER - SONRASINA EKLE
PHP:
$this->data['entry_author'] = $this->language->get('entry_author');

FIND - BUL
PHP:
$this->data['manufacturer_id'] = 0;
    	}

ADD AFTER - SONRASINA EKLE
PHP:
		$this->load->model('catalog/author');

    	$this->data['authors'] = $this->model_catalog_author->getAuthors();

    	if (isset($this->request->post['author_id'])) {
      		$this->data['author_id'] = $this->request->post['author_id'];
		} elseif (isset($product_info)) {
			$this->data['author_id'] = $product_info['author_id'];
		} else {
      		$this->data['author_id'] = 0;
    	}

admin\language\english\catalog\product.php

FIND - BUL
PHP:
$_['entry_manufacturer']     = 'Manufacturer:';

ADD AFTER - SONRASINA EKLE
PHP:
$_['entry_author']     		 = 'Author:';

admin\language\turkish\catalog\product.php

FIND - BUL
PHP:
$_['entry_manufacturer']     	 = 'Üretici:';

ADD AFTER - SONRASINA EKLE
PHP:
$_['entry_author']     	 		 = 'Yazar:';

admin\model\catalog\product.php

ALL FIND - TÜMÜNÜ BUL
PHP:
manufacturer_id = '" . (int)$data['manufacturer_id'] . "',

ALL REPLACE - TÜMÜNÜ DEĞİŞTİR
PHP:
manufacturer_id = '" . (int)$data['manufacturer_id'] . "', author_id = '" . (int)$data['author_id'] . "',

admin\view\template\catalog\product_form.tpl

FIND - BUL
PHP:
<tr>
            <td><?php echo $entry_manufacturer; ?></td>
            <td><select name="manufacturer_id">
                <option value="0" selected="selected"><?php echo $text_none; ?></option>
                <?php foreach ($manufacturers as $manufacturer) { ?>
                <?php if ($manufacturer['manufacturer_id'] == $manufacturer_id) { ?>
                <option value="<?php echo $manufacturer['manufacturer_id']; ?>" selected="selected"><?php echo $manufacturer['name']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $manufacturer['manufacturer_id']; ?>"><?php echo $manufacturer['name']; ?></option>
                <?php } ?>
                <?php } ?>
              </select></td>
          </tr>

ADD AFTER - SONRASINA EKLE
PHP:
<tr>
            <td><?php echo $entry_author; ?></td>
            <td><select name="author_id">
                <option value="0" selected="selected"><?php echo $text_none; ?></option>
                <?php foreach ($authors as $author) { ?>
                <?php if ($author['author_id'] == $author_id) { ?>
                <option value="<?php echo $author['author_id']; ?>" selected="selected"><?php echo $author['name']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $author['author_id']; ?>"><?php echo $author['name']; ?></option>
                <?php } ?>
                <?php } ?>
              </select></td>
          </tr>

catalog\controller\product\product.php

FIND - BUL
PHP:
		$this->load->model('catalog/manufacturer');	
		
		if (isset($this->request->get['manufacturer_id'])) {
			$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);

			if ($manufacturer_info) {	
				$this->document->breadcrumbs[] = array(
					'href'	    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/manufacturer&manufacturer_id=' . $this->request->get['manufacturer_id']),
					'text'	    => $manufacturer_info['name'],
					'separator' => $this->language->get('text_separator')
				);
			}
		}

ADD AFTER - SONRASINA EKLE

PHP:
		$this->load->model('catalog/author');	
		
		if (isset($this->request->get['author_id'])) {
			$author_info = $this->model_catalog_author->getAuthor($this->request->get['author_id']);

			if ($author_info) {	
				$this->document->breadcrumbs[] = array(
					'href'	    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/author&author_id=' . $this->request->get['author_id']),
					'text'	    => $author_info['name'],
					'separator' => $this->language->get('text_separator')
				);
			}
		}

ALL FIND - TÜMÜNÜ BUL

PHP:
			if (isset($this->request->get['manufacturer_id'])) {
				$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
			}

ALL ADD AFTER - TÜMÜNÜN SONRASINA EKLE
PHP:
			if (isset($this->request->get['author_id'])) {
				$url .= '&author_id=' . $this->request->get['author_id'];
			}

FIND - BUL
PHP:
			$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');

ADD AFTER - SONRASINA EKLE
PHP:
			$this->data['text_author'] = $this->language->get('text_author');
---------------------------------------------------------------------------------------------------------
FIND - BUL
PHP:
			$this->data['manufacturer'] = $product_info['manufacturer'];
			$this->data['manufacturers'] = $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/manufacturer&manufacturer_id=' . $product_info['manufacturer_id']);

ADD AFTER - SONRASINA EKLE
PHP:
			$this->data['author'] = $product_info['author'];
			$this->data['authors'] = $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/author&author_id=' . $product_info['author_id']);

catalog\language\english\product\product.php

FIND - BUL
PHP:
$_['text_manufacturer']   = 'Manufacturer:';

ADD AFTER - SONRASINA EKLE
PHP:
$_['text_author']   	  = 'Author:';

catalog\language\turkish\product\product.php

FIND - BUL
PHP:
$_['text_manufacturer']   = 'Üretici:';

ADD AFTER - SONRASINA EKLE
PHP:
$_['text_author']   	  = 'Yazar:';

catalog\model\catalog\product.php

ALL FIND - TÜMÜNÜ BUL
PHP:
"manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX .

ALL REPLACE - TÜMÜNÜ DEĞİŞTİR
PHP:
"manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "author a ON (p.author_id = a.author_id) LEFT JOIN " . DB_PREFIX .

ALL FIND - TÜMÜNÜ BUL
PHP:
m.name AS manufacturer,

ALL REPLACE - TÜMÜNÜ DEĞİŞTİR
PHP:
m.name AS manufacturer, a.name AS author,

catalog\view\theme\default\template\product\product.tpl

FIND - BUL
PHP:
              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo str_replace('&', '&', $manufacturers); ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <?php } ?>

ADD AFTER - SONRASINA EKLE
PHP:
              <?php if ($author) { ?>
              <tr>
                <td><b><?php echo $text_author; ?></b></td>
                <td><a href="<?php echo str_replace('&', '&', $authors); ?>"><?php echo $author; ?></a></td>
              </tr>
              <?php } ?>

Tüm bunları yaptıktan sonra kullanıcı gruplarından yönetici grubuna izin bu sayfaları erişim için izin veriniz.

Yazar eklemek için Katalog->Yazarlar sayfasına gidiniz.
Bir ürüne yazar atamak içinde Ürün düzenleme sayfasından Bağlantılar Tabı altından yazarı seçiniz.

Ürün sayfasından ürüne ait yazar çıkacaktır. Ayrıca modüllerden Yazarlar modülünü kurup sağda veya solda modülü gösterebilirsiniz.
 

Ekli dosyalar

  • Authors-1493.zip
    23.2 KB · Görüntüleme: 167
  • yazarlar_1.png
    yazarlar_1.png
    20.9 KB · Görüntüleme: 230
  • yazarlar_2.png
    yazarlar_2.png
    54.1 KB · Görüntüleme: 204
  • yazarlar_3.png
    yazarlar_3.png
    28.3 KB · Görüntüleme: 244
  • yazarlar_4.png
    yazarlar_4.png
    104.3 KB · Görüntüleme: 383

bylikable

OpenCart-TR
Katılım
7 Ocak 2011
Mesajlar
5
Tepkime puanı
0
Puanları
0
Çok güzel çalışma olmuş ellerinize sağlık.

Elimde exceldeki tüm yazarları sql dan eklemeye çalışıyorum herşey normal çalışıyor fakat varsayılan mağaza yapamıyorum hangi sorguyu eklemem gerekiyor?

Yaptığım sorgu
PHP:
INSERT INTO `author` (`author_id`, `name`, `image`, `sort_order`) VALUES 


('31', 'denemeyazar', '', '1');
 

bafybaf06

OpenCart-TR
Katılım
4 Eyl 2010
Mesajlar
3
Tepkime puanı
0
Puanları
0
Merhaba Eklenmiş ürüne tekrar yazar ekleme yapamıyorum yardımcı olursanız sevinirim
 

Loopus066

OpenCart-TR
Katılım
7 May 2011
Mesajlar
35
Tepkime puanı
0
Puanları
0
Zaten veritabanına eklerken de problem oluyor hata veriyor

Error: Table 'emrekitabevi.author' doesn't exist
Error No: 1146
SELECT COUNT(*) AS total FROM author
 

Loopus066

OpenCart-TR
Katılım
7 May 2011
Mesajlar
35
Tepkime puanı
0
Puanları
0
Error: Table 'site adı.author' doesn't exist
Error No: 1146
SELECT *, pd.name AS name, p.image, m.name AS manufacturer, a.name AS author, a.name AS author, ss.name AS stock, (SELECT AVG(r.rating) FROM review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN author a ON (p.author_id = a.author_id) LEFT JOIN stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '1' AND p2s.store_id = '0' AND ss.language_id = '1' ORDER BY p.date_added DESC LIMIT 20


nedendir bu hata arkadaşlar
 

mirza

OpenCart-TR
Katılım
21 Tem 2010
Mesajlar
3
Tepkime puanı
0
Puanları
0
öncelikle teşekkürler,
modül süper çalışıyor.
peki yazarları ayrı bir sayfada kutular içinde nasıl gösterebiliriz_?yardımcı olursanız çok sevinirim....
 

tuardam

OpenCart-TR
Katılım
8 May 2011
Mesajlar
20
Tepkime puanı
0
Puanları
0
arkadaşlar bu modül hangi sürümlerinde kullanabiliriz
Üzerine tıklayınca O yazara aiit diğer kitapları da ekrana getiriyor mu?
Ana sayfada yazarlar diye liste çıkarabilirmiyiz bu modülle...
Sorularım biraz fazla mı oldu ne?
 

blood3nis

OpenCart-TR
Katılım
25 Nis 2011
Mesajlar
10
Tepkime puanı
0
Puanları
0
Arkadaşlar aşağıdaki hatayı almaya başladım sorun ne olabilir.
------------------------------------------------------------------------------------------------

Error: Not unique table/alias: 'a'
Error No: 1066
SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, a.name AS author, a.name AS author, ss.name AS stock FROM kitapbproduct p LEFT JOIN kitapb_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN kitapb_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN kitapb_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN kitapb_author a ON (p.author_id = a.author_id) LEFT JOIN kitapb_author a ON (p.author_id = a.author_id) LEFT JOIN kitapb_stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE p.product_id = '813' AND pd.language_id = '1' AND p2s.store_id = '0' AND ss.language_id = '1' AND p.date_available <= NOW() AND p.status = '1'
 

tuardam

OpenCart-TR
Katılım
8 May 2011
Mesajlar
20
Tepkime puanı
0
Puanları
0
Arkadadaşlar bu mo dülü ekledim çok güzel çalışıyor elinize sağlık... Yalnız yazar ismi ile arama yaptığımda bulmuyor. ketegoride buluyor. markalarda buluyor fakat yazar isminde arama yaptığımda urun bulamıyor. Acaba hangi kodlarda oynama yapmam gerek...

Arkadadaşlar bu mo dülü ekledim çok güzel çalışıyor elinize sağlık... Yalnız yazar ismi ile arama yaptığımda bulmuyor. ketegoride buluyor. markalarda buluyor fakat yazar isminde arama yaptığımda urun bulamıyor. Acaba hangi kodlarda oynama yapmam gerek...
 

tuardam

OpenCart-TR
Katılım
8 May 2011
Mesajlar
20
Tepkime puanı
0
Puanları
0
Opencart Arama

Selam arkadaşlar. Opencart 1.4.9.5 'i kurdum.
formdan yazarlar modülü diye bir modül ekledim.
http://forum.opencart-tr.com/thread-3667.html

Sitemde arama yaptığımda bu mödülde eklediğim yazarları bulmuyor.
Acaba aramaya bu modüldeki yazarları nasıl dahil edebilirim. Hangi kodlarda oynama yapmam gerek.
 

adsl77

OpenCart-TR
Katılım
6 May 2011
Mesajlar
130
Tepkime puanı
0
Puanları
0
Konum
Ankara
RE: Opencart Arama

çok güzel bi soru bende baya bundan muzdaribim. çözümü çok aradım ancak bulamadım umarım birisi bulmuştur.
burada paylaşırda bizde faydalanırız. opencartın gördüğüm kadarıyla kitap satış sitesine çokta uygun alt yapısı yok baya modifikasyon gerekiyor hele birde kitap çok yazarlı ise vay haline :) ancak opencart tam bir seo dostu 45 gün oldu ben siteyi faaliyete geçireli sitemdeki mevcut kitapların %80 google aramalarında 5-6 yıllık sitelerin sitelerin üzerinde ilk sayfada çıkıyorum hatta bazılarında birinci sayfada ilk sırada geri kalanı ise ilk üçte. 4. sayfaya hiç düştüğüm olmadı. geriye kalanlarda zamanla yükselecek eminim tabiki seo kelimeler etiketler v.s önemli nasıl eklendiği. sanırım sizde kitap satış sitesi kurmuşsunuz hayırlı olsun bol kazançlar. her nekadar rakip olsakta geçici bulduğum çözümü size söyleyim (şaka tabiki) bilgi paylaştıkça güzeldir herkez ekmeğini kısmetini yer. ürün etiketlerine yazarı ekleyin aramalarda çıkar ;) sadece site içi değil google amcada da yer alırsın
 

neyzel

OpenCart-TR
Katılım
12 Ocak 2011
Mesajlar
20
Tepkime puanı
0
Puanları
0
.
Çok iyi. Ancak sizden bir şey öğrenmek istiyoruz, kurmaya çalıştığımız bir kitap sitesi için güncel kitap fiyatlarını tedarik edeceğimiz bir yer varmıdr yada bunun yolu/yöntemi nedir?

Teşekkürler.
 

tuardam

OpenCart-TR
Katılım
8 May 2011
Mesajlar
20
Tepkime puanı
0
Puanları
0
Adsl177 kardeş çok sağol. Bende aynı yöntemi deniyeceğim sanırım başka çözüm yolu yok bu işin..
 

warmax

OpenCart-TR
Katılım
29 Tem 2011
Mesajlar
3
Tepkime puanı
0
Puanları
0
arkadaşlar phpmyadmin mysql' sql çalıştırabilmek için öncelikle ;
oc_author
oc_author_to_store

tablolarını sildikten sonra sql girişi yaparsanız sorun kalmayacaktır iyi çalışmalar..
 

parlak_34

OpenCart-TR
Katılım
26 Tem 2011
Mesajlar
1
Tepkime puanı
0
Puanları
0
1.5.4 de indirdiğimiz dosyayı nasıl adapte edebiliriz .sorun veriyor
 

emraheren

OpenCart-TR
Katılım
27 May 2010
Mesajlar
32
Tepkime puanı
0
Puanları
0
1.5.4 için nasıl uyarlaya biliriz neleri değiştirmemiz gerekli.
 

farman

OpenCart-TR
Katılım
6 Nis 2013
Mesajlar
0
Tepkime puanı
0
Puanları
0
1,5,6 da manufacturer modülünün aynı yazarlar olarak yaptım çok güzel çalışıyor.Ancak yazarları güncellerken yazarın adını siliyor sorunu nasıl çözebilirim..
 
Üst