• 25-04-2015, 15:36:05
    #1
    Selam,
    Opencart altyapısı hakkında yeterli bilgim yok.

    Kurduğum vqmod eklenti ile site.com/urun-adi-buraya şeklinde yaptım. sonuna -id eklemek istiyorum.

    Yani şöyle:
    site.com/urun-adi-buraya-1534

    Nasıl yapabilirim? ilgili dosya burda.

    <modification>
    	<id><![CDATA[ReferralCheckout]]></id>
    	<version><![CDATA[1.5.x]]></version>
    	<vqmver><![CDATA[2.1.7]]></vqmver>
    	<author><![CDATA[Thakker Technologies]]></author>
    	 
    	 <file name="system/library/document.php">
    		<operation>
    			<search position="before"><![CDATA[public function getTitle() {]]></search>
    			<add><![CDATA[ 
    						public function title2uri($sValue,$db) {
    								require_once('config.php');
    								require_once(DIR_SYSTEM . 'library/db.php');
    								
    								$suggested_alias =  str_replace(
    									array('&', '/', '\\', '"', '+',' '), 
    									array('-', '-', '-', '-', '-','-'), 
    									trim($sValue)
    								);
    
    								//$db2 = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
    								//$registry = new Registry();
    								
    								$query_alias = $db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `keyword` = '$suggested_alias'");
    								
    								if ($query_alias->num_rows) {
    								 
    									$suggested_id = $query_alias->row['url_alias_id'];
    									$suggested_alias .= "-$suggested_id";
    								}	
    								return $suggested_alias ;
    							}
    							
    							]]></add>
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/product.php">
    	 	<operation>
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "'");
    			}
    			else{
    							]]></add>
    		
    	 
    							
    	 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/manufacturer.php">
    	 	<operation>
    		
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($keyword) . "'");
    			}
    			else{
    							]]></add>
    			 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/category.php">
    	 	<operation>
    			
    			<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['category_description'][1]['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "'");
    			}
    			else{
    							]]></add>
    							
    			 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/information.php">
    	 	<operation>
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['information_description'][1]['title'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'information_id=" . (int)$information_id . "', keyword = '" . $this->db->escape($keyword) . "'");
    			}
    			else{
    							]]></add>
    			 
    		</operation>
    		
    	</file>
    	
    </modification>
  • 25-04-2015, 20:58:35
    #2
    Aynı konudan bende dertliyim aynı isimde kategoriler sıkıntı yaratıyor. linkin başına veya sonuna id eklenebilirse güzel olur. Bir yolu yok mudur bunun
  • 26-04-2015, 01:07:35
    #3
    Üyeliği durduruldu
    vqMod Dosyasınızı aşağıdaki şekilde düzenlerseniz istediğiniz olacaktır, kolay gelsin.

    <modification>
    	<id><![CDATA[ReferralCheckout]]></id>
    	<version><![CDATA[1.5.x]]></version>
    	<vqmver><![CDATA[2.1.7]]></vqmver>
    	<author><![CDATA[Thakker Technologies]]></author>
    	 
    	 <file name="system/library/document.php">
    		<operation>
    			<search position="before"><![CDATA[public function getTitle() {]]></search>
    			<add><![CDATA[ 
    						public function title2uri($sValue,$db) {
    								require_once('config.php');
    								require_once(DIR_SYSTEM . 'library/db.php');
    								
    								$suggested_alias =  str_replace(
    									array('&', '/', '\\', '"', '+',' '), 
    									array('-', '-', '-', '-', '-','-'), 
    									trim($sValue)
    								);
    
    								//$db2 = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
    								//$registry = new Registry();
    								
    								$query_alias = $db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `keyword` = '$suggested_alias'");
    								
    								if ($query_alias->num_rows) {
    								 
    									$suggested_id = $query_alias->row['url_alias_id'];
    									$suggested_alias .= "-$suggested_id";
    								}	
    								return $suggested_alias ;
    							}
    							
    							]]></add>
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/product.php">
    	 	<operation>
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "-" . int)$product_id . "'");
    			}
    			else{
    							]]></add>
    		
    	 
    							
    	 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/manufacturer.php">
    	 	<operation>
    		
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($keyword) . "-".(int)$manufacturer_id ."'");
    			}
    			else{
    							]]></add>
    			 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/category.php">
    	 	<operation>
    			
    			<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['category_description'][1]['name'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this->db->escape($keyword) . "-". (int)$category_id ."'");
    			}
    			else{
    							]]></add>
    							
    			 
    		</operation>
    	</file>
    	
    	 <file name="admin/model/catalog/information.php">
    	 	<operation>
    		
    		<search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    			<add><![CDATA[ 
    			if (!$data['keyword']) { 
    				$keyword = $this->document->title2uri($data['information_description'][1]['title'],$this->db);
    				$this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'information_id=" . (int)$information_id . "', keyword = '" . $this->db->escape($keyword) . "-". (int)$information_id ."'");
    			}
    			else{
    							]]></add>
    			 
    		</operation>
    		
    	</file>
    	
    </modification>
  • 26-04-2015, 02:39:22
    #4
    ondokuz adlı üyeden alıntı: mesajı görüntüle
    vqMod Dosyasınızı aşağıdaki şekilde düzenlerseniz istediğiniz olacaktır, kolay gelsin.
    Hocam teşekkürler ama çalışmadı maalesef. Panelde kategori ve urun sayfaları açılmıyor

    Edit: kodlarda sorun yok manuel yaptığımda sorunsuz çalıştı
  • 27-04-2015, 20:05:39
    #5
    Üyeliği durduruldu
    eturker adlı üyeden alıntı: mesajı görüntüle
    Hocam teşekkürler ama çalışmadı maalesef. Panelde kategori ve urun sayfaları açılmıyor
    daha sonra aynı sorunu yaşayacak arkadaşlar için söylüyorum, kodlarda sıkıntı yoktur, yalnız vqmod kopyala yapıştırda bazen sorun çıkardığı için çalışmamış kod, arkadaş sorununu işlemleri manuel yaparak çözmüştür.
  • 28-04-2015, 01:14:27
    #6
    Üyeliği durduruldu
    Sanırım Sorun

    <file name="admin/model/catalog/product.php">
    <operation>

    <search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    <add><![CDATA[
    if (!$data['keyword']) {
    $keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "-" . int)$product_id . "'");
    }
    else{
    ]]></add>




    </operation>
    </file>

    yerine

    <file name="admin/model/catalog/product.php">
    <operation>

    <search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    <add><![CDATA[
    if (!$data['keyword']) {
    $keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "-" . (int)$product_id . "'");
    }
    else{
    ]]></add>




    </operation>
    </file>

    olması

    (int)$product_id int)$product_id olarak yazmışsınız.
  • 28-04-2015, 20:14:59
    #7
    Üyeliği durduruldu
    onr39 adlı üyeden alıntı: mesajı görüntüle
    Sanırım Sorun

    <file name="admin/model/catalog/product.php">
    <operation>

    <search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    <add><![CDATA[
    if (!$data['keyword']) {
    $keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "-" . int)$product_id . "'");
    }
    else{
    ]]></add>




    </operation>
    </file>

    yerine

    <file name="admin/model/catalog/product.php">
    <operation>

    <search position="replace"><![CDATA[if ($data['keyword']) {]]></search>
    <add><![CDATA[
    if (!$data['keyword']) {
    $keyword = $this->document->title2uri($data['product_description'][1]['name'],$this->db);
    $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "-" . (int)$product_id . "'");
    }
    else{
    ]]></add>




    </operation>
    </file>

    olması

    (int)$product_id int)$product_id olarak yazmışsınız.
    evet olabilir hocam, orada bi yanlışlık var gözümden kaçmış.