Всем привет, ребятушки помогите на вас последняя надежда, нужно разделить цену и валюту Сейчас так А нужно так Шаблон корзины Код: <?php preg_match('#^(.*) - ([^ ]*)$#i', $text_items, $matches); $count = $matches[1]; $total = $matches[2]; ?> <div id="cart" class="item"> <div class="cart-total"> <span class="icon show-phone hide-desktop hide-tablet"></span><span class="cart-total-text"><?php echo $total; ?></span> <div class="drop-arrow"></div> </div> <div class="cart-wrap"> <div class="cart-text"><?php echo $heading_title; ?></div> <div class="cart-count"><?php echo $count; ?></div> </div> <div class="drop-content"> <div class="drop-body"> <?php if ($products || $vouchers) { ?> <table class="cart-list"> <tbody> <?php foreach ($products as $product) { ?> <tr> <td class="image"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>"> </a> <?php } ?> </td> <td class="name ta-left"> <a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> <div> <?php foreach ($product['option'] as $option) { ?> - <?php echo $option['name']; ?> <?php echo $option['value']; ?><br /> <?php } ?> </div> </td> <td class="quantity ta-center"><?php echo $product['quantity']; ?></td> <td class="total"><?php echo $product['total']; ?></td> <td class="remove"><div title="<?php echo $button_remove; ?>" onclick="DeleteFromCart('<?php echo $product['key']; ?>');"></div></td> </tr> <?php } ?> <?php foreach ($vouchers as $voucher) { ?> <tr> <td class="image"></td> <td class="name ta-left"><?php echo $voucher['description']; ?></td> <td class="quantity ta-center">1</td> <td class="total"><?php echo $voucher['amount']; ?></td> <td class="remove"><div title="<?php echo $button_remove; ?>" onclick="DeleteFromCart('<?php echo $voucher['key']; ?>');"></div></td> </tr> <?php } ?> </tbody> </table> <table class="cart-end"> <tbody> <?php foreach ($totals as $total) { ?> <tr> <th><?php echo $total['title']; ?>:</th> <td><?php echo $total['text']; ?></td> </tr> <?php } ?> </tbody> </table> <div class="cart-buttons"> <a href="<?php echo $checkout; ?>" class="button button-small button-alt"><?php echo $text_checkout; ?></a> <a href="<?php echo $cart; ?>" class="button button-small"><?php echo $text_cart; ?></a> </div> <?php } else { ?> <div class="empty"><?php echo $text_empty; ?></div> <?php } ?> </div> </div> </div> На вас последняя надежда P.S. Возможна чисто символическая оплата)
Vladsuperklas, бесплатный совет - для символа гривны в настройках магазина указан не грн, а (пробел)грн
Vladsuperklas, этот файлcart.tpl идет от шаблона? Если да, то попробуйте заменить оригинальным из дистрибутива opencart, не знаю, зачем это регулярное выражение вначале кода.
в пути к файлу было видно, что он /template/oceanic Не получается у меня так помогать почему-то... Хочется сразу всю информацию. Дайте ссылку на сайт, попробую там глянуть Но уже есть предположение, что проблему можно решить через правку контроллера корзины
PHP: <?phpclass ControllerModuleCart extends Controller { public function index() { $this->language->load('module/cart'); if (isset($this->request->get['remove'])) { $this->cart->remove($this->request->get['remove']); unset($this->session->data['vouchers'][$this->request->get['remove']]); } // Totals $this->load->model('setting/extension'); $total_data = array(); $total = 0; $taxes = $this->cart->getTaxes(); // Display prices if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $sort_order = array(); $results = $this->model_setting_extension->getExtensions('total'); foreach ($results as $key => $value) { $sort_order[$key] = $this->config->get($value['code'] . '_sort_order'); } array_multisort($sort_order, SORT_ASC, $results); foreach ($results as $result) { if ($this->config->get($result['code'] . '_status')) { $this->load->model('total/' . $result['code']); $this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes); } $sort_order = array(); foreach ($total_data as $key => $value) { $sort_order[$key] = $value['sort_order']; } array_multisort($sort_order, SORT_ASC, $total_data); } } $this->data['totals'] = $total_data; $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_cart'] = $this->language->get('text_cart'); $this->data['text_checkout'] = $this->language->get('text_checkout'); $this->data['text_payment_profile'] = $this->language->get('text_payment_profile'); $this->data['button_remove'] = $this->language->get('button_remove'); $this->load->model('tool/image'); $this->data['products'] = array(); foreach ($this->cart->getProducts() as $product) { if ($product['image']) { $image = $this->model_tool_image->resize($product['image'], $this->config->get('config_image_cart_width'), $this->config->get('config_image_cart_height')); } else { $image = ''; } $option_data = array(); foreach ($product['option'] as $option) { if ($option['type'] != 'file') { $value = $option['option_value']; } else { $filename = $this->encryption->decrypt($option['option_value']); $value = utf8_substr($filename, 0, utf8_strrpos($filename, '.')); } $option_data[] = array( 'name' => $option['name'], 'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value), 'type' => $option['type'] ); } // Display prices if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } // Display prices if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $total = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')) * $product['quantity']); } else { $total = false; } $this->data['products'][] = array( 'key' => $product['key'], 'thumb' => $image, 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'quantity' => $product['quantity'], 'price' => $price, 'total' => $total, 'href' => $this->url->link('product/product', 'product_id=' . $product['product_id']), 'recurring' => $product['recurring'], 'profile' => $product['profile_name'], ); } // Gift Voucher $this->data['vouchers'] = array(); if (!empty($this->session->data['vouchers'])) { foreach ($this->session->data['vouchers'] as $key => $voucher) { $this->data['vouchers'][] = array( 'key' => $key, 'description' => $voucher['description'], 'amount' => $this->currency->format($voucher['amount']) ); } } $this->data['cart'] = $this->url->link('checkout/cart'); $this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/cart.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/cart.tpl'; } else { $this->template = 'default/template/module/cart.tpl'; } $this->response->setOutput($this->render()); }}?>
Блин, должно все решаться так: Подставить в Система -- Локализация -- Валюты у валюты по умолчанию в поле "Символ справа:" вот такое значение " грн." (без кавычек, но с пробелом). Ну или в базе данных, в таблице oc_currency руками это значение поменять...