Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Otvet

Recommended Posts

Автоматическое заполнение ЧПУ [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
    Нет
  • ocStore
    2.3
    2.2
    2.1
  • 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">

 

вроде должен работать, но еще не завелся, подскажи 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 проверил только что - всё работает

Надіслати
Поділитися на інших сайтах

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

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

Сохранился.

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

 

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

$('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

 

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

Надіслати
Поділитися на інших сайтах

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

 

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

  • Узнаем 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.