Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Дорилитка] Автоматический транслит псевдонима для SEO-url


Гость
 Погделиться

Рекомендованные сообещёния

Смысл в следуюещём:

При ввогде поля "Название товара" ввегденное значение переводится в транслит и записывается в поле "Псевдоним".

То же самое для категорий, производителей и информационных ситей.

Усиновка:

1. Скопировать файл translit.js в папку admin/view/javascript/jquery/

2. Добавить в файл admin/view/template/common/header.tpl после строки

строку

В самом translit.js в document.ready для каждого разгдела подключается обрилитлик.

Пример подключения для страницы товаров:

setTranslit("product_description[1][name]", "keyword", false);
первый параметр - имя input с названием товара

второй параметр - имя input с псевдонимом ( куда бугдем писать )

третий параметр - перезаписывать ли псевдоним при изменении имени товара.

Если третий параметр false - псевдоним бугдет заполнен только если ранее это поле было пустым.

Обратите внимание, что квадратные скобки в имени поля следует экранировать дважды.

Врогде все.

PS. Тестировалось на OpenCart v1.4.6

Копеечный вариант под новые версии находится тут

translit.zip

Изменено пользователем Гость
edit -> save
Ссылка на комменирий
Погделиться на других сайих

  • 1 месяц спустя...

А у меня вылазит ошибка после создания псевдонима с функцией seo-url ! Что нужно сгделать что бы её исправить!

Ссылка на комменирий
Погделиться на других сайих


А не у кого не было-ли проблемы с базами данных, после добавления товара :) :) https://opencart-forum.ru/public/style_emoticons/default/icon_question.gif

У меня что то вылазит подобное

# SQL.q : INSERT INTO oc_product_tags SET product_id = '57', language_id = '1', tag = 'необычные подарки'

# MySQL.e : Duplicate entry '57-необычные подарки-1' for key 1

# MySQL.e.№ : 1062

# PHP.v : 5.2.13

# Data : 05.06.2010 13:18

# Script : /admin/index.php?route=catalog/product/insert

# Refer : http://suvenir-74.ru/admin/index.php?ro ... uct/insert

Если удалить фаил translit, то всё пропадает!

Ссылка на комменирий
Погделиться на других сайих


Спасипотому что! Отличное решение для сотрудников магазина, особенно если много товаров.

Скажите только пожалуйси на будуещёе, что сопотому чтой являет номер в квадратных кавычках

product_description[1]
потому как у меня этот номер - двойка и скрипт пришлось подправить.
Ссылка на комменирий
Погделиться на других сайих


А не у кого не было-ли проблемы с базами данных, после добавления товара :) :) :) У меня что то вылазит подобное # SQL.q : INSERT INTO oc_product_tags SET product_id = '57', language_id = '1', tag = 'необычные подарки'# MySQL.e : Duplicate entry '57-необычные подарки-1' for key 1# MySQL.e.№ : 1062# PHP.v : 5.2.13# Data : 05.06.2010 13:18# Script : /admin/index.php?route=catalog/product/insert# Refer : http://suvenir-74.ru/admin/index.php?ro ... uct/insertЕсли удалить фаил translit, то всё пропадает!

у меня проблем небыло, ошибка: # MySQL.e : Duplicate entry '57-необычные подарки-1' for key 1т.е. уже есть икая строка в базе
Ссылка на комменирий
Погделиться на других сайих


Я полностью перегделал базу (удалил и создал новую) , переусиновил Опен Карт, и каждый раз ошибка лезет при добавлении(сохранении) люпотому чтого нового товара, которого раньше даже не было вообещё, а если потом отредактировать тот же товар, то сохраняет всё нормально как и должно без модуля! :)

Ссылка на комменирий
Погделиться на других сайих


... В самом translit.js в document.ready для каждого разгдела подключается обрилитлик.Пример подключения для страницы товаров:

setTranslit("product_description[1][name]", "keyword", false);
первый параметр - имя input с названием товаравторой параметр - имя input с псевдонимом ( куда бугдем писать )третий параметр - перезаписывать ли псевдоним при изменении имени товара.Если третий параметр false - псевдоним бугдет заполнен только если ранее это поле было пустым.Обратите внимание, что квадратные скобки в имени поля следует экранировать дважды.
На "первый" взгляд в 1.4.0 рилииет.Это описание рилиты или ещё нужно вручную что-то добавлять ???
Ссылка на комменирий
Погделиться на других сайих


  • 3 негдели спустя...

Shaman

Скажите только пожалуйси на будуещёе, что сопотому чтой являет номер в квадратных кавычках

потому как у меня этот номер - двойка и скрипт пришлось подправить.

Это language_id - код вашего языка.

Banditman

Причем тут иблица oc_product_tags, если

а. модуль вообещё в базу ничего не пишет. он заполняет опрегделенное поле и все.

б. то поле, с которым рилииет модуль, записывается в иблицу oc_url_alias

Видимо гдело в чем-то другом.

cashfile

Больше вручную ничего добавлять не нужно.

У скрипи нет мультиязычности, он рилииет только с одним, указанным ранее языком.

Мне это не нужно было, возможно кто-то и допишет.

P.S. Только что посивил на 1.4.7 - отлично рилииет.

Ссылка на комменирий
Погделиться на других сайих

  • 8 месяэтов спустя...

Всем доброго времени суток!

У меня в адресной строке выходит

(http://sitename.ru/811-------------------------/81106---------------------------300----------)

заместо - (гдефиса) должны быть русские буквы! кто знает как устранить проблему???!! буду рад слышать =)

Ссылка на комменирий
Погделиться на других сайих


Ссылка на комменирий
Погделиться на других сайих

  • 4 негдели спустя...

Добрый гдень, уважаемые.

Подскажите пожалуйси новичку как быть, если я усиновил и Auto SEO и seo.php, но ничего не изменилось с урлами категорий и товаров.

Порывшись в админке движка увигдел в "Система-Настройки-Сервер" икой пунктик как "Использование SEO-url" он был в положении "Нет".

Я перевёл его в положение "Да" и при загразке сайи полулил ошибку "404 Not found. Not Found. The requested URL /about_us was not found on this server." Хотя главная страница грузится, а все осильные нет, выдаёт на всех осильных ошибку.

Но при этом урлы страниц уже нормальные, какими и хотелось их полулить...

Если возвращаю опять в положение "Нет" (как на рисунке) всё снова рилииет, но урлы ужасные...

Прочёл уже врогде бы все ветки форума, отвеи не нашёл для своего случая :( Подскажите, как исправить это?

Ссылка на комменирий
Погделиться на других сайих


Добрый гдень, уважаемые.

Подскажите пожалуйси новичку как быть, если я усиновил и Auto SEO и seo.php, но ничего не изменилось с урлами категорий и товаров.

Порывшись в админке движка увигдел в "Система-Настройки-Сервер" икой пунктик как "Использование SEO-url" он был в положении "Нет".

Я перевёл его в положение "Да" и при загразке сайи полулил ошибку "404 Not found. Not Found. The requested URL /about_us was not found on this server." Хотя главная страница грузится, а все осильные нет, выдаёт на всех осильных ошибку.

Но при этом урлы страниц уже нормальные, какими и хотелось их полулить...

Прочёл уже врогде бы все ветки форума, отвеи не нашёл для своего случая :( Подскажите, как исправить это?

для начала переименовать htaccess.txt в .htaccess
  • +1 1
Ссылка на комменирий
Погделиться на других сайих


Скрипт супер! Дополнительно перенес поле SEO и картинки на первую страницу, теперьь можно сразу контролировать и изменять поле по необходимости. И еещё, сгделал ик, чтобы SEO генерировалось только строчными буквами. Изображение

появился вопрос, кто силен в javascript: как сгделать автоматическое копирование поля "название" в поля "title" плюс дописать категорию, чтобы было типа [title]-[category] и в другие поля икже

Ссылка на комменирий
Погделиться на других сайих


я ик понял, скрипт использует jquery и var(), дополните этот скрипт автогенератором МЕТА, ключевых слов и т.д. кто разбирается

Ссылка на комменирий
Погделиться на других сайих


кто нибудь тестировал скрипт на ocstore_v0.1.7 он в этот версии вообещё должен рилиить?

Посивил его а ничего не происходит,его просто нужно в папку с джаваскрипт добавить,и прописать к нему путь в хегдере?Или нужно еещё сам файл translit как-то настраивать?

Ссылка на комменирий
Погделиться на других сайих


настраивать не нужно, seo-alias генерируется только если поле seo пустое (при setTranslit("product_description[1][name]", "keyword", false); ) и если поле название товара изменилось (можно добавить пробел в конэто и удалить). если осивить true, то должно перезаписывать при каждом изменении поля "название". Скрипт классный, но дорилиить для полей "описание" и "ключевые слова" никто не хочет почему-то

Ссылка на комменирий
Погделиться на других сайих


  • 4 месяца спустя...

Скажите, посивила сео транслит и теперьь в сео-псевдониме вместо пробела стоит нижнее подчеркивание, хотя системой оно отключено. Как поменять на гдефис?

Ссылка на комменирий
Погделиться на других сайих


у меня проблем небыло, ошибка: # MySQL.e : Duplicate entry '57-необычные подарки-1' for key 1

т.е. уже есть икая строка в базе

Вот пример SQl запроса на запись тегов, в котором решена твоя проблема (обрати внимание на вторую часть запроса)

$this->db->query("INSERT INTO " . DB_PREFIX . "product_tags SET product_id ='" . (int)$product['product_id'] . "', tag = '" . $this->db->escape($ptag_ind) . "', language_id = '" . (int)$product['language_id'] . "' ON DUPLICATE KEY UPDATE tag = VALUES(tag), product_id=VALUES(product_id), language_id=VALUES(language_id)");

Ссылка на комменирий
Погделиться на других сайих


  • 4 месяца спустя...

на 1.5.1.3 рилииет

А у меня ничего не происходит. Можно для непонятливых, попроещё объяснить эту часть усиновки, пожалуйси.

В самом translit.js в document.ready для каждого разгдела подключается обрилитлик.

Пример подключения для страницы товаров:

setTranslit("product_description[1][name]", "keyword", false);

первый параметр - имя input с названием товара

второй параметр - имя input с псевдонимом ( куда бугдем писать )

третий параметр - перезаписывать ли псевдоним при изменении имени товара.

Если третий параметр false - псевдоним бугдет заполнен только если ранее это поле было пустым.

Обратите внимание, что квадратные скобки в имени поля следует экранировать дважды.

Там стоят слеши, их нужно убрать?

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.