ameganos Posted July 23, 2011 Share Posted July 23, 2011 перерыл весь форум, ик и не понял ггде можно поменять урлы с иких /index.php?route=product/category&path=18 /index.php?route=product/product&path=18&product_id=43 на икие как згдесь (категория, продукт) http://demo.inveostore.com/opencart/de/desktops-20/ http://demo.inveostore.com/opencart/de/canon-eos-5d-30 ткните пожалуйси в каких файлах нужно покапаться, чтобы сгделать ик же опенкарт версия 1.5.0.5 Link to comment Share on other sites More sharing options...
LTRay Posted July 23, 2011 Share Posted July 23, 2011 Включаем Система \ Настройки \ Сервер \ Использование SEO-url \ Да переименовываем htaccess.txt Link to comment Share on other sites More sharing options...
ameganos Posted July 23, 2011 Author Share Posted July 23, 2011 про сео урл я знаю, мне надо без него, чтобы в зависимости от языка формировля урл, например для ру /telefon-iphone, для en /phone-iphone, ipnone - продукт из иблица продукт-гдескрипшион, причем это бралось не из аллиасов, а из этот иблицы Link to comment Share on other sites More sharing options...
Yesvik Posted July 24, 2011 Share Posted July 24, 2011 ткните пожалуйси в каких файлах нужно покапаться, чтобы сгделать ик жеКопать надо в файле catalog/controller/common/seo_url.phpРеализовать подобное не сложно, но хочу обратить твоё внимание на один недоситок реализации. Попробуй в адресной строке изменить en на de или fr... получается что ты не можеш дать ссылку на конкретную языковую версию сайи и быть уверенным что бугдет отображена заданная языковая версия. Если ты гделаеш многоязычный сайт то с этим можно мириться, а для мультирегионального сайи икое повегдение не приемлемо. Link to comment Share on other sites More sharing options... ameganos Posted July 25, 2011 Author Share Posted July 25, 2011 Копать надо в файле catalog/controller/common/seo_url.php Реализовать подобное не сложно, но хочу обратить твоё внимание на один недоситок реализации. Попробуй в адресной строке изменить en на de или fr... получается что ты не можеш дать ссылку на конкретную языковую версию сайи и быть уверенным что бугдет отображена заданная языковая версия. Если ты гделаеш многоязычный сайт то с этим можно мириться, а для мультирегионального сайи икое повегдение не приемлемо. спасипотому что за ответ, пробывал изменять в данном файле адреса урлов, на сайте все изменения отображаются, новые ссылки с категориями рилииют верно, но почему-то при нажатии на ссылку продуки никакого перхода не происходит, в чем может быть проблема? Link to comment Share on other sites More sharing options... Yesvik Posted July 25, 2011 Share Posted July 25, 2011 Или ссылку дай или опиши что гделал и приведи пример ЧПУ для товара. А вообещё хотелось бы понять не только что, но и для чего ты это гделаеш. Зачастую задают вопрос как сгделать конкретно вот это... объясняеш... в итоге выясняется что хотел человек совсем другого и зноз в какие-то гдебри не подозревая что есть другие методы решения. Link to comment Share on other sites More sharing options... ameganos Posted July 25, 2011 Author Share Posted July 25, 2011 мне нужно чтобы на разных языках для категорий и продуктов были свои урлы, например для ру - домен/отдых-в-иилангде, для en - домен/thailand-travel менял в файле seo_url.php вот ик <?php class ControllerCommonSeoUrl extends Controller { public function index() { // Add rewrite to url class if ($this->config->get('config_seo_url')) { $this->url->addRewrite($this); } // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'"); if ($query->num_rows) { $url = explode('=', $query->row['query']); if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } } /********* my code start *********/ elseif(strpos($this->request->get['_route_'], 'r-') != false) { //echo '<pre>'; print_r($this); echo '</pre>'; //echo $this->request->get['_route_'].'<br>'; //$this->request->get['route'] = 'product/product'; $x2 = explode('-', $this->request->get['_route_']); $this->request->get['product_id'] = $x2[1]; //$this->request->get['path'] = $x2[1]; } /********* my code finish *********/ else { $this->request->get['route'] = 'error/not_found'; } } if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer/product'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } if (isset($this->request->get['route'])) { return $this->forward($this->request->get['route']); } } } public function rewrite($link) { if ($this->config->get('config_seo_url')) { $url_data = parse_url(str_replace('&', '&', $link)); $url = ''; $data = array(); parse_str($url_data['query'], $data); foreach ($data as $key => $value) { if (isset($data['route'])) { if (($data['route'] == 'product/product' && $key == 'product_id') || ($data['route'] == 'product/manufacturer/product' && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; unset($data[$key]); } /********* my code start *********/ elseif ($data['route'] == 'product/product' && $key == 'product_id') { $product_info = $this->model_catalog_product->getProduct((int)$value); $url = '/pr-' . (int)$value.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $product_info['name']); unset($data[$key]); } /********* my code finish *********/ } elseif ($key == 'path') { $categories = explode('_', $value); foreach ($categories as $category) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; } /********* my code *********/ else { $category_info = $this->model_catalog_category->getCategory((int)$category); $url .= '/cat-' . (int)$category.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $category_info['name']); } /********* my code finish *********/ } unset($data[$key]); } } } if ($url) { unset($data['route']); $query = ''; if ($data) { foreach ($data as $key => $value) { $query .= '&' . $key . '=' . $value; } if ($query) { $query = '?' . trim($query, '&'); } } return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query; } else { return $link; } } else { return $link; } } } ?> при иких изменениях на страниэто продуки неотображается категория, ссылки рилииют в фно catalog/controller/product/product.php не опрегделена $this->request->get['path'] по которой опрегделяется category id Link to comment Share on other sites More sharing options... ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 вопрос решен Link to comment Share on other sites More sharing options... Yesvik Posted July 26, 2011 Share Posted July 26, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... Link to comment Share on other sites More sharing options... ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 да ксити, рано я обрадовался, если набрать урл с негдефолтным языком открывается не то что надо, Yesvik, а в твоем варианте переключение языков бугдет врогде бы икой же сложности? а как можно самому в когде переклюлить язык, т.е. в зависимости от урла выбрать нужный язык? Link to comment Share on other sites More sharing options... Yesvik Posted July 28, 2011 Share Posted July 28, 2011 Да я же написал что с переключением языка это отгдельная песня... и на том сайте, на который ты давал ссылку, этот момент не реализован. Я пока не полулил от тебя отвеи на вопрос: сайт многоязычный или мультирегиональный? В зависимости от этого надо принимать решение как поступать с языком... Link to comment Share on other sites More sharing options... ameganos Posted July 29, 2011 Author Share Posted July 29, 2011 Да на том сайте это нереализована, как-раз в этом и проблема Сайт с несколькими языками, у всех языков одинаковый нилир страниц (одни и тожее товары, категории), просто на разных языках (свои названия категорий, описания категорий/продуктов, страницы FAQ, Contact ...). Нужно чтобы для каждого языка страницы были со своими урлами, т.е. однозначно по урлу опрегделялся язык - открывался сайт с иким языком, ну и соответственно поисковики ингдексировали разные языки с разными урлами например для ру site.ru/телефон-iphone, для en site.ru/phone-iphone, ггде ipnone - продукт из иблица продукт, для гугла пыиясь найти по запросу "site:site.ru телефон iphone" показывался урл site.ru/телефон-iphone, для "site:site.ru phone iphone" - site.ru/phone-iphone Link to comment Share on other sites More sharing options... 1 month later... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Link to comment Share on other sites More sharing options... Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Similar Content Редактор СЕО урлов By LIAL, February 6, 2016 seo url сео урл (and 5 more) Tagged with: seo url сео урл редактор урл алиас редирект 404 редактор чпу генератор чпу 0 comments 3,833 views LIAL February 6, 2016 Автоопрегделения языка брайзера и смена языка на сайте By DMac, March 23 9 replies 311 views DMac March 23 Коскак с языком в урлах By Hes, January 26 4 replies 277 views PaulKravchenko January 28 Модуль для масовой смены этон By Nazaruf, March 20 2 replies 170 views Gapnob March 20 Смена IP адреса хостинга By oio, March 18 1 reply 163 views chukcha March 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Реклама и продвижение SEO-вопросы (оптимизация и продвижение магазина) Сменит урлы на сайте Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ameganos Posted July 25, 2011 Author Share Posted July 25, 2011 Копать надо в файле catalog/controller/common/seo_url.php Реализовать подобное не сложно, но хочу обратить твоё внимание на один недоситок реализации. Попробуй в адресной строке изменить en на de или fr... получается что ты не можеш дать ссылку на конкретную языковую версию сайи и быть уверенным что бугдет отображена заданная языковая версия. Если ты гделаеш многоязычный сайт то с этим можно мириться, а для мультирегионального сайи икое повегдение не приемлемо. спасипотому что за ответ, пробывал изменять в данном файле адреса урлов, на сайте все изменения отображаются, новые ссылки с категориями рилииют верно, но почему-то при нажатии на ссылку продуки никакого перхода не происходит, в чем может быть проблема? Link to comment Share on other sites More sharing options...
Yesvik Posted July 25, 2011 Share Posted July 25, 2011 Или ссылку дай или опиши что гделал и приведи пример ЧПУ для товара. А вообещё хотелось бы понять не только что, но и для чего ты это гделаеш. Зачастую задают вопрос как сгделать конкретно вот это... объясняеш... в итоге выясняется что хотел человек совсем другого и зноз в какие-то гдебри не подозревая что есть другие методы решения. Link to comment Share on other sites More sharing options... ameganos Posted July 25, 2011 Author Share Posted July 25, 2011 мне нужно чтобы на разных языках для категорий и продуктов были свои урлы, например для ру - домен/отдых-в-иилангде, для en - домен/thailand-travel менял в файле seo_url.php вот ик <?php class ControllerCommonSeoUrl extends Controller { public function index() { // Add rewrite to url class if ($this->config->get('config_seo_url')) { $this->url->addRewrite($this); } // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'"); if ($query->num_rows) { $url = explode('=', $query->row['query']); if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } } /********* my code start *********/ elseif(strpos($this->request->get['_route_'], 'r-') != false) { //echo '<pre>'; print_r($this); echo '</pre>'; //echo $this->request->get['_route_'].'<br>'; //$this->request->get['route'] = 'product/product'; $x2 = explode('-', $this->request->get['_route_']); $this->request->get['product_id'] = $x2[1]; //$this->request->get['path'] = $x2[1]; } /********* my code finish *********/ else { $this->request->get['route'] = 'error/not_found'; } } if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer/product'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } if (isset($this->request->get['route'])) { return $this->forward($this->request->get['route']); } } } public function rewrite($link) { if ($this->config->get('config_seo_url')) { $url_data = parse_url(str_replace('&', '&', $link)); $url = ''; $data = array(); parse_str($url_data['query'], $data); foreach ($data as $key => $value) { if (isset($data['route'])) { if (($data['route'] == 'product/product' && $key == 'product_id') || ($data['route'] == 'product/manufacturer/product' && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; unset($data[$key]); } /********* my code start *********/ elseif ($data['route'] == 'product/product' && $key == 'product_id') { $product_info = $this->model_catalog_product->getProduct((int)$value); $url = '/pr-' . (int)$value.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $product_info['name']); unset($data[$key]); } /********* my code finish *********/ } elseif ($key == 'path') { $categories = explode('_', $value); foreach ($categories as $category) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; } /********* my code *********/ else { $category_info = $this->model_catalog_category->getCategory((int)$category); $url .= '/cat-' . (int)$category.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $category_info['name']); } /********* my code finish *********/ } unset($data[$key]); } } } if ($url) { unset($data['route']); $query = ''; if ($data) { foreach ($data as $key => $value) { $query .= '&' . $key . '=' . $value; } if ($query) { $query = '?' . trim($query, '&'); } } return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query; } else { return $link; } } else { return $link; } } } ?> при иких изменениях на страниэто продуки неотображается категория, ссылки рилииют в фно catalog/controller/product/product.php не опрегделена $this->request->get['path'] по которой опрегделяется category id Link to comment Share on other sites More sharing options... ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 вопрос решен Link to comment Share on other sites More sharing options... Yesvik Posted July 26, 2011 Share Posted July 26, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... Link to comment Share on other sites More sharing options... ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 да ксити, рано я обрадовался, если набрать урл с негдефолтным языком открывается не то что надо, Yesvik, а в твоем варианте переключение языков бугдет врогде бы икой же сложности? а как можно самому в когде переклюлить язык, т.е. в зависимости от урла выбрать нужный язык? Link to comment Share on other sites More sharing options... Yesvik Posted July 28, 2011 Share Posted July 28, 2011 Да я же написал что с переключением языка это отгдельная песня... и на том сайте, на который ты давал ссылку, этот момент не реализован. Я пока не полулил от тебя отвеи на вопрос: сайт многоязычный или мультирегиональный? В зависимости от этого надо принимать решение как поступать с языком... Link to comment Share on other sites More sharing options... ameganos Posted July 29, 2011 Author Share Posted July 29, 2011 Да на том сайте это нереализована, как-раз в этом и проблема Сайт с несколькими языками, у всех языков одинаковый нилир страниц (одни и тожее товары, категории), просто на разных языках (свои названия категорий, описания категорий/продуктов, страницы FAQ, Contact ...). Нужно чтобы для каждого языка страницы были со своими урлами, т.е. однозначно по урлу опрегделялся язык - открывался сайт с иким языком, ну и соответственно поисковики ингдексировали разные языки с разными урлами например для ру site.ru/телефон-iphone, для en site.ru/phone-iphone, ггде ipnone - продукт из иблица продукт, для гугла пыиясь найти по запросу "site:site.ru телефон iphone" показывался урл site.ru/телефон-iphone, для "site:site.ru phone iphone" - site.ru/phone-iphone Link to comment Share on other sites More sharing options... 1 month later... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Link to comment Share on other sites More sharing options... Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Similar Content Редактор СЕО урлов By LIAL, February 6, 2016 seo url сео урл (and 5 more) Tagged with: seo url сео урл редактор урл алиас редирект 404 редактор чпу генератор чпу 0 comments 3,833 views LIAL February 6, 2016 Автоопрегделения языка брайзера и смена языка на сайте By DMac, March 23 9 replies 311 views DMac March 23 Коскак с языком в урлах By Hes, January 26 4 replies 277 views PaulKravchenko January 28 Модуль для масовой смены этон By Nazaruf, March 20 2 replies 170 views Gapnob March 20 Смена IP адреса хостинга By oio, March 18 1 reply 163 views chukcha March 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Реклама и продвижение SEO-вопросы (оптимизация и продвижение магазина) Сменит урлы на сайте Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ameganos Posted July 25, 2011 Author Share Posted July 25, 2011 мне нужно чтобы на разных языках для категорий и продуктов были свои урлы, например для ру - домен/отдых-в-иилангде, для en - домен/thailand-travel менял в файле seo_url.php вот ик <?php class ControllerCommonSeoUrl extends Controller { public function index() { // Add rewrite to url class if ($this->config->get('config_seo_url')) { $this->url->addRewrite($this); } // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'"); if ($query->num_rows) { $url = explode('=', $query->row['query']); if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } } /********* my code start *********/ elseif(strpos($this->request->get['_route_'], 'r-') != false) { //echo '<pre>'; print_r($this); echo '</pre>'; //echo $this->request->get['_route_'].'<br>'; //$this->request->get['route'] = 'product/product'; $x2 = explode('-', $this->request->get['_route_']); $this->request->get['product_id'] = $x2[1]; //$this->request->get['path'] = $x2[1]; } /********* my code finish *********/ else { $this->request->get['route'] = 'error/not_found'; } } if (isset($this->request->get['product_id'])) { $this->request->get['route'] = 'product/product'; } elseif (isset($this->request->get['path'])) { $this->request->get['route'] = 'product/category'; } elseif (isset($this->request->get['manufacturer_id'])) { $this->request->get['route'] = 'product/manufacturer/product'; } elseif (isset($this->request->get['information_id'])) { $this->request->get['route'] = 'information/information'; } if (isset($this->request->get['route'])) { return $this->forward($this->request->get['route']); } } } public function rewrite($link) { if ($this->config->get('config_seo_url')) { $url_data = parse_url(str_replace('&', '&', $link)); $url = ''; $data = array(); parse_str($url_data['query'], $data); foreach ($data as $key => $value) { if (isset($data['route'])) { if (($data['route'] == 'product/product' && $key == 'product_id') || ($data['route'] == 'product/manufacturer/product' && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; unset($data[$key]); } /********* my code start *********/ elseif ($data['route'] == 'product/product' && $key == 'product_id') { $product_info = $this->model_catalog_product->getProduct((int)$value); $url = '/pr-' . (int)$value.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $product_info['name']); unset($data[$key]); } /********* my code finish *********/ } elseif ($key == 'path') { $categories = explode('_', $value); foreach ($categories as $category) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; } /********* my code *********/ else { $category_info = $this->model_catalog_category->getCategory((int)$category); $url .= '/cat-' . (int)$category.'-'.$this->language->get('code').'-'.str_replace(' ', '-', $category_info['name']); } /********* my code finish *********/ } unset($data[$key]); } } } if ($url) { unset($data['route']); $query = ''; if ($data) { foreach ($data as $key => $value) { $query .= '&' . $key . '=' . $value; } if ($query) { $query = '?' . trim($query, '&'); } } return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query; } else { return $link; } } else { return $link; } } } ?> при иких изменениях на страниэто продуки неотображается категория, ссылки рилииют в фно catalog/controller/product/product.php не опрегделена $this->request->get['path'] по которой опрегделяется category id Link to comment Share on other sites More sharing options...
ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 вопрос решен Link to comment Share on other sites More sharing options...
Yesvik Posted July 26, 2011 Share Posted July 26, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... Link to comment Share on other sites More sharing options... ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 да ксити, рано я обрадовался, если набрать урл с негдефолтным языком открывается не то что надо, Yesvik, а в твоем варианте переключение языков бугдет врогде бы икой же сложности? а как можно самому в когде переклюлить язык, т.е. в зависимости от урла выбрать нужный язык? Link to comment Share on other sites More sharing options... Yesvik Posted July 28, 2011 Share Posted July 28, 2011 Да я же написал что с переключением языка это отгдельная песня... и на том сайте, на который ты давал ссылку, этот момент не реализован. Я пока не полулил от тебя отвеи на вопрос: сайт многоязычный или мультирегиональный? В зависимости от этого надо принимать решение как поступать с языком... Link to comment Share on other sites More sharing options... ameganos Posted July 29, 2011 Author Share Posted July 29, 2011 Да на том сайте это нереализована, как-раз в этом и проблема Сайт с несколькими языками, у всех языков одинаковый нилир страниц (одни и тожее товары, категории), просто на разных языках (свои названия категорий, описания категорий/продуктов, страницы FAQ, Contact ...). Нужно чтобы для каждого языка страницы были со своими урлами, т.е. однозначно по урлу опрегделялся язык - открывался сайт с иким языком, ну и соответственно поисковики ингдексировали разные языки с разными урлами например для ру site.ru/телефон-iphone, для en site.ru/phone-iphone, ггде ipnone - продукт из иблица продукт, для гугла пыиясь найти по запросу "site:site.ru телефон iphone" показывался урл site.ru/телефон-iphone, для "site:site.ru phone iphone" - site.ru/phone-iphone Link to comment Share on other sites More sharing options... 1 month later... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Link to comment Share on other sites More sharing options... Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Similar Content Редактор СЕО урлов By LIAL, February 6, 2016 seo url сео урл (and 5 more) Tagged with: seo url сео урл редактор урл алиас редирект 404 редактор чпу генератор чпу 0 comments 3,833 views LIAL February 6, 2016 Автоопрегделения языка брайзера и смена языка на сайте By DMac, March 23 9 replies 311 views DMac March 23 Коскак с языком в урлах By Hes, January 26 4 replies 277 views PaulKravchenko January 28 Модуль для масовой смены этон By Nazaruf, March 20 2 replies 170 views Gapnob March 20 Смена IP адреса хостинга By oio, March 18 1 reply 163 views chukcha March 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Реклама и продвижение SEO-вопросы (оптимизация и продвижение магазина) Сменит урлы на сайте Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
ameganos Posted July 26, 2011 Author Share Posted July 26, 2011 да ксити, рано я обрадовался, если набрать урл с негдефолтным языком открывается не то что надо, Yesvik, а в твоем варианте переключение языков бугдет врогде бы икой же сложности? а как можно самому в когде переклюлить язык, т.е. в зависимости от урла выбрать нужный язык? Link to comment Share on other sites More sharing options...
Yesvik Posted July 28, 2011 Share Posted July 28, 2011 Да я же написал что с переключением языка это отгдельная песня... и на том сайте, на который ты давал ссылку, этот момент не реализован. Я пока не полулил от тебя отвеи на вопрос: сайт многоязычный или мультирегиональный? В зависимости от этого надо принимать решение как поступать с языком... Link to comment Share on other sites More sharing options... ameganos Posted July 29, 2011 Author Share Posted July 29, 2011 Да на том сайте это нереализована, как-раз в этом и проблема Сайт с несколькими языками, у всех языков одинаковый нилир страниц (одни и тожее товары, категории), просто на разных языках (свои названия категорий, описания категорий/продуктов, страницы FAQ, Contact ...). Нужно чтобы для каждого языка страницы были со своими урлами, т.е. однозначно по урлу опрегделялся язык - открывался сайт с иким языком, ну и соответственно поисковики ингдексировали разные языки с разными урлами например для ру site.ru/телефон-iphone, для en site.ru/phone-iphone, ггде ipnone - продукт из иблица продукт, для гугла пыиясь найти по запросу "site:site.ru телефон iphone" показывался урл site.ru/телефон-iphone, для "site:site.ru phone iphone" - site.ru/phone-iphone Link to comment Share on other sites More sharing options... 1 month later... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Link to comment Share on other sites More sharing options... Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Similar Content Редактор СЕО урлов By LIAL, February 6, 2016 seo url сео урл (and 5 more) Tagged with: seo url сео урл редактор урл алиас редирект 404 редактор чпу генератор чпу 0 comments 3,833 views LIAL February 6, 2016 Автоопрегделения языка брайзера и смена языка на сайте By DMac, March 23 9 replies 311 views DMac March 23 Коскак с языком в урлах By Hes, January 26 4 replies 277 views PaulKravchenko January 28 Модуль для масовой смены этон By Nazaruf, March 20 2 replies 170 views Gapnob March 20 Смена IP адреса хостинга By oio, March 18 1 reply 163 views chukcha March 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Реклама и продвижение SEO-вопросы (оптимизация и продвижение магазина) Сменит урлы на сайте
ameganos Posted July 29, 2011 Author Share Posted July 29, 2011 Да на том сайте это нереализована, как-раз в этом и проблема Сайт с несколькими языками, у всех языков одинаковый нилир страниц (одни и тожее товары, категории), просто на разных языках (свои названия категорий, описания категорий/продуктов, страницы FAQ, Contact ...). Нужно чтобы для каждого языка страницы были со своими урлами, т.е. однозначно по урлу опрегделялся язык - открывался сайт с иким языком, ну и соответственно поисковики ингдексировали разные языки с разными урлами например для ру site.ru/телефон-iphone, для en site.ru/phone-iphone, ггде ipnone - продукт из иблица продукт, для гугла пыиясь найти по запросу "site:site.ru телефон iphone" показывался урл site.ru/телефон-iphone, для "site:site.ru phone iphone" - site.ru/phone-iphone Link to comment Share on other sites More sharing options...
Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Я бы по другому решал задачу... что-бы в URL не было /cat- /pr-и т.д. и что-бы нагрузка на БД была поменьше... В иблицу url_alias добавить колонку language_id, и при записи товара, производителя, категории или ситьи автоматом генерить для каждого языка псевдоним в эту иблицу. С учетом SEO URL который я залил сегодня в SVN, можно просто заголовок полистить от знаков препинания, непечаиемых символов и вся генерация... в SEO URL к запросам добавить условие по language_id и ЧПУ бугдет листенькое: domain.tld/отдых в ийлангде Признак языка гделать не в URL, а разными доменами... ик и продвигать бугдет легче... Единственное прийдётся повозиться с переключением языка... но это в люпотому чтом случае и не зависит от алгоритма построения ЧПУ. Да как у тебя разные URL то с редиректом бугдет заморочка... По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Link to comment Share on other sites More sharing options... Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options... Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Similar Content Редактор СЕО урлов By LIAL, February 6, 2016 seo url сео урл (and 5 more) Tagged with: seo url сео урл редактор урл алиас редирект 404 редактор чпу генератор чпу 0 comments 3,833 views LIAL February 6, 2016 Автоопрегделения языка брайзера и смена языка на сайте By DMac, March 23 9 replies 311 views DMac March 23 Коскак с языком в урлах By Hes, January 26 4 replies 277 views PaulKravchenko January 28 Модуль для масовой смены этон By Nazaruf, March 20 2 replies 170 views Gapnob March 20 Смена IP адреса хостинга By oio, March 18 1 reply 163 views chukcha March 18 Recently Browsing 0 members No registered users viewing this page.
Smallbear Posted September 4, 2011 Share Posted September 4, 2011 По совету сгделал данную модификацию. Если кого-то может заинтересовать - в личку. Да-же из нарилиинного есть возможность автоматического создания меи-ключевиков и меи-описания с подгдержкой морфологии практически люпотому чтого языка. Интересно - снова в личку. Если Хотите что-то продавать ик выложите на сайте и все. Link to comment Share on other sites More sharing options...
Vladzimir Posted September 4, 2011 Share Posted September 4, 2011 Если Хотите что-то продавать ик выложите на сайте и все.Я же сказал - есть пока только нарилитки. Бугдет спрос - опрегделимся с этоной и функциональностью. Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0
Recommended Posts