Ну у каждого свой взгляд. По мне это не лишнее, а приятность. Ведь те кто устанавливают сеопро то у них одна цель, быстро получить результат. Если результата нет, ошибки итд. Идем в модуль и деактивируем его и усе. Возможно я не прав.. посмотрим за ходом установок..
Я не против, но несогласен.. По крайней мере с рефрешем.. Лично я не люблю, когда такие вещи делаются без меня. Например я очистил кеш модификаторов, а тут бац.. и кто-то их обновил.. ЛАдно, согласен - вскрытие покажет Кстати - в архиве нет config
повоевал я со своим сеопро, давно хотел Сделал языковый префикс, пока тестово типа сайт/test - ру сайт/en/test - en А потом подумал, а зачем? Но здесь Несколько вариантов ответа Если товар имеет разное название на разных языках, то и url будет разным Товар - site/tovar Product - sire/product Уже хорошо Если одинаковые получаются, то нужно добавлять, но нельзя - url по опенкартовской идеологии должен быть уникальным, хотя нигде ограничений не стоит Код: DROP TABLE IF EXISTS `oc_seo_url`; CREATE TABLE `oc_seo_url` ( `seo_url_id` int(11) NOT NULL AUTO_INCREMENT, `store_id` int(11) NOT NULL, `language_id` int(11) NOT NULL, `query` varchar(255) NOT NULL, `keyword` varchar(255) NOT NULL, PRIMARY KEY (`seo_url_id`), KEY `query` (`query`), KEY `keyword` (`keyword`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; тут бы еще один составной индекс добавить или два (keyword+language_id и query+language_id) наверное наоборот (language_id+keyword и language_id+query) Дойдет дело - буду посмотреть, а может еще примещать и store_id можно и уникальный индекс впилять на keyword+store_id Т.е. тут в этой каше полная засада, если мультик, то и у мультика разный url для каждой страницы С такой кашей до 3.1 еще далеко, тут бы увидеть 3.0.3
Я тоже как то делал такое на прошлой версии. По сути, сейчас же добавлено языкозависимые seourl , поэтому в префиксах нет большого смысла. А если есть, то просто делать префикс, но при включенной опции префикса, в качестве основного seourl брать по основному языку. Т.е если язык русский и сеоурль выглядит как kartoshka, то и на английском будет en/kartoshka
та да Есть только одна проблемка.. Это проблема с переключением языка. В принципе я ее решил, но мне кажется, я уверен, что чере через задний проход
Я поясню проблему Код: public function language() { if (isset($this->request->post['code'])) { $this->session->data['language'] = $this->request->post['code']; } if (isset($this->request->post['redirect'])) { $this->response->redirect($this->request->post['redirect']); } else { $this->response->redirect($this->url->link('common/home')); } } Что в redirect положили, то и редиректним Код: <input type="hidden" name="code" value="" /> <input type="hidden" name="redirect" value="{{ redirect }}" /> Код: if (!isset($this->request->get['route'])) { $data['redirect'] = $this->url->link('common/home'); } else { $url_data = $this->request->get; unset($url_data['_route_']); $route = $url_data['route']; unset($url_data['route']); $url = ''; if ($url_data) { $url = '&' . urldecode(http_build_query($url_data, '', '&')); } $data['redirect'] = $this->url->link($route, $url, $this->request->server['HTTPS']); } А положили текущую Я же делаю Код: <input type="hidden" name="code" value="" /> {% for language in languages %} <input type="hidden" name="redirect[{{ language.code }}]" value="{{ redirect[language.code] }}" /> {% endfor %} Т.е. имею массив редиректов. И конечно меняю Код: foreach ($data['languages'] as $language) { $data['redirect'][$language['code']] = $this->url->link($route, $url, $this->request->server['HTTPS'],$language['language_id']); } Опять же link($route, $url, $this->request->server['HTTPS'],$language['language_id']); $language['language_id'] - т.е меняя библитотеку добавляя языковый признак, который в реврайтере будет обработан Ну, не придумал я как єто сделать более оптимально - получить ссылку на другой язык без переключения контента Можно было бы наверное так Код: $old = $this->session->data['language'] for languages { $this->session->data['language'] = language[code] link($route, $url, $this->request->server['HTTPS']) } $this->session->data['language'] = $old
Я вот даже подумал, надо проверить Код: public function language() { if (isset($this->request->post['code'])) { $this->session->data['language'] = $this->request->post['code']; } if (isset($this->request->post['redirect'])) { $this->request->get['_route'] = $this->request->post['redirect']; $this->load->controller(SEO); $url_data = $this->request->get; unset($url_data['_route_']); $route = $url_data['route']; unset($url_data['route']); $url = ''; if ($url_data) { $url = '&' . urldecode(http_build_query($url_data, '', '&')); } $redirect = $this->url->link($route, $url, $this->request->server['HTTPS']); $this->response->redirect($redirect); } else { $this->response->redirect($this->url->link('common/home')); } } И тогда вроде должно получиться, не трогая шаблон language.twig
Для сведения. Лично мне нравится языковая ссылка вида site/кодязыка/ссылка чем навязываемая уникальная Даниелем языковая типа site/кодязыка-ссылка @markimax настаивает, что так правильно и в своем блоге именно так делает. Я не вижу каких либо причин так делать. Но.. Чтобы использовать языковый префикс - нужно отключать валидацию seo_url в validate_form ... Грустно.
Выпущена крайняя версия, которая переходит в разряд условно платных т.е. По запросу. Кардинально отличающаяся от предыдущих.
Чем отличается новая версия? Я попробовал поставить, которая есть в теме - у меня каталог магазина завис - белый лист. При том в админке все работало - урлы на новые товары подставлялись. Пришлось удалить
Привет. Решил присоединится к вашей беседе. Можно получить платную версию ? установлю поюзаю потестирую. По поводу префикса: как по мне самый простой вариант просто использовать его под настройку. Ну например есть ссылка на товар iphon для английского и iphonnnne для русского языка. ТО просто добавить префикс в любом случаи типа en/iphone и ru/iphonnnnne. Плохо от этого никому не будет, за то при смене языка будет префикс на стартовой странице, что очень положительно.