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

[Решено] Отзывы :: Ошибка "Название отзыва должно быть от 3 до 25 символов!"


grachew

Recommended Posts

Приветствую!

Поставлена ocStore v1.5.3.1 + демо материалы.

При добавлении отзыва выдает: "Название отзыва должно быть от 3 до 25 символов!"

В текстовое поле вставлял текст на 1к символов. - результат тот же..

Что посоветуете?

post-23800-0-57172700-1351527798_thumb.jpg

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


  • 1 month later...

ocstore_v1.5.3.1/index.php?route=product/product&product_id=40

товар iPhone

имя - Владимир

отзыв - описание товара с вкладки "описание".

оценка - 1 (плохо)

результат:

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

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

  • 1 month later...
  • 1 month later...
  • 4 months later...
  • 3 months later...
  • 3 weeks later...

Проблема может быть в том, что на той же странице есть HTML-элемент <INPUT> с именем «name». Например, если у вас есть форма связи — вроде заказать обратный звонок и т.д. В той форме может быть такой input-элемент. Так как он на странице находятся раньше input-элемента с отзывом, значение берётся именно оттуда. А так как он пустой, выскакивает ошибка.

 

Как решение, можно модифицировать шаблон продукта:

 

Файл catalog/view/theme/default/template/product/product.tpl

<input type="text" name="review_name" value="" />
data: 'name=' + encodeURIComponent($('input[name=\'review_name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
  • +1 3
Надіслати
Поділитися на інших сайтах


вообще-то это обязанность авторов сторонних дополнений - не использовать зарезервированные opencart name/id для элементов.

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

  • 2 weeks later...

Afwollis, с другой стороны, это архитектурная проблема опенкарта. Я бы вообще обернул эти инпуты в <form> и потом в data подставлял бы не километровую строку с выбором каждого значения, а простое выражение, вроде:

data: $('#review_form').serialize(),

Такой вариант гораздо проще поддерживать, так как в случае изменений в форме отправки отзыва не придётся из километровой строки делать двухкилометровую (да и вообще не нужно будет ничего с этим куском кода делать). К тому же в этом случае вообще будет неважно, какой сторонний модуль какие имена использует, так как сериализуются данные из конкретной формы, а не собираются со всей страницы.

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


  • 2 months later...

да действительно у меня была та же проблема, конфликт переменных name из форму заказа обратного звонка, решается заменой названия переменной в форме обратного звонка к примеру на namecallback

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


  • 6 months later...

Afwollis, с другой стороны, это архитектурная проблема опенкарта. Я бы вообще обернул эти инпуты в <form> и потом в data подставлял бы не километровую строку с выбором каждого значения, а простое выражение, вроде:

data: $('#review_form').serialize(),

Такой вариант гораздо проще поддерживать, так как в случае изменений в форме отправки отзыва не придётся из километровой строки делать двухкилометровую (да и вообще не нужно будет ничего с этим куском кода делать). К тому же в этом случае вообще будет неважно, какой сторонний модуль какие имена использует, так как сериализуются данные из конкретной формы, а не собираются со всей страницы.

 

не понял где найти эту строчку или хотя бы оригинал чтобы модифицировать  

data: $('#review_form').serialize(),
Надіслати
Поділитися на інших сайтах


да действительно у меня была та же проблема, конфликт переменных name из форму заказа обратного звонка, решается заменой названия переменной в форме обратного звонка к примеру на namecallback

спасибо  , помогли очень

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


  • 3 weeks later...
  • 1 month later...

 

Проблема может быть в том, что на той же странице есть HTML-элемент <INPUT> с именем «name». Например, если у вас есть форма связи — вроде заказать обратный звонок и т.д. В той форме может быть такой input-элемент. Так как он на странице находятся раньше input-элемента с отзывом, значение берётся именно оттуда. А так как он пустой, выскакивает ошибка.

 

Как решение, можно модифицировать шаблон продукта:

 

Файл catalog/view/theme/default/template/product/product.tpl

<input type="text" name="review_name" value="" />
data: 'name=' + encodeURIComponent($('input[name=\'review_name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),

 

Спасибо. Сработало.

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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