Öncelikle eklentiyi ben yazmadım, yazan arkadaşa helal olsun demekten başka bir şey söyleyemiyorum..
(Neden opencart geliştiricileri bunu yapmıyor diye de kara kara düşünüyorum)
Olay şu,
gibi linkleri;
haline çeviriyor.
Eklentinin orjinal dosyaları burada ancak Türkçeleştirilmiş değil:
http://www.opencart.com/index.php?route=extension/extension/info&extension_id=6112
İsterseniz aşağıdaki ek dosyasından Türkçe olarak yükleyebilirsiniz.
Yapmanız gerekenler,
Çıkardığınız dosyalardan catalog klasörünü dizininize atın. (zaten bir tek seo_url dosyası var, eskisinin yedeğini almanızı tavsiye ederim)
Sonra phpmyadmin vb. panelinizi açıp, database.sql içindekileri veritabanınıza sorgu ile kayıt etmeniz gerekiyor.
İşlemler az buçuk işi bilenler için çok basit.
Sistemi 1.5.2.1 versiyonu için denedim, sorunsuz çalıştı.
(Eklentiyi yapanın yazdığı destekler: v1.5.1, v1.5.1.1, v1.5.1.2, v1.5.1.3, v1.5.2, v1.5.2.1)
Geriye kalan tek şey, admin paneli ayarlarından SEO URL : Evet yapmak
Kolay gelsin arkadaşlar.
Not: Bu konuda ben destek vermiyorum, sadece yararlanın istedim. Desteği orjinal eklenti yazarından alabilirsiniz.
Database:
catalog/controller/common/seo_url.php
.htaccess
(Neden opencart geliştiricileri bunu yapmıyor diye de kara kara düşünüyorum)
Olay şu,
Kod:
index.php?route=common/home
index.php?route=account/login
index.php?route=information/contact
gibi linkleri;
Kod:
site.com/
site.com/giris
site.com/iletisim
haline çeviriyor.
Eklentinin orjinal dosyaları burada ancak Türkçeleştirilmiş değil:
http://www.opencart.com/index.php?route=extension/extension/info&extension_id=6112
İsterseniz aşağıdaki ek dosyasından Türkçe olarak yükleyebilirsiniz.
Yapmanız gerekenler,
Çıkardığınız dosyalardan catalog klasörünü dizininize atın. (zaten bir tek seo_url dosyası var, eskisinin yedeğini almanızı tavsiye ederim)
Sonra phpmyadmin vb. panelinizi açıp, database.sql içindekileri veritabanınıza sorgu ile kayıt etmeniz gerekiyor.
İşlemler az buçuk işi bilenler için çok basit.
Sistemi 1.5.2.1 versiyonu için denedim, sorunsuz çalıştı.
(Eklentiyi yapanın yazdığı destekler: v1.5.1, v1.5.1.1, v1.5.1.2, v1.5.1.3, v1.5.2, v1.5.2.1)
Geriye kalan tek şey, admin paneli ayarlarından SEO URL : Evet yapmak
Kolay gelsin arkadaşlar.
Not: Bu konuda ben destek vermiyorum, sadece yararlanın istedim. Desteği orjinal eklenti yazarından alabilirsiniz.
Database:
Kod:
INSERT INTO url_alias (query, keyword) VALUES ('common/home', '');
INSERT INTO url_alias (query, keyword) VALUES ('account/wishlist', 'istek');
INSERT INTO url_alias (query, keyword) VALUES ('account/account', 'hesabim');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/cart', 'sepetim');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/checkout', 'odeme');
INSERT INTO url_alias (query, keyword) VALUES ('account/login', 'giris');
INSERT INTO url_alias (query, keyword) VALUES ('account/logout', 'cikis');
INSERT INTO url_alias (query, keyword) VALUES ('account/order', 'siparis-gecmisi');
INSERT INTO url_alias (query, keyword) VALUES ('account/newsletter', 'haber');
INSERT INTO url_alias (query, keyword) VALUES ('product/special', 'kampanyalar');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/account', 'affiliates');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/voucher', 'hediye-kuponu');
INSERT INTO url_alias (query, keyword) VALUES ('product/manufacturer', 'markalar');
INSERT INTO url_alias (query, keyword) VALUES ('information/contact', 'iletisim');
INSERT INTO url_alias (query, keyword) VALUES ('account/return/insert', 'geri-donus');
INSERT INTO url_alias (query, keyword) VALUES ('information/sitemap', 'site-haritasi');
INSERT INTO url_alias (query, keyword) VALUES ('account/forgotten', 'sifremi-unuttum');
INSERT INTO url_alias (query, keyword) VALUES ('account/download', 'indir');
INSERT INTO url_alias (query, keyword) VALUES ('account/return', 'iade');
INSERT INTO url_alias (query, keyword) VALUES ('account/transaction', 'islemler');
INSERT INTO url_alias (query, keyword) VALUES ('account/register', 'hesap-olustur');
INSERT INTO url_alias (query, keyword) VALUES ('product/compare', 'karsilastirmali-urunler');
INSERT INTO url_alias (query, keyword) VALUES ('product/search', 'arama');
INSERT INTO url_alias (query, keyword) VALUES ('account/edit', 'hesap-duzenle');
INSERT INTO url_alias (query, keyword) VALUES ('account/password', 'sifre-degistir');
INSERT INTO url_alias (query, keyword) VALUES ('account/address', 'adres');
INSERT INTO url_alias (query, keyword) VALUES ('account/reward', 'hediye-puani');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/edit', 'ortaklik-hesabi-duzenleme');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/password', 'ortaklik-hesabi-sifre');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/payment', 'ortaklik-hesabi-odeme');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/tracking', 'ortaklik-hesabi-takip');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/transaction', 'ortaklik-hesabi-islemler');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/logout', 'ortaklik-hesabi-cikis');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/forgotten', 'ortaklik-hesabi-sifremi-unuttum');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/register', 'ortaklik-hesabi-kayit');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/login', 'ortaklik-hesabi-giris');
catalog/controller/common/seo_url.php
Kod:
<?php
class ControllerCommonSeoUrl extends Controller {
public function index() {
// Add rewrite to url class
if ($this->config->get('config_seo_url')) {
$this->url->addRewrite($this);
}
// Decode URL
if (isset($this->request->get['_route_'])) {
$parts = explode('/', $this->request->get['_route_']);
$route = "";
foreach ($parts as $part) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");
if ($query->num_rows) {
$url = explode('=', $query->row['query']);
if(count($url) > 1){
if ($url[0] == 'product_id') {
$this->request->get['product_id'] = $url[1];
}
if ($url[0] == 'category_id') {
if (!isset($this->request->get['path'])) {
$this->request->get['path'] = $url[1];
} else {
$this->request->get['path'] .= '_' . $url[1];
}
}
if ($url[0] == 'manufacturer_id') {
$this->request->get['manufacturer_id'] = $url[1];
}
if ($url[0] == 'information_id') {
$this->request->get['information_id'] = $url[1];
}
}else{
$route = $url[0];
}
} else {
$this->request->get['route'] = 'error/not_found';
}
}
if (isset($this->request->get['product_id'])) {
$this->request->get['route'] = 'product/product';
} elseif (isset($this->request->get['path'])) {
$this->request->get['route'] = 'product/category';
} elseif (isset($this->request->get['manufacturer_id'])) {
$this->request->get['route'] = 'product/manufacturer/product';
} elseif (isset($this->request->get['information_id'])) {
$this->request->get['route'] = 'information/information';
}else {
$this->request->get['route'] = $route;
}
if (isset($this->request->get['route'])) {
return $this->forward($this->request->get['route']);
}
}
}
public function rewrite($link) {
if ($this->config->get('config_seo_url')) {
$url_data = parse_url(str_replace('&', '&', $link));
$url = '';
$data = array();
parse_str($url_data['query'], $data);
foreach ($data as $key => $value) {
if (($key == 'product_id') || ($key == 'manufacturer_id') || ($key == 'information_id')) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'");
if ($query->num_rows) {
$url .= '/' . $query->row['keyword'];
unset($data[$key]);
}
} elseif ($key == 'path') {
$categories = explode('_', $value);
foreach ($categories as $category) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'");
if ($query->num_rows) {
$url .= '/' . $query->row['keyword'];
}
}
unset($data[$key]);
}elseif ($key == 'route') {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($value) . "'");
if ($query->num_rows) {
$url .= '/' . $query->row['keyword'];
unset($data[$key]);
}
}
}
if ($url) {
unset($data['route']);
$query = '';
if ($data) {
foreach ($data as $key => $value) {
$query .= '&' . $key . '=' . $value;
}
if ($query) {
$query = '?' . trim($query, '&');
}
}
return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query;
} else {
return $link;
}
} else {
return $link;
}
}
}
?>
.htaccess
Kod:
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]