OC v2.х Проблема с добавлением языка

shtt

Разрушитель (V)
Сообщения
282
Симпатии
130
Баллы
589
Нужна ваша помощь

Есть сайт на ос 2.1 на русском. Шаблон дефолт. Добавил украинский. Установил "OCDEV.pro - SEO мультиязык для сайта". Перевел "Массовый автоматический перевод текстов, товаров, категорий, статей с Google translate API" .

Сейчас две проблемы:
1. Открываю товар site/nasadka-dlja-chistki-jazyka-dlja-irrigatora-b-well-wi-911-v-komplekte-2-nasadki. Переключаю язык ссылка становится /index.php?route=product/product&product_id=3065&path=0. Возвращаю назад на первый язык урл остается /index.php?route=product/product&product_id=3065&path=0

2. На главной часть контента выводится сразу на двух языках.
Пробовал разные варианты, не уходит задвоенный контент

Код в home.tpl:
<?php echo $header; ?>
<div class="container">
<div class="row"><?php echo $column_left; ?>
<?php if ($column_left && $column_right) { ?>
<?php $class = 'col-sm-6'; ?>
<?php } elseif ($column_left || $column_right) { ?>
<?php $class = 'col-sm-9'; ?>
<?php } else { ?>
<?php $class = 'col-sm-12'; ?>
<?php } ?>
<div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
<div class="container cat-prev">
<div class="row">
<!-- even article -->
<div class="col-md-10 col-md-push-1 col-sm-12 col-xs-12 cat-prev-block cat-prev-1">
<div class="col-md-4 col-sm-4 col-xs-6 pic-cat-prev text-center">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=1 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>"/>
</div>
<div class="col-md-8 col-sm-8 col-xs-12 desc-cat-prev text-left">
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-left inner-img"/>
<p><?php $string = html_entity_decode(mb_substr($row['description'], 0, 200)); echo $string."..."; ?></p>
<?php } ?>
<a href="/tovaryi-dlya-diabetikov">Смотреть все</a>
</div>
</div>
<!-- =========== -->
<!-- odd article -->
<div class="col-md-10 col-md-push-1 col-sm-12 cat-prev-block cat-prev-2">
<div class="col-md-8 col-sm-8 col-xs-12 desc-cat-prev text-left">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=15 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-right inner-img"/>
<p><?php $string = html_entity_decode(mb_substr($row['description'], 0, 200)); echo $string."..."; ?></p>
<a href="/nebulayzeryi-ingalyatoryi">Смотреть все</a>
</div>
<div class="col-md-4 col-sm-4 col-xs-6 pic-cat-prev text-center">
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>"/>
<?php } ?>
</div>
</div>
<!-- =========== -->
<!-- even article -->
<div class="col-md-10 col-md-push-1 col-sm-12 cat-prev-block cat-prev-3">
<div class="col-md-4 col-sm-4 col-xs-6 pic-cat-prev text-center">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=22 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>"/>
</div>
<div class="col-md-8 col-sm-8 col-xs-12 desc-cat-prev text-left">
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-left inner-img"/>
<p><?php $string = html_entity_decode(mb_substr($row['description'], 0, 200)); echo $string."..."; ?></p>
<?php } ?>
<a href="/tonometryi">Смотреть все</a>
</div>
</div>
<!-- =========== -->
<!-- odd article -->
<div class="col-md-10 col-md-push-1 col-sm-12 cat-prev-block cat-prev-2">
<div class="col-md-8 col-sm-8 col-xs-12 desc-cat-prev text-left">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=29 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-right inner-img"/>
<?php $string = html_entity_decode(mb_substr($row['description'], 0, 200)); echo $string."..."; ?>
<a href="/bandaji">Смотреть все</a>
</div>
<div class="col-md-4 col-sm-4 col-xs-6 pic-cat-prev text-center">
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>"/>
<?php } ?>
</div>
</div>
<!-- =========== -->
<!-- even article -->
<div class="col-md-10 col-md-push-1 col-sm-12 cat-prev-block cat-prev-3">
<div class="col-md-4 col-sm-4 col-xs-6 pic-cat-prev text-center">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=49 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>"/>
</div>
<div class="col-md-8 col-sm-8 col-xs-12 desc-cat-prev text-left">
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-left inner-img"/>
<p><?php $string = html_entity_decode(mb_substr($row['description'], 0, 200)); echo $string."..."; ?></p>
<?php } ?>
<a href="/tovaryi-dlya-reabilitatsii" class="pull-right">Смотреть все</a>
</div>
</div>
<!-- =========== -->
<!-- Last two articles -->
<div class="col-md-5 col-md-push-1 col-sm-12 cat-prev-block cat-prev-3">
<div class="col-md-12 col-sm-12 col-xs-12 desc-cat-prev text-left">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=132 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-right inner-img" style="display: block; height=200px; padding-left: 10px;"/>
<p><?php $string = html_entity_decode(mb_substr($row['description'], 0, 250)); echo $string."..."; ?></p>
<?php } ?>
<a href="/meditsinskaya-odejda">Смотреть все</a>
</div>
</div>
<div class="col-md-5 col-md-push-1 col-sm-12 cat-prev-block cat-prev-3">
<div class="col-md-12 col-sm-12 col-xs-12 desc-cat-prev text-right">
<?php
$db2 = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysqli_select_db($db2,DB_DATABASE);
mysqli_query($db2,"SET NAMES utf8");;

$sql_select = "SELECT a.name, a.description, b.image FROM `" . DB_PREFIX . "category_description` as a, `" . DB_PREFIX . "category` as b WHERE a.category_id=113 and a.category_id = b.category_id";
$result = mysqli_query($db2, $sql_select);
while ($row = mysqli_fetch_array($result)){ ?>
<h3><?php echo ($row['name']); ?></h3>
<img src="/image/<?php echo $row['image']; ?>" title="<?php echo $row['name']; ?>" alt="<?php echo $row['name']; ?>" class="pull-left inner-img" style="display: block" width="200"/>
<p class="text-right"><?php $string = html_entity_decode(mb_substr($row['description'], 0, 250)); echo $string."..."; ?></p>
<?php } ?>
<a href="/meditsinskoe-oborudovanie" class="pull-right">Смотреть все</a>
</div>
</div>
<!-- =============== -->
</div>
</div>
<?php echo str_replace("Отзывы наших клинтов","Отзывы наших клиентов",$content_bottom); ?></div>
<?php echo $column_right; ?></div>
</div>
<!-- custom articles-->
<!-- -->
<?php echo $footer; ?>
 
Сначала отключи все модификаторы. Потом по очереди включай их.
 
Сначала отключи все модификаторы. Потом по очереди включай их.
А разве на 2 ос нет вечной проблемы что ЧПУ ломается при нескольких языках? По-моему где-то фиксы модули были
 
с главной помогли разобраться. Было сделано через одно место.
Не досмотрел, что на данном сайте опенкарт, а не ocstore. А в архиве OCDEV.pro - SEO мультиязык для сайта" только ocstore и opencart pro и соответственно в нем нет seo pro. Переключение языков работает, но без изменения урлов и не добавляется /яз/
 
Еще может быть проблема (не в том что выше а вообще с языками) из за сортировки
Главный язык всегда должен быть 0
Остальные по очереди
Например главный (по умолчанию) а стоит сортировка 1-2-3
И работать не будет тогда
 
чЕще может быть проблема (не в том что выше а вообще с языками) из за сортировки
Главный язык всегда должен быть 0
Остальные по очереди
Например главный (по умолчанию) а стоит сортировка 1-2-3
И работать не будет тогда
Сделано. Нужно, чтобы в урле появился /яз/ для второго языка
 
Последнее редактирование:
У меня с этим модулем проблем не было. Префикс поставил в настройках и все работает
 
Поставил
SEO мультиязык .
Теперь есть глюк. Урл примером. https://site/test-poloski-newmed-neo-50-shtuk-avstrijskoe-kachestvo-po-dostupnoj-tsene. Переключаю на русский, он становится https://site/ru/index.php?route=product/product&product_id=2583&path=0, переключаю назад на украинский, он становится таким https://site/index.php?route=product/product&product_id=2583&path=0. Где смотреть?
 
цикла избавился, но с урлами та же беда. Заметил такую ошибку. При сохранении любого товара выдает ошибку
Notice: Error: Duplicate entry '2357-3' for key 'PRIMARY'
Error No: 1062
INSERT INTO oc_product_description SET product_id = '2357', language_id = '3', name = 'Килимок масажний з ефектом морської гальки "Пазли" 6 елементів', description = '<p>Килимок складається з шести модулів, які з\'єднуються між собою за принципом пазлів.</p><p> Зроблений з екологічно чистого, гіпоалергенного матеріалу, що ефективно амортизує ударне навантаження.</p><p> Масажні елементи різної форми оптимальні для тренування м\'язів стопи.</p><p> Розмір модуля: 25,8x25,8 см</p><h2> Забезпечує:</h2><ul><li> правильне формування фізіологічних склепінь стоп у дітей</li><li> нормалізацію м\'язового тонусу стоп</li><li> активний вплив на рефлексогенні зони стоп</li><li> поліпшення еластичності стопи та зміцнення м\'язів стопи</li><li> стимуляцію кровообігу та покращення обмінних процесів у нижніх кінцівках.</li><li> покращення функціонального стану опорно-рухового апарату</li></ul><h2> Показання до застосування:</h2><ul><li> профілактика та лікування поздовжнього, поперечного та комбінованого плоскостопості</li><li> набряки, тяжкість у ногах, хронічна венозна недостатність нижніх кінцівок</li><li> у комплексному лікуванні наслідків травм та захворювань суглобів нижніх кінцівок</li><li> профілактика захворювань нижніх кінцівок при тривалих статичних навантаженнях</li></ul><h2> Догляд за килимком масажним "Пазли"</h2><p> Санітарна обробка виробу проводиться рідкими миючими засобами. Після обробки виріб протирається, сушиться далеко від нагрівальних приладів та сонячних променів. Забороняється використання абразивних засобів для чищення</p><h2> Протипоказання:</h2><ul><li> пошкодження шкірних покривів на поверхні стопи</li><li> синдром діабетичної стопи</li><li> трофічні зміни стопи, у тому числі трофічні виразки</li><li> нестабільність гомілковостопного суглоба, гнійні та запальні захворювання шкіри</li></ul><p> Масажний килимок виготовляється з гігієнічного, гіпоалергенного матеріалу на основі ПВХ.</p><p> Комплекс вправ:</p><ol><li> Ходьба по килимку вперед-назад (7-9 повторень).</li><li> Початкове положення - стоячи, розумітися на шкарпетки (7-9 повторень).</li><li> Початкове положення - стоячи, перекочування з п\'яти на носок (7-9 повторень).</li><li> Ходьба по килимку перехресним кроком (7-9 повторень).</li><li> Ходьба на внутрішній стороні стопи (7-9 повторень).</li><li> Ходьба на зовнішній стороні стопи (7-9 повторень).</li><li> Ходьба на шкарпетках (30-60 секунд).</li><li> Початкове положення - стоячи, присідання з упором на всю стопу, не відриваючи п\'яти від килимка (7-9 повторень).</li><li> Початкове положення - стоячи, утримуючи рівновагу на одній нозі (7-9 повторень).</li><li> Стрибки із пластини на пластину (7-9 повторень).</li><li> Початкове положення - стоячи на одній нозі стрибки на іншій нозі, чергуючи ногу (6-8 повторень).</li><li> Вихідне положення - напівсидячи, ходьба по килимку (6-8 повторень).</li></ol>', tag = '', meta_title = 'Килимок масажний з ефектом морської гальки "Пазли" 6 елементів купить: цена, фото, отзывы - интернет магазин МедИмпульс', meta_description = 'Купить Килимок масажний з ефектом морської гальки "Пазли" 6 елементів по низкой цене в Украине с доставкой в Днепропетровск (Днепр), Киев, Запорожье, Кривой Рог, Харьков, Днепродзержинск, Кременчуг. Гарантия качества. Отправка в день заказа!', meta_keyword = '' in /var/www/medimpulse/medimpulse.com.ua/system/library/db/mysqli.php on line 41Notice: Error: Duplicate entry '2357-2' for key 'PRIMARY'
Error No: 1062
INSERT INTO oc_product_description SET product_id = '2357', language_id = '2', name = ' Коврик массажный с эффектом морской гальки "Пазлы" 6 элементов', description = '<p>Коврик состоит из 6 модулей, которые соединяются между собой по принципу пазлов.</p><p>Сделан из экологически чистого, гипоаллергенного материала, эфективно амортизирующего ударную нагрузку.</p><p>Массажные элементы разной формы оптимальны для тренировки мышц стопы.</p><p>Размер модуля: 25,8x25,8 см</p><h2>Обеспечивает:</h2><ul><li>правильное формирование физиологических сводов стоп у детей</li><li>нормализацию мышечного тонуса стоп</li><li>активное влияние на рефлексогенные зоны стоп</li><li>улучшение эластичности стопы и укрепление мышц стопы</li><li>стимуляцию кровообращения и улучшения обменных процесов в нижних конечностях</li><li>улучшение функционального состояния опорно-двигательного аппарата</li></ul><h2>Показания к применению:</h2><ul><li>профилактика и лечение продольного, поперечного и комбинированного плоскостопия</li><li>отеки, тяжесть в ногах, хроническая венозная недостаточность нижних конечностей</li><li>в комплексном лечении последствий травм и заболеваний суставов нижних конечностей</li><li>профилактика заболеваний нижних конечностей при длительных статических нагрузках</li></ul><h2>Уход за ковриком массажным "Пазлы"</h2><p>Санитарная\r\n обработка изделия проводится жидкими моющими средствами. После \r\nобработки изделие протирается, сушится вдали от нагревательных приборов\r\n и солнечных лучей. Запрещается использование абразивных чистящих \r\nсредств</p><h2>Противопоказания:</h2><ul><li>повреждение кожных покровов на поверхности стопы</li><li>синдром диабетической стопы</li><li>трофические изменения стопы, в том числе трофические язвы</li><li>нестабильность голеностопного сустава, гнойные и воспалительные заболевания кожи</li></ul><p>Массажный коврик производится из гигиенического, гипоаллергенного материала на основе ПВХ.</p><p>Комплекс упражнений:</p><ol><li>Ходьба по коврику вперед-назад (7-9 повторений).</li><li>Исходное положение - стоя, пониматься на носочки (7-9 повторений).</li><li>Исходное положение – стоя, перекатывание с пятки на носок (7-9 повторений).</li><li>Ходьба по коврику перекрестным шагом (7-9 повторений).</li><li>Ходьба на внутренней стороне стопы (7-9 повторений).</li><li>Ходьба на внешней стороне стопы (7-9 повторений).</li><li>Ходьба на носочках (30-60 секунд).</li><li>Исходное положение – стоя, приседание с упором на всю стопу, не отрывая пятки от коврика (7-9 повторений).</li><li>Исходное положение – стоя, удерживая равновесие на одной ноге (7-9 повторений).</li><li>Прыжки с пластины на пластину (7-9 повторений).</li><li>Исходное положение – стоя на одной ноге прыжки на другой ноге, чередуя ногу (6-8 повторений).</li><li>Исходное положение - полусидя , ходьба по коврику (6-8 повторений).</li></ol>', tag = '', meta_title = ' Коврик массажный с эффектом морской гальки "Пазлы" 6 элементов купить: цена, фото, отзывы - интернет магазин МедИмпульс', meta_description = 'Купить Коврик массажный с эффектом морской гальки "Пазлы" 6 элементов по низкой цене в Украине с доставкой в Днепропетровск (Днепр), Киев, Запорожье, Кривой Рог, Харьков, Днепродзержинск, Кременчуг. Гарантия качества. Отправка в день заказа!', meta_keyword = '' in /var/www/st/site/system/library/db/mysqli.php on line 41Warning: Cannot modify header information - headers already sent by (output started at /var/www/medimpulse/medimpulse.com.ua/admin/index.php:84) in /var/www/st/site/system/library/response.php on line 12
 
Включи СЕО про. Временно поставь стоковый HT access, если Апач конечно. Если nginx сложнее
Убери дубли в базе, а если описание можно подгрузить или сгенерирована, то очисть дескрипшн полностью и залейте заново.
Keyword очисть. Он не нужен
 
Включи СЕО про. Временно поставь стоковый HT access, если Апач конечно. Если nginx сложнее
Убери дубли в базе, а если описание можно подгрузить или сгенерирована, то очисть дескрипшн полностью и залейте заново.
Keyword очисть. Он не нужен
Удалял дубли в БД. Захожу в админку, прописываю новый перевод и аналогичная ошибка. Захожу в БД, там снова дубль появился
 
Назад
Верх