Куда идем?
Расширение ннтернет-магазина для Joomla 3.

Не могу сохранить порядок категорий в VirtueMart 3.9.8 и 4

Больше
2 года 3 мес. назад - 2 года 3 мес. назад #9453 от Олег
Поставил Joomla 4 и на неё установил VirtueMart 3.9.8. Создал 15 категорий товаров магазина. Вывел их список, отсортировал по полю ORDERING. Ввёл новый порядок 5, 10, 15... Нажал на значок "Сохранить порядок". Не сохраняет. Пишет ошибку. Я работаю с Оперой, но решил попробовать в Chrome. Ошибка - та же.

VM192:1 Uncaught ReferenceError: saveorder is not defined
at <anonymous>:1:1

Код этого элемента:
<a href="javascript:saveorder(14, 'saveOrder')" rel="tooltip" class="saveorder btn btn-sm btn-secondary float-end" title="Сохранить порядок"><span class="icon-sort"></span></a>

Я решил, что просто ошибка этой версии VirtueMart. Обновил его до VirtueMart 4.0.2 10661 (актуальная сейчас). Результат - тот же.

Помогите, пожалуйста. Что я делаю не так? Никогда ничего подобного в Joomla 3 не было.

Если зайти в карточку любой из этих категорий, то в подменюшечке "Details" -> "Category ordering" во всем списке категорий перед ними стоит нуль и если меняешь, то после сохранения остается та же, что была раньше. Просто первая в списке. И если в phpMyAdmin вручную выставить в таблице #_virtuemart_categories потом поменять их нельзя. Та же ошибка.
Последнее редактирование: 2 года 3 мес. назад пользователем Wedal.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9454 от Wedal
Олег, используйте VM 4 для J4. Уже вышла стабильная версия.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9455 от Олег
Wedal, я в посте написал, что обновил до самой актуальной версии 4.0.2 (которая сейчас раздаётся, как стабильная). Ничего не поменялось :(

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9456 от Thomas Bergersen
Попробуйте сделать бэкап, и снести нынешнюю, потом установить заново актуальную.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9460 от Wedal
Олег, прошу прощения - прочитал по диагонали(.

В общем, смотрите: saveOrder, в данном случае - JS-функция, которая должна запускаться при нажатии на кнопку. Ошибка "saveorder is not defined" указывает на то, что функция с таким именем не найдена ни в одном из подключенных JS-скриптов. Скорее всего это ошибка новой версии VM. Либо у вас по какой-то причине не подключился скрипт.

Как решить:
Распакуйте архив с VM у себя на ПК и используйте любую программу массового поиска по файлам, например Total Commander. Найдите JS-файл, по тексту "function saveOrder", проверьте, что в нем есть эта самая функция. А дальше проверьте, подключается ли этот JS-файл у вас на странице, где возникает ошибка (скорее всего нет). Если он не подключается, просто подключите его.
Спасибо сказали: Олег

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9461 от Олег
Пока набирал сообщение - разлогинился :) Напишу ещё раз.
Тут вся ситуация, получается, ещё более странная. Я открыл магазин на Джумле 3.9.10, с третьим же Virtuemart. Открыл консоль. При нажатии на этот saveOrder появляется предупреждение:
window.saveorder() is deprecated without a replacement!
Метод устарел, но на заменён, как я понимаю. И это в третьей, ещё, Джумле. Я увидел, где этот метод админки обрабатывается.
/media/system/js/core.js
Там обо со многими функциями эти предупреждения должны выскакивать. Типа,
window.submitform=function(t){console.warn("window.submitform() is deprecated use Joomla.submitform() instead"),e.submitform(t)},
В Joomla 4 в этом файле нет ничего подобного. Видно, решили, что эти методы уже очень устарели и не взяли их в четвёрку. Чем-то и как-то заменили. Попросить бы кого-то, у кого чеивёртые и Джумла, и Virtuemart проверить, может это только у меня не работает...

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9462 от Wedal
Олег, скорее всего это баг. Но на 100% не скажу - я еще не тестировал VM4.

Вот что удалось найти по поводу этой ошибки (информация про другой раздел, но функция, по всей видимости, та же. Может чем-то поможет вам):
forum.virtuemart.net/index.php?topic=144937.0
Спасибо сказали: Олег

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9463 от Олег
Wedal, спасибо большое. Я читал этот топик. Собственно, то, что я писал выше, я и взял оттуда - просто в phpMyAdmin поправить таблицу. Но с таким решением я не смогу отдать в работу магазин. Похоже, что с тех пор так и не поправили эту ошибку.
Спасибо!

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9464 от Wedal
Олег, можете попробовать написать им прямо в этой теме свой вопрос. Хотя бы через гугл-переводчик. Разработчики читаю форум и дают подсказки. А если это действительно баг, то велика вероятность, что его-таки исправят, т.к сейчас активно вносят правки в VM4.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад #9465 от Олег
Я бы с удовольствием написал :) Но по непонятной мне причине я не могу там зарегистрироваться и даже просто читать Форум. Когда я захожу, что напрямую, что через VPN, то получаю сообщение
VirtueMart Forum » VirtueMart 2 + 3 » General Questions
An Error Has Occurred!
Sorry Guest, you are banned from using this forum!
This ban is not set to expire.

Почему - я не знаю. Полгода назад пытался там зарегистрироваться, но не получил письмо с кодом подтверждения. Запросил его ещё раз. И всё.
Так что буду просто ждать. Обновлять Virtuemarket и смотреть, не стало ли всё работать :)

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.