Jump to content

Ох уже это чпу....нужна помощь!


Recommended Posts

Переделываю один сайт клиента и столкнулся с такой проблемой что у него на старой престе ссылки на товары были такие:

 

http://site.ru/product/povsednevnnye-platja-viktorija/

 

А на обычной престе идут такие:

 

http://site.ru/название категории/povsednevnnye-platja-viktorija.html

 

Начал разбираться, увидел что у него файл Link.php переделан и ЧПУ, но мне этот файл и его чпу не подошли, не чего не работает, у клиента версия 1.4.0.17 у меня 1.4.7.0

 

Попробовал сделать сам, в результате ссылки стали такими же, но пишет что товар не найден...может кто помочь?

 

 

Вот мой код Classes/Link.php

 

public function getProductLink($id_product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL)
{
 global $cookie;
 if (is_object($id_product))
 {
  $link = '';
  if ($this->allow == 1)
  {
$link .= (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).'product/');

//if (isset($id_product->category) AND !empty($id_product->category) AND $id_product->category != 'home')
// $link .= $id_product->category.'/';
//else
// $link .= '';
//$link .= (int)$id_product->id.'-';
if (is_array($id_product->link_rewrite))
 $link.= $id_product->link_rewrite[(int)$cookie->id_lang];
else
  $link.= $id_product->link_rewrite;
if ($id_product->ean13)
 $link .='-'.$id_product->ean13;
else
 $link .= '';
$link .= '/';
  }
  else
  {
$link .= (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product->id);
  }
  return $link;
 }

 else if ($alias)
 {
  $link = '';
  if ($this->allow == 1)
  {
$link .= (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang).'product/');

//if ($category AND $category != 'home')
// $link .= $category.'/';
//else
// $link .= '';

$link .= $alias;

if ($ean13)
 $link .='-'.$ean13;
else
 $link .= '';

$link .= '/';
  }
  else
$link .=(_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product);
  return $link;
 }

 else
  return _PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)$id_product;
}

 

 

И .htaccess файл:

 

RewriteEngine on
# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L]
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
RewriteRule ^blog/$ /modules/newscore/news.php [L,E]
RewriteRule ^blog/entry/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /modules/newscore/news.php?id_entry=$1 [QSA,L,E]
RewriteRule ^blog/category/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /modules/newscore/news.php?category_id=$1 [QSA,L,E]
RewriteRule ^blog/category/([0-9]+)-([a-zA-Z0-9-]*)/entry/([0-9]+)-([a-zA-Z0-9-]*)(.*)$ /modules/newscore/news.php?category_id=$1&id;_entry=$3 [QSA,L,E]
RewriteRule ^category/([a-zA-Z0-9-]*)/ /category.php?id_category=$1 [QSA,L]
RewriteRule ^product/([a-zA-Z0-9-]*)/ /product.php?id_product=$1 [QSA,L]
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
</IfModule>

Link to comment
Share on other sites

Попробовал сделать как у клиента на старом сайте, вот так:

 

public function getProductLink($id_product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL)
{
  if (is_object($id_product))
   return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'product/'.$id_product->link_rewrite.'/') :
  (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)($id_product->id));
 if ($alias)
  return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'product/'  .$alias.'/') :
  (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)($id_product));
 return _PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.(int)($id_product);
}

 

Все равно пишет что товар не найден...

Link to comment
Share on other sites

Вот так ссылка сейчас выглядит: http://site.ru/product/povsednevnnye-platja-viktorija/ (в конце это название товара)

 

Если я вбиваю прямую ссылку http://site/product.php?id_product=721 то мне пишет:

 

[Debug] This page has moved

Please use the following URL instead: http://site.ru/product/povsednevnnye-platja-viktorija/

 

Но вот товара на странице нету если перейти по этой ссылке!

 

Скорее всего я чего то не правильно в .htaccess указываю...

Link to comment
Share on other sites

Думаю, что надо сравнивать модули ProductController.php и наверное Product.php.

Сообщение, которое Вы приводите, выводится функцией canonicalRedirection() из ProductController.php.

Возможно в той версии по другому шла обработка, а может быть у клиента переписывали модули, поэтому рекомендую заглянуть в папку Override

Link to comment
Share on other sites

В папке override не чего криминального не вижу..

 

classes/Cart.php, Customer.php, PDF.php, Search.php, Tools.php, Validate.php

controllers/AddressController.php, ParentOrderController.php

Link to comment
Share on other sites

Мне удалось добиться такого вида ссылки:

 

http://site.ru/product/1014-vechernie-platja-asimmetrichnye-klassik/

 

Но я по прежнему не могу брать ID впереди...вот .htaccess:

 

RewriteRule ^product/([0-9]+)\-[a-zA-Z0-9-]*/ /product.php?id_product=$1 [QSA,L]

 

Все попытки убрать ID из ссылки не к чему хорошему не приводят..

Link to comment
Share on other sites

На англофоруме много раз подымался вопрос и вроде даже решение публиковали, надеюсь перед воплощением сего клиент понимает что имена у товаров должны быть уникальны и желательно этот момент контролировать на этапе добавления товара.

хтасесс тут ни при чем пока что, сервер должен получить параметр id_product=**число**, ты же хочешь отдать ему только имя товара, т.е. надо контрол переписать так чтобы он получал имя и отдавал по нему товар из БД.

в итоге правило будет выглядеть как-то так:

RewriteRule^product/([a-zA-Z0-9-])*/ /product.php?product_name=$1 [QSA,L]
Link to comment
Share on other sites

Мне удалось добиться такого вида ссылки:

 

http://site.ru/product/1014-vechernie-platja-asimmetrichnye-klassik/

 

Но я по прежнему не могу брать ID впереди...вот .htaccess:

 

RewriteRule ^product/([0-9]+)\-[a-zA-Z0-9-]*/ /product.php?id_product=$1 [QSA,L]

 

Все попытки убрать ID из ссылки не к чему хорошему не приводят..

 

Не совсем Вас понял - с ID работает? если нет, то смотрите, что вообще к Вам в ID приходит

 

 

На англофоруме много раз подымался вопрос и вроде даже решение публиковали, надеюсь перед воплощением сего клиент понимает что имена у товаров должны быть уникальны и желательно этот момент контролировать на этапе добавления товара.

хтасесс тут ни при чем пока что, сервер должен получить параметр id_product=**число**, ты же хочешь отдать ему только имя товара, т.е. надо контрол переписать так чтобы он получал имя и отдавал по нему товар из БД.

в итоге правило будет выглядеть как-то так:

 

Это я и имел в виду. когда говорил, что у Клиента возможно исправленный ProductController и Product

Link to comment
Share on other sites

Код который все заставляет работать находится в Tools.php в районе 216 строчки:

 

Но вот проблема, в 1.4.0.17 он работает, а на 1.4.7.0 выдает ошибки!!!

 

 

 if($_GET['tab'] != 'AdminCatalog') {  
  if(!is_numeric($_GET[$key]) && $_GET[$key]!="") {  
   if($key == 'id_product') {
    $catt=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(" SELECT `id_product` FROM `ps_product_lang` WHERE `link_rewrite` = '".$_GET['id_product']."'");
    $ret=$catt['id_product'];
   }
   elseif($key == 'id_category') {
    $catt=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(" SELECT `id_category` FROM `ps_category_lang` WHERE `link_rewrite` = '".$_GET['id_category']."'");
    $ret=$catt['id_category'];
   }
   elseif($key == 'id_cms') {
    $catt=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(" SELECT `id_cms` FROM `ps_cms_lang` WHERE `link_rewrite` = '".$_GET['id_cms']."'");
    $ret=$catt['id_cms'];
   }
  }

 }

 

 

Если вставить как есть то выдает:

 

Notice: Undefined index: tab in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 286
Notice: Undefined index: isolang in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: id_lang in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: content_only in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: bgcolor in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: star_pic in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: bgcolor in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: bdcolortip in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: onsum in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: onstylbas in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: onstylbas in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: id_category in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
...

 

 

Если убрать это:

 

 if($_GET['tab'] != 'AdminCatalog') {  
  if(!is_numeric($_GET[$key]) && $_GET[$key]!="") {
......

  }

 }

 

 

И оставить только то что в середине, то выдает на странице с товаром:

 

Notice: Undefined index: id_category in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 291
Notice: Undefined index: id_category in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 291

 

 

На странице с категориями:

 

Notice: Undefined index: id_product in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: id_product in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287
Notice: Undefined index: id_product in /var/www/support53958/data/www/site.ru/classes/Tools.php on line 287

 

 

При этом ссылка такая как нужно, контент весь отображается нормально.

 

Как я понял нужно правило при котором на странице с товарами действует только:

 

   if($key == 'id_product') {
    $catt=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(" SELECT `id_product` FROM `ps_product_lang` WHERE `link_rewrite` = '".$_GET['id_product']."'");
    $ret=$catt['id_product'];
   }

 

 

А на странице с категориями:

 

   elseif($key == 'id_category') {
    $catt=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(" SELECT `id_category` FROM `ps_category_lang` WHERE `link_rewrite` = '".$_GET['id_category']."'");
    $ret=$catt['id_category'];
   }

 

 

Но вот как правильно написать это правило я не знаю, это уже выше моих сил, может кто что подскажет?? Сейчас думаю над тем чтобы попробовать поместить одну строчку в Products.php, а другую в Category.php....

Link to comment
Share on other sites

Он тебе пишет что неопределен индекс id_product, 287 строка - это скл запрос с $_GET['id_product']?

 

покажи правило для чпу которое сейчас используешь

+ в престе есть обертка для пост/гет запросов и экранирование данных для использования с sql

если не ошибаюсь то вот этот путь $_GET['id_product'] - без проверок и т.д, ведет напрямую к sql инъекциям со всеми вытекающими.

 

 

Это я и имел в виду. когда говорил, что у Клиента возможно исправленный ProductController и Product

 

Я ТС отвечал, не вчитывался особо в другие ответы)

Link to comment
Share on other sites


# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L]
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^product/([a-zA-Z0-9-]*)/ /product.php?id_product=$1 [QSA,L]
RewriteRule ^category/([a-zA-Z0-9-]*)/ /category.php?id_category=$1 [QSA,L]
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
RewriteRule ^blog/$ /modules/newscore/news.php [L,E]
RewriteRule ^blog/entry/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /modules/newscore/news.php?id_entry=$1 [QSA,L,E]
RewriteRule ^blog/category/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /modules/newscore/news.php?category_id=$1 [QSA,L,E]
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]
#RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
#RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
</IfModule>

# Catch 404 errors
ErrorDocument 404 /404.php

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

FileETag INode MTime Size
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>


Link to comment
Share on other sites

RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^product/([a-zA-Z0-9-]*)/ /product.php?id_product=$1 [QSA,L]

 

какой из этих путей ты используешь и получаешь "При этом ссылка такая как нужно, контент весь отображается нормально."?

вид какой

Link to comment
Share on other sites

А почему ты думаешь что эта ошибка из-за того что то не так в .htaccess именно? Я вот лично думаю что из-за того что в Tools.php что то не так..

Link to comment
Share on other sites

Нужно вот этот код изменить чтобы ошибки не шли, это очень важно чтобы ошибок не было...выключил debug режим но у меня из-за этого сайт криво выглядит...там на эти ссылки /products/ и /category/ сделаны свои, отдельные шаблоны и вот они при включенном debug пашут, а при выключенном нет...в админке там тоже при debug полно ошибок идет, тут надо именно вот этот код ниже изменить чтобы все ок было:

 

   if($key == 'id_product') {
 $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow("
 SELECT `id_product`
 FROM `ps_product_lang`
 WHERE `link_rewrite` = '".$_GET['id_product']."'");
 $ret=$row['id_product'];
   }
   elseif($key == 'id_category') {
 $row=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow("
 SELECT `id_category`
 FROM `ps_category_lang`
 WHERE `link_rewrite` = '".$_GET['id_category']."'");
 $ret=$row['id_category'];
   }
   elseif($key == 'id_cms') {
 $row=Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow("
 SELECT `id_cms`
 FROM `ps_cms_lang`
 WHERE `link_rewrite` = '".$_GET['id_cms']."'");
 $ret=$row['id_cms'];
   }

Link to comment
Share on other sites

Я разобрался, теперь все пашет. Вот только при дебаге дофига undefined index везде вылазиет...хз как убрать

Link to comment
Share on other sites

  • 1 year later...

На что Вы тратите время и силы?

Посмотрите ТОПы выдачи по запросам!

Сайты в ТОП выходят и с /ru/products/ и с /katalog/ и с id товара и много прочего лишнего в адресе.

Суть в чем выпиливания ид из адреса страницы?

Вы сразу в топ метите? Лучше бы потратили это время и силы на продвижение сайта, оптимизацию текстов, ключевых слов, описания товаров!

Удачи!

Link to comment
Share on other sites

×
×
  • Create New...