Virtuemart Повторный заказ - PullRequest
0 голосов
/ 25 марта 2011

Дело в том, что я хотел бы реализовать на своем сайте следующую функциональность: в настройках учетной записи - подробности заказа, я хотел бы добавить кнопку, которая добавила бы все товары из этого заказа в корзину.Теперь я понял, как реализована функция добавления в корзину на странице просмотра и просмотра.Я не могу понять, как передать несколько элементов в функцию добавления в корзину на странице сведений о заказе и как она будет обрабатываться ps_cart, если товар отсутствует на складе или неопубликован.Вот код формы добавления в корзину со страницы просмотра:

<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $i ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
    <?php echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?><br />
    <input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl    ?>" title="<?php echo $button_lbl ?>" />
    <input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'] ?>" />
    <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    <input type="hidden" name="prod_id[]" value="<?php echo $product_id ?>" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="func" value="cartadd" />
    <input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
</form>

Интересно, нужно ли передать все это в ps_cart?Я не ожидаю от вас полностью готового продолжения, было бы здорово, если бы вы указали мне правильное направление.Спасибо!

РЕДАКТИРОВАТЬ: я смог настроить кнопку добавить в корзину, теперь я должен передать необходимые данные.Было бы здорово, если бы он работал хотя бы с одним элементом, тогда я бы начал думать, как изменить код.

РЕДАКТИРОВАТЬ 2: я смог заставить его работать безупречно для одного продуктаНо как передать несколько идентификаторов продуктов и их количество в функцию добавления в корзину?

1 Ответ

1 голос
/ 26 марта 2011

В текущем коде в ps_cart уже есть цикл для перебора нескольких идентификаторов товаров, отправляемых в корзину. Исходя из этого кода, я бы просто поместил все идентификаторы продуктов, которые вы хотите добавить в корзину, в массив prod_id. Вы заметите, что prod_id, set_price, Adjust_price и master_product являются массивами в форме. Я предполагаю, что вам нужно будет ввести эти значения для каждого продукта, который вы хотите добавить, а ps_cart сделает все остальное.

...