Jump to content
Sign in to follow this  
grachew

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

Recommended Posts

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

товар iPhone

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

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

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

результат:

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

Share this post


Link to post
Share on other sites

ТС, вы решили проблему? У меня тоже просто такая беда....

Share this post


Link to post
Share on other sites

Название отзыва должно быть от 3 до 25 символов! МНЕ ТАК ПИШЕТ ?

Где копать ?

Share this post


Link to post
Share on other sites

Такая же проблема решение есть ?

Share this post


Link to post
Share on other sites

смотрите в сторону дополнений с формами связи

Share this post


Link to post
Share on other sites

Проблема может быть в том, что на той же странице есть 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Огромное спасибо за подсказку! Точно там была проблема. Теперь всё работает.

Share this post


Link to post
Share on other sites

 

Проблема может быть в том, что на той же странице есть 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()),

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.