shishifr Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 (змінено) Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили) 5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: https://opencartforum.com/files/file/458-avtogeneraciya-seo-url-dlya-tovara/ Змінено 23 червня 2012 користувачем shishifr 1 Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 https://opencartforum.com/files/file/332-deadcow-seo-v21-automod/ Надіслати Поділитися на інших сайтах More sharing options... shishifr Опубліковано: 23 червня 2012 Автор Share Опубліковано: 23 червня 2012 http://opencartforum...eo-v21-automod/ Ну там все автогенерируется. У меня была задача только сео урл. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. Надіслати Поділитися на інших сайтах More sharing options... shishifr Опубліковано: 23 червня 2012 Автор Share Опубліковано: 23 червня 2012 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. он берет только латинские символы и цифры из названия Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 Замените на красивое решение replacedLetters = array( 'ё' => 'e', 'й' => 'y', 'ц' => 'c', 'у' => 'u', 'к' => 'k', 'е' => 'e', 'н' => 'n', 'г' => 'g', 'ш' => 'sh', 'щ' => 'sch', 'з' => 'z', 'х' => 'h', 'ъ' => '', 'ф' => 'f', 'ы' => 'y', 'в' => 'v', 'а' => 'a', 'п' => 'p', 'р' => 'r', 'о' => 'o', 'л' => 'l', 'д' => 'd', 'ж' => 'zh', 'э' => 'e', 'я' => 'ya', 'ч' => 'ch', 'с' => 's', 'м' => 'm', 'и' => 'i', 'т' => 't', 'ь' => '', 'б' => 'b', 'ю' => 'yu', 'є' => 'e', 'ї' => 'yi', 'і' => 'i', 'ґ' => 'g' ) ; //Таблица транслитерации $string = utf8_strtolower( $string ) ;//ВОЗМОЖНО функцию нужно изменить $string = strtr( $string, $replacedLetters ) ; $string = preg_replace( '/[^p{L}p{Nd}/0-9]+/u', '-', $string ) ; //http://habrahabr.ru/blogs/php/45910/ $string = preg_replace( '/-//u', '/', $string ) ; $string = preg_replace( '//-/u', '/', $string ) ; $string = trim( $string, '-' ) ; return $string ; } Надіслати Поділитися на інших сайтах More sharing options... 1 year later... playthetechno Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 А как возможно выбрать, с какого языка делать url? Если вот например на сайте 3 языка :) По умолчанию берет русский (т.к. админка на русском). Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 Я у себя переписал СЕО-ПРО так что для каждого языка своя ссылка. В итоге 1 магазин - 1 язык. Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
shishifr Опубліковано: 23 червня 2012 Автор Share Опубліковано: 23 червня 2012 http://opencartforum...eo-v21-automod/ Ну там все автогенерируется. У меня была задача только сео урл. Надіслати Поділитися на інших сайтах More sharing options...
Vladzimir Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. Надіслати Поділитися на інших сайтах More sharing options... shishifr Опубліковано: 23 червня 2012 Автор Share Опубліковано: 23 червня 2012 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. он берет только латинские символы и цифры из названия Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 Замените на красивое решение replacedLetters = array( 'ё' => 'e', 'й' => 'y', 'ц' => 'c', 'у' => 'u', 'к' => 'k', 'е' => 'e', 'н' => 'n', 'г' => 'g', 'ш' => 'sh', 'щ' => 'sch', 'з' => 'z', 'х' => 'h', 'ъ' => '', 'ф' => 'f', 'ы' => 'y', 'в' => 'v', 'а' => 'a', 'п' => 'p', 'р' => 'r', 'о' => 'o', 'л' => 'l', 'д' => 'd', 'ж' => 'zh', 'э' => 'e', 'я' => 'ya', 'ч' => 'ch', 'с' => 's', 'м' => 'm', 'и' => 'i', 'т' => 't', 'ь' => '', 'б' => 'b', 'ю' => 'yu', 'є' => 'e', 'ї' => 'yi', 'і' => 'i', 'ґ' => 'g' ) ; //Таблица транслитерации $string = utf8_strtolower( $string ) ;//ВОЗМОЖНО функцию нужно изменить $string = strtr( $string, $replacedLetters ) ; $string = preg_replace( '/[^p{L}p{Nd}/0-9]+/u', '-', $string ) ; //http://habrahabr.ru/blogs/php/45910/ $string = preg_replace( '/-//u', '/', $string ) ; $string = preg_replace( '//-/u', '/', $string ) ; $string = trim( $string, '-' ) ; return $string ; } Надіслати Поділитися на інших сайтах More sharing options... 1 year later... playthetechno Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 А как возможно выбрать, с какого языка делать url? Если вот например на сайте 3 языка :) По умолчанию берет русский (т.к. админка на русском). Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 Я у себя переписал СЕО-ПРО так что для каждого языка своя ссылка. В итоге 1 магазин - 1 язык. Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
shishifr Опубліковано: 23 червня 2012 Автор Share Опубліковано: 23 червня 2012 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. он берет только латинские символы и цифры из названия Надіслати Поділитися на інших сайтах More sharing options...
Vladzimir Опубліковано: 23 червня 2012 Share Опубліковано: 23 червня 2012 Замените на красивое решение replacedLetters = array( 'ё' => 'e', 'й' => 'y', 'ц' => 'c', 'у' => 'u', 'к' => 'k', 'е' => 'e', 'н' => 'n', 'г' => 'g', 'ш' => 'sh', 'щ' => 'sch', 'з' => 'z', 'х' => 'h', 'ъ' => '', 'ф' => 'f', 'ы' => 'y', 'в' => 'v', 'а' => 'a', 'п' => 'p', 'р' => 'r', 'о' => 'o', 'л' => 'l', 'д' => 'd', 'ж' => 'zh', 'э' => 'e', 'я' => 'ya', 'ч' => 'ch', 'с' => 's', 'м' => 'm', 'и' => 'i', 'т' => 't', 'ь' => '', 'б' => 'b', 'ю' => 'yu', 'є' => 'e', 'ї' => 'yi', 'і' => 'i', 'ґ' => 'g' ) ; //Таблица транслитерации $string = utf8_strtolower( $string ) ;//ВОЗМОЖНО функцию нужно изменить $string = strtr( $string, $replacedLetters ) ; $string = preg_replace( '/[^p{L}p{Nd}/0-9]+/u', '-', $string ) ; //http://habrahabr.ru/blogs/php/45910/ $string = preg_replace( '/-//u', '/', $string ) ; $string = preg_replace( '//-/u', '/', $string ) ; $string = trim( $string, '-' ) ; return $string ; } Надіслати Поділитися на інших сайтах More sharing options... 1 year later... playthetechno Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 А как возможно выбрать, с какого языка делать url? Если вот например на сайте 3 языка :) По умолчанию берет русский (т.к. админка на русском). Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 Я у себя переписал СЕО-ПРО так что для каждого языка своя ссылка. В итоге 1 магазин - 1 язык. Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
playthetechno Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 А как возможно выбрать, с какого языка делать url? Если вот например на сайте 3 языка :) По умолчанию берет русский (т.к. админка на русском). Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 Я у себя переписал СЕО-ПРО так что для каждого языка своя ссылка. В итоге 1 магазин - 1 язык. Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vladzimir Опубліковано: 6 січня 2014 Share Опубліковано: 6 січня 2014 Я у себя переписал СЕО-ПРО так что для каждого языка своя ссылка. В итоге 1 магазин - 1 язык. Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Приветствую, за решение спасибо. А кто нибудь делал что бы SEO URL автоматически заполнялся product_id из базы данных ( только для товаров ) ? Есть готовое решение? Просто пока не сильно владею и нет возможности переписать модель и контроллер для этих дел но нужно быстрое решение? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 ну так тут ничего сложного было if ($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 ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } зы. Ничего что в чужой теме? 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) [How-To] SEO urls - Автозаполнение
Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, а какой файл? В файле admin/controller/catalog/product.php не смог найти.[ Тоже самое в /catalog/controller/common/seo_pro.php и seo_url.php Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Это в модели admin/model/catalog/product.php 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, да уже и сам догадался что в модели. Блин но проблема что не работает. При создании или сохранении товара в таблицу ничего не пишется. При вводе чего нибудь ( к примеру aaa) в SEO URL то запись добавляется в таблицу url_alias, но если оставить пустым то ничего не происходит. Пробывал распечатать переменную var_dump($product_id) // но это идея явна глупая. Подскажи куда копать ? или я что-то не понимаю ? Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Должно писаться при создании для изменения $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'product_id=" . (int)$product_id. "'"); if ($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 { $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'product_id=" . (int)$product_id . "', keyword = '" . $product_id . "'"); } 2 Надіслати Поділитися на інших сайтах More sharing options... Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options... geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options... 10 months later... PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options... fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options... IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Hol1killer Опубліковано: 8 січня 2014 Share Опубліковано: 8 січня 2014 Спасибо, разобрался все работает. То что нужно. Спасибо. Надіслати Поділитися на інших сайтах More sharing options...
geki Опубліковано: 8 травня 2015 Share Опубліковано: 8 травня 2015 Спасибо за статью, но перед добавление товара. Вверху ошибка. Помогите решить. Notice: Undefined variable: product_info in /var/www/ /data/www/ /admin/controller/catalog/product.php on line 1110 1110 $this->data['keyword'] = translitIt($product_info['name']); Надіслати Поділитися на інших сайтах More sharing options...
geki Опубліковано: 12 травня 2015 Share Опубліковано: 12 травня 2015 Подскажите пжл Надіслати Поділитися на інших сайтах More sharing options...
PSoft Опубліковано: 22 березня 2016 Share Опубліковано: 22 березня 2016 Может я плохо искал, но не нашел такого модуля. Реализовал сам - работает (это главное). Код предназначен для автогенерации seo-url товара, чтобы его не пришлось заполнять вручную. Хотите себе такое? Тогда читайте ниже: ------------------------------ Обновлено (для тех кто иногда хочет и руками вводить) 1) Открываем в блокноте файл admin/controller/catalog/product.php 2) Находим строку if (isset($this->request->post['keyword'])) { (у меня она 783) 3) перед ней вставляем код function translitIt($str) { $tr = 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", " "=> "-", "."=> "", "/"=> "-", "'"=> "", ); return strtr($str,$tr); } 4) Находим строку $this->data['keyword'] = $product_info['keyword']; (на пару строк ниже чем код который мы вставили)5) Заменяем блок if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info)) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = ''; } на if (isset($this->request->post['keyword'])) { $this->data['keyword'] = $this->request->post['keyword']; } elseif (!empty($product_info['keyword'])) { $this->data['keyword'] = $product_info['keyword']; } else { $this->data['keyword'] = translitIt($product_info['name']); } 6) Теперь при добавлении товара, можно не заполнять seo-url. Он будет автоматически взят и транслитирован из названия товара. Но так же можно и вручную прописать.-------------------------------- Для тех у кого стоит VqMod: А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. Надіслати Поділитися на інших сайтах More sharing options...
fanton123 Опубліковано: 28 березня 2016 Share Опубліковано: 28 березня 2016 А как-то можно добавить возможность подстановки ID товара в начале или в конце seo url? Это было бы очень актуально в случае одинаковых названий товара. "в случае одинаковых названий товара." - это дубли, не советую их делать. Надіслати Поділитися на інших сайтах More sharing options...
IlyaCart Опубліковано: 29 березня 2016 Share Опубліковано: 29 березня 2016 http://www.opencart....nload_id=196465 + проверяет наличие дублей и вставляет уникальную ссылку. будет работать для ocStore 2.1.0.2? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts