Я использую корзину для покупок.
Я могу добавлять товары и рассчитывать все, что мне нужно, однако я бы построил расчет на другой странице, которая определит окончательную цену доставки для определенного товара, поэтому вот что я получил
Форма, которую я отправляю с вычисленным значением, выглядит следующим образом:
Расчет. 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, оно было пустым
Любая помощь будет приветствоваться