Перейти к содержанию
Otvet

[Поддержка] Автоматическое заполнение ЧПУ [OCMOD]

Рекомендуемые сообщения

Автоматическое заполнение ЧПУ [OCMOD]


Автоматическое заполнение ЧПУ [OCMOD]


Адаптация и небольшая доработка js-скрипта неизвестного автора под Opencart 2.x в виде ocmod

Не включено в состав https://opencartforum.com/files/file/2645-seo-page-улучшенная-индексация-сайта-oc-15-2x/ по причине "не хорошо брать бесплатное и сувать в платное". Тем не менее делалось как дополнение к нему.

Автоматически заполняет поле SEO Keyword / ЧПУ / SEO URL / .... если оно пустое для:

  • товаров
  • категорий
  • производителей
  • информационных страниц
  • новостей

...при

  • открытии для редактирования
  • создании, после заполнении поля название

Установка

  • через стандартный инструмент "Установка Расширений"

 

Как избежать дублирования ЧПУ и ускорить его работу (подробнее в статье)

Выполите запрос к БД

ALTER TABLE `ПРЕФИКС_url_alias` ADD UNIQUE(`keyword`);
 

После этого, при попытке сохранения, если url дублируется, будет выдаваться ошибка "Duplicate бла бла ...". Не обращайте внимание, просто измените url

Но главное обратите внимание на Название, значит уже есть похожая страница, а это дубли и не есть хорошо


  • Добавил
  • Добавлено
    05.12.2015
  • Категория
  • Системные требования
  • Метод активации
  • Ioncube Loader
  • OpenCart
  • ocStore
  • OpenCart.Pro, ocShop

 

  • +1 2

Поделиться сообщением


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

При попытке установить через админку выбивает ошибку.

Модификатору требуется уникальный ID код!

Явно в xml не хватает чего то типа этого

<code>Auto Fill URL</code>
 
<search position="replace">
<add position="replace">

???

Поделиться сообщением


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

Поправил немного файл установки "install.xml", исправил ошибку " Modification requires a unique ID code! " , сейчас устанавливается без проблем но почему то он не заполняет SEO URL ни при добавлении ни при редактировании.

Скачать url_autofill.ocmod.zip

Изменено пользователем ParadoxDK

Поделиться сообщением


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

В этом "исправлении" тоже самое.

<search position="replace">
<add position="replace">

Поделиться сообщением


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

 

В этом "исправлении" тоже самое.

<search position="replace">
<add position="replace">

 

вроде должен работать, но еще не завелся, подскажи TOM пожалуйста в чем проблема ?

или он не должен заменять строку ?

<search><![CDATA[
  <meta name="keywords" content="<?php echo $keywords; ?>" />
]]></search>
<add position="replace"><![CDATA[
  <script type="text/javascript" src="view/javascript/url_autofill.js"></script>
]]></add>
Изменено пользователем ParadoxDK

Поделиться сообщением


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

 

При попытке установить через админку выбивает ошибку.

Модификатору требуется уникальный ID код!

Явно в xml не хватает чего то типа этого

<code>Auto Fill URL</code>
 
<search position="replace">
<add position="replace">

???

 

 

да, забыл строчку, перезалил архив

<search position="replace">
<add position="replace">

эту привычку возымел из-за того что параллельно с ocmod приходилось vqmod для 1.5 делать

на работу не влияет

 

 

 

вроде должен работать, но еще не завелся, подскажи TOM пожалуйста в чем проблема ?

или он не должен заменять строку ?

 

кейвордс вообще не нужен, а уж зачем он в админке для меня загадка

мод применился?

Изменено пользователем Otvet

Поделиться сообщением


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

Понял откуда ноги ростут, случайно взял форму vqmod и там запилил, даже не заметил  :-D  

Теперь и code и name присутствует, на чистом 2.0.3.1 проверил только что - всё работает

Поделиться сообщением


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


<search position="replace">

<add position="replace">

>>>>>>>>>

<search>

<add position="replace">

Поделиться сообщением


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

Установил. Обновил модификаторы.

Зашёл в карточку товара, в поле SEO URL пустота.

Сохранился.

Зашёл в карточку товара снова - там так и осталась пустота.

 

Я что-то не так сделал?

Поделиться сообщением


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

Проверил на Ocstore 2.1.0.1 Ошибок нет,но и речи о какой либо автогенирации тоже.

Поделиться сообщением


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

Проверил на Ocstore 2.1.0.1 Ошибок нет,но и речи о какой либо автогенирации тоже.

Да-да, именно...  :-D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$('input[name="'+src+'"]').change(function(){ 

Скрипт отрабатывается по событию изменения названия. Я его логику не менял, по сути изначально скрипт заполняет url при заполнении названия

 

В ближайшее время покопаюсь и изменю событие

 

 

Установил. Обновил модификаторы.

Зашёл в карточку товара, в поле SEO URL пустота.

Сохранился.

Зашёл в карточку товара снова - там так и осталась пустота.

 

Я что-то не так сделал?

 
добовьте пробел в конце названия и удалите, перейдите во вкладку с url и смотрите
Изменено пользователем Otvet

Поделиться сообщением


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

Поправил скрипт

 

Теперь достаточно просто зайти в товар и само пропишется

  • +1 1

Поделиться сообщением


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

Я, может, чо-нить не так делаю, но у меня всё без изменений.

И название правил, и ничо не правил - поле пустое...

Качал по ссылке, указанной выше, opencart Version 2.0.1.0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
KegP

 

по какой ссылке?

удалите и заново установите отсюда https://opencartforum.com/files/file/2833-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%87%D0%BF%D1%83-ocmod/

 

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

	<script type="text/javascript" src="view/javascript/url_autofill.js"></script>
			
</head>

Поделиться сообщением


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

KegP

 

по какой ссылке?

удалите и заново установите отсюда https://opencartforum.com/files/file/2833-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%87%D0%BF%D1%83-ocmod/

 

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

	<script type="text/javascript" src="view/javascript/url_autofill.js"></script>
			
</head>

 

 

1. Качал именно по этой ссылке.

2. На странице <script type="text/javascript" src="view/javascript/url_autofill.js"></script> есть.

3. Пробовал и с отключённым, ЧПУ и с включённым.

4. Пробовал и название менять, и просто пересохраняться.

 

Без ошибок, но и без автозаполнения.

 

А у кого-то ещё работает?

Изменено пользователем KegP

Поделиться сообщением


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

В консоли браузера ошибки не показывает?

F5 если не нажали скрипт из кеша браузера берется

Поделиться сообщением


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

В консоли браузера ошибки не показывает?

F5 если не нажали скрипт из кеша браузера берется

 

Ошибки есть, но не связанные со скриптом.

F5 жал. И CTRL-F5 тоже...

Поделиться сообщением


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

Выяснил почему не работало у 

KegP

 

Сделаю инструкцию по установке и адаптации

Поделиться сообщением


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

Подтверждаю, заработало.

СПАСИБО!

Поделиться сообщением


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

Выяснил почему не работало у 

KegP

 

Сделаю инструкцию по установке и адаптации

Так что там с инструкцией ?

Поделиться сообщением


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

С ней всё нормально

 

Если у вас не работает:

  • Узнаем ID языка с названия на котором нужно генерировать URL
  • Открываем файл url_autofill.js. Находим в конце участок кода как ниже и меняем цифру 1 на свой ID
      setTranslit('product_description\\[1\\]\\[name\\]', 'keyword', false);
    
      setTranslit('information_description\\[1\\]\\[title\\]', 'keyword', false);
    
      setTranslit('news\\[1\\]\\[title\\]', 'keyword', false);
    
      setTranslit('category_description\\[1\\]\\[name\\]', 'keyword', false);
    
    

 

Поделиться сообщением


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

Спасибо за адаптацию. Если сделать подгрузку скрипта в шапку и id языка автоматически с помощью php выводить? Тогда не нужно править скрипт и загружать его отдельно.
 
Тут к этому скрипту автогенирации Kventin добавил генерацию дополнительного текста по шаблону.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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