Автор Тема: Очередная "Поле link_rewrite требуется как минимум в Русский (Russian)"  (Прочитано 2778 раз)

10 Октябрь 2014, 00:39:05
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Перекурил уже всё что было в рунете и буржнете... При создании или редактировании товара, после любого сохранения выпадает 3 пресловутые ошибки:

3 ошибок
Поле link_rewrite требуется как минимум в Русский (Russian)
товар должен быть привязан хотя бы к одной категории
У продукта должна быть категория по умолчанию


Дополнительно к этому, при создании нового или редактировании существующего товара, во вкладке ЦЕНЫ отображается белая пустота.
 
Итак, чтоу меня есть:
изначально установил Prestashop 1.6.0.9 (с оффсайта) на Denwer, и всё прекрасно работало, наполнялось, запуск был не за горизонтом. Однажды вечером я закончил очередное добавление товаров и вырубил бук. На утро пришел на работу (смена IP), и хотел было продолжить наполнение, однако выпали эти ошибки. Попробовал поставить ту же версию Prestashop на хостинг -> ошибка выпала сразу, не удалось заполнить ни одного товара. Попробовал еще раз поставить на денвер -> аналогичная ситуация. Чистка кукисов, кеша и хистори не спасли.

В PHP я совершенно не смыслю, поэтому самому лезть в код бессмысленно, хотя я нашел кусок кода с условиями при которых выпадает ошибка (могу ошибаться). В файле .../controllers/admin/AdminProductsController.php есть следующий кусок:
/ Check multilingual required fields
foreach ($rules['requiredLang'] as $fieldLang)
if ($this->isProductFieldUpdated($fieldLang, $default_language->id) && !Tools::getValue($fieldLang.'_'.$default_language->id))
$this->errors[] = sprintf(
Tools::displayError('[b]This %1$s field is required at least in %2$s[/b]'),
call_user_func(array($className, 'displayFieldName'), $fieldLang, $className),
$default_language->name
);

Так же здесь http://forge.prestashop.com/browse/PSCSX-1257 обсуждалась данная проблема, и она обозначена как решенная, однако, читая тему, видно, что разговор плавно уходит в другое русло, и, в конце, как я понял, предлагаются решения для уже совсем других багов.

Лазил в таблицы базы данных. Во всех таблицах с припиской ..._lang в полях id_lang везде стоят единицы (1), то есть везде назначен один язык, а в настройках Prestashop язsк по умолчанию выставлен Русский. Как я понял, здесь проблемы нет (могу ошибаться).

Еще здесь на форуме нашел интересное сообщение но совершенно не понял куда автор вставлял указанный код: http://prestashop-forum.ru/index.php/topic,3092.msg16694.html#msg16694.

У кого какая информация еще есть?
Предлагаю вместе сформировать яркое понимание причин данной проблемы и наконец разрешить её. Разработчики не телятся, так как упоминания об ошибке я находил в сообщениях от 2010 года.
10 Октябрь 2014, 11:49:20
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Проблему эту не могут решить, так как причина в конфигурации веб.сервера и версий по. В каждом случае решение только под определенный сервер.
Ошибка возникает при несоотвествии ид языка данных, которые пытаются сохранить, с ид языком магазина.
Так бывает когда есть ошибки в базе данных, ид в куках не совпадает с ид языка, нет доступа к кукам и т.д. Т.е. возникает исключение, скрипт прерывается, возвращает ошибку.
Определить причину и исправть можно только анализирую логи и проверяя бд.

Цитировать
Еще здесь на форуме нашел интересное сообщение но совершенно не понял куда автор вставлял указанный код: http://prestashop-forum.ru/index.php/topic,3092.msg16694.html#msg16694.
Автор пишет встроенных директивах в php.ini
Так он сконфигурировал веб.сервер и ошибка исчезла.
Никаких изменений в prestashop делать не нужно.
10 Октябрь 2014, 13:46:51
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Обсуждали милион раз. Уже есть отработанные методы борьбы с этой ошибкой. Проверка идет с использованием JavaScript для управления объектами HTML DOM. Если не завершена загрузка JS функций, то при попытки провести проверку будет выдано исключение.
Почему это происходит, вот тут причины разные. Ошибки в коде, нет возможности передать значения в сессиях, проблемы с браузером....
Все что нужно сделать, это включить отладчик, можно firebug, и протестировать процесс проверки передаваемых данных. Включить режим отладки в prestashop, включить логирование. 100%, что это поможет определить причину.
10 Октябрь 2014, 14:01:47
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Вот и у меня такое появилось. Все работало, хостинг не менял, а не могу сохранить. После чего появилась эта ошибка не могу сказать. Товар меняю не часто. Но пару недель назад все работало. Теперь не сохраняет. Кстате, так происходит не только с русским. Я пробывал и с английским, тоже самое.
Можно как-то без проверки исправить, я не разбираюсь в javascrit? Может удалить показ ошибок и тогда заработает?
10 Октябрь 2014, 14:06:03
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Функции проверки нельзя удалять, бесполезно. Все равно в бд при сохранении будет ошибка, а это еще хуже.
Nikola скиньте ссылку на сайт, посмотрю.
10 Октябрь 2014, 14:09:01
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
coder спасибо!!! а то я не очень дружу с javascript.
написал в личку.
10 Октябрь 2014, 15:02:41
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
вопрос закрыт, проблему решил.
coder еще раз спасибо.
10 Октябрь 2014, 18:52:42
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 885
  • Репутация: +206/-0
    • Просмотр профиля
Написали бы как решили, это поможет другим. Судя по прстам, проблема для многих актуальная.
10 Октябрь 2014, 19:49:16
Ответ #8
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Уважаемый coder, помогите пожалуйста решить проблему! Не зная javascript и PHP, не то что найти решение, даже причину проблемы очень сложно понять. А если здесь всё всегда индивидуально - тем более.
Nikola, расскажите как Вы избавились от ошибок?
11 Октябрь 2014, 14:27:56
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Не знаю какая у Вас версия PS, но в 1.5.х.х  эта проблема решалась просто,
надо было вручную прописать, при заведении товара, ЧПУ,
и установить категорию по умолчанию и все.

В Вашем случае это вкладки CEO и Связи
Не боги горшки обжигают, не зачем им такой хренью заниматься.