Автоматическая генерация seo url для Opencart 2.x

Опубликовано: 08.10.2017

видео Автоматическая генерация seo url для Opencart 2.x

Seo url opencart-автоматическое заполнение полей

С выходом моей статьи про генерацию seo url на лету для OpenСart 1.5.x прошло много времяни. За это время обновился сам OpenCart.



И к моему сожалению в плане автогенерации seourl на основе названия продукта OpenCart не продвинулся. Ну чтож. Придется самим с этим бороться.

Относительно первой версии изменения не большие.

Покажу пример на основе файла admin\model\catalog\product.php .

Тут такой момент важный есть. Может кто не знает, но чтоб работало seo url, нужно включить эту функцию в разделе: Редактирование настроек магазина -> Сервер -> Включить SEO URL -> Да и переименовать файл htaccess.txt в .htaccess


Генерация SEO мета тэгов по шаблону ocStore/Opencart 2.x #43

И так. Находим функцию public function addProduct($data) . Ищем код:

if (isset($data['keyword'])) { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'"); }

и меняем его на:

if (isset($data['keyword']) & !(empty(trim($data['keyword'])))) { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'"); } else { // соотношение русской буквы к английской $str = array ("А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"Y","К"=>"K","Л"=>"L", "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b","в"=>"v","г"=>"g", "д"=>"d","е"=>"e","ж"=>"j","з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l","м"=>"m","н"=>"n","о"=>"o","п"=>"p", "р"=>"r","с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h","ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y","ы"=>"yi", "ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya","."=>"-"," "=>"-","?"=>"-","/"=>"-","\\"=>"-","*"=>"-",":"=>"-","*"=>"-", ">"=>"-","|"=>"-","'"=>"",'"'=>""); // получаем название продукта $get_title = $this->db->escape($data['product_description'][1]['name']); // преобразовываем из русского в английский $my_seo_url = strtr($get_title ,$str); // сохраняем в БД $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . strtolower($my_seo_url) . "'"); }

ЗЫ: для того, чтоб seourl генерировался автоматически при обновлении продукта, вам нужно будет внести эти же правки в функцию public function editProduct($product_id, $data)


SEO Tags Generator — модуль для автоматической генерации meta title и meta description на OpenCart 2

rss