Как добавить значение в jcart, который не является элементом - PullRequest
0 голосов
/ 16 января 2020

Я использую корзину для покупок.

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

Форма, которую я отправляю с вычисленным значением, выглядит следующим образом:

Расчет. php

<form action="checkout.php" method="post" enctype="multipart/form-data">
          <input id="my-item-calc" name="my-item-calc" value="79.00">
         <input "type="submit"></form>

Которые отправляют значение на мою страницу оформления заказа, где отображается корзина, следующим образом:

оформить заказ. php

<div id="jcart">
                <?php $jcart->display_cart();?></div>

Расчет и отображение корзины определяется в корзине. php Товар отображается нормально, но я хотел бы использовать значение из формы в корзине, чтобы установить окончательную цену доставки. На странице оформления заказа я убедился, что $ _POST [my-item-cal c '] отправляется на эту страницу с помощью echo $ _POST [my-item-cal c']; который показывает 79,00, как и ожидалось. Но когда я попытался поймать его для использования в расчете корзины, его просто не удалось найти

в конфигурации . php

$config['checkoutPath']           = 'checkout.php';
$config['calc']['calcdel']        = 'my-item-calc';

in jcart. php

       class Jcart {

            public $config     = array();
            private $items     = array();
            private $names     = array();
            private $prices    = array();
            private $qtys      = array();
            public $delivery = 0;
            private $calcdel =0;


        public function get_contents() {
                $items = array();
                foreach($this->items as $tmpItem) {
                    $item = null;
                    $item['id']       = $tmpItem;
                    $item['name']     = $this->names[$tmpItem];
                    $item['qty']      = $this->qtys[$tmpItem];
                    $item['del']      = $this->dels[$tmpItem];
                    $items[]          = $item;
                }
                return $items;
                return $calc['calcdel'];
            }

    // Calculate delivery
    public function update_delivery() {
    $this->delivery = 0.00;

            foreach($this->items as $item){
                $this->delivery .= $this->dels[$item];}


            if ((strstr($this->delivery, 'Calculate')) && ($calcdel =='')){
                        $this->delivery = 'Calculate';}
                if 
                        if ((strstr($this->delivery, 'Calculate')) && ($calcdel !='')){
                        $this->delivery = $calcdel;}        
            else 
                    $this->delivery = '0.00';
                        $item['del']      = '0.00';
    }


public function display_item() {

    $config = $this->config; 
        $errorMessage = null;

        // Simplify some config variables
        $checkout = $config['checkoutPath'];
        $priceFormat = $config['priceFormat'];

        $id    = $config['item']['id'];
        $name  = $config['item']['name'];
        $qty   = $config['item']['qty'];
        $del   = $config['item']['del'];
        $calcdel = $config['calc']['calcdel'];      

        // Use config values as literal indices for incoming POST values
        // Values are the HTML name attributes set in config.json
        $id    = $_POST[$id];
        $name  = $_POST[$name];
        $price = $_POST[$price];
        $qty   = $_POST[$qty];
        $del   = $_POST[$del];
        $calcdel = $_POST[$calcdel];

}

Я пытался echo $calcdel;, однако он не вернул ожидаемое 79,00, оно было пустым

Любая помощь будет приветствоваться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...