#php #javascript #mysql #magento #cart
#php #javascript #mysql #magento #Корзина
Вопрос:
Я знаю, что продукт может быть добавлен через строку запроса в Magento.
Шаблон:
/path/to/app/checkout/cart/add?product=[id]amp;qty=[qty]
И если у меня есть необходимые пользовательские параметры:
/path/to/magento/checkout/cart/add?product=$idamp;qty=$qtyamp;options[$id]=$value
Если пользовательским параметром является, например, «поле» или «выпадающий список», это просто;
Мой вопрос: как добавить товар через строку запроса, если один из пользовательских параметров является типом файла?
Я хотел бы добавить файл в качестве значения настраиваемой опции, который уже загружен на сервер с помощью AJAX (до добавления товара в корзину).
Можно ли это сделать? И как?
Спасибо за любое решение.
Ответ №1:
Файлы должны быть загружены с помощью запросов POST, а не GET (строка запроса). Вы не можете использовать встроенный URL-адрес добавления в корзину таким образом, не изменяя контроллер, что не является хорошей идеей. Вместо этого, возможно, создайте свой собственный контроллер добавления в корзину и скопируйте код из основного действия и настройте его так, чтобы он принимал имена файлов в строке запроса.
Однако у меня такое чувство, что вы просто пытаетесь добавить товары в корзину, не загружая новую страницу. Чего вы пытаетесь достичь?
Комментарии:
1. Я просто пытаюсь добавить загрузку изображений ajax. Вот и все. Я полагаю, что впереди грязная работа. Я не нашел никакого ярлыка / решения. В любом случае спасибо.
Ответ №2:
Вашим пользовательским параметром должно быть имя файла (или какая-либо другая уникальная ссылка на файл), а не сам файл. Любой код, который должен работать с файлом, может затем использовать имя файла для доступа к фактическому файлу, поскольку он уже находится на вашем сервере.
Комментарии:
1. -1 для решения. Я думал об этом, но это должен быть файл. Если это файл, то я автоматически получаю ссылку для загрузки в корзину, оформление заказа, серверную часть и т. Д. Что мне тоже нужно. Ваше решение делает просто больше работы и настройки.
2. Возможно, я неправильно понял ваш вопрос, но если у вас есть ссылка на файл, а также фактический файл на вашем сервере, тогда вы можете выполнять все эти действия (загрузка, ссылка и т. Д. В оформлении заказа, корзине и бэкэнде).