Verelar Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Добрый день. Помогите выпилить вот эту ошибку . Opencart 2 Добавляю товар в корзину, приступаю к гостевому оформлению заказа, и на 5 этапе оформления выскакивает вот это /(WI(RV/2K2KrRcl݊RS3RKKԭ Где то дело в контроллере или шаблон конфликтует Код guest.php <?phpclass ControllerCheckoutGuest extends Controller { public function index() { $this->load->language('checkout/checkout'); $data['text_select'] = $this->language->get('text_select'); $data['text_none'] = $this->language->get('text_none'); $data['text_your_details'] = $this->language->get('text_your_details'); $data['text_your_account'] = $this->language->get('text_your_account'); $data['text_your_address'] = $this->language->get('text_your_address'); $data['text_loading'] = $this->language->get('text_loading'); $data['entry_firstname'] = $this->language->get('entry_firstname'); $data['entry_lastname'] = $this->language->get('entry_lastname'); $data['entry_email'] = $this->language->get('entry_email'); $data['entry_telephone'] = $this->language->get('entry_telephone'); $data['entry_fax'] = $this->language->get('entry_fax'); $data['entry_company'] = $this->language->get('entry_company'); $data['entry_customer_group'] = $this->language->get('entry_customer_group'); $data['entry_address_1'] = $this->language->get('entry_address_1'); $data['entry_address_2'] = $this->language->get('entry_address_2'); $data['entry_postcode'] = $this->language->get('entry_postcode'); $data['entry_city'] = $this->language->get('entry_city'); $data['entry_country'] = $this->language->get('entry_country'); $data['entry_zone'] = $this->language->get('entry_zone'); $data['entry_shipping'] = $this->language->get('entry_shipping'); $data['button_continue'] = $this->language->get('button_continue'); $data['button_upload'] = $this->language->get('button_upload'); $data['customer_groups'] = array(); if (is_array($this->config->get('config_customer_group_display'))) { $this->load->model('account/customer_group'); $customer_groups = $this->model_account_customer_group->getCustomerGroups(); foreach ($customer_groups as $customer_group) { if (in_array($customer_group['customer_group_id'], $this->config->get('config_customer_group_display'))) { $data['customer_groups'][] = $customer_group; } } } if (isset($this->session->data['guest']['customer_group_id'])) { $data['customer_group_id'] = $this->session->data['guest']['customer_group_id']; } else { $data['customer_group_id'] = $this->config->get('config_customer_group_id'); } if (isset($this->session->data['guest']['firstname'])) { $data['firstname'] = $this->session->data['guest']['firstname']; } else { $data['firstname'] = ''; } if (isset($this->session->data['guest']['lastname'])) { $data['lastname'] = $this->session->data['guest']['lastname']; } else { $data['lastname'] = ''; } if (isset($this->session->data['guest']['email'])) { $data['email'] = $this->session->data['guest']['email']; } else { $data['email'] = ''; } if (isset($this->session->data['guest']['telephone'])) { $data['telephone'] = $this->session->data['guest']['telephone']; } else { $data['telephone'] = ''; } if (isset($this->session->data['guest']['fax'])) { $data['fax'] = $this->session->data['guest']['fax']; } else { $data['fax'] = ''; } if (isset($this->session->data['payment_address']['company'])) { $data['company'] = $this->session->data['payment_address']['company']; } else { $data['company'] = ''; } if (isset($this->session->data['payment_address']['address_1'])) { $data['address_1'] = $this->session->data['payment_address']['address_1']; } else { $data['address_1'] = ''; } if (isset($this->session->data['payment_address']['address_2'])) { $data['address_2'] = $this->session->data['payment_address']['address_2']; } else { $data['address_2'] = ''; } if (isset($this->session->data['payment_address']['postcode'])) { $data['postcode'] = $this->session->data['payment_address']['postcode']; } elseif (isset($this->session->data['shipping_address']['postcode'])) { $data['postcode'] = $this->session->data['shipping_address']['postcode']; } else { $data['postcode'] = ''; } if (isset($this->session->data['payment_address']['city'])) { $data['city'] = $this->session->data['payment_address']['city']; } else { $data['city'] = ''; } if (isset($this->session->data['payment_address']['country_id'])) { $data['country_id'] = $this->session->data['payment_address']['country_id']; } elseif (isset($this->session->data['shipping_address']['country_id'])) { $data['country_id'] = $this->session->data['shipping_address']['country_id']; } else { $data['country_id'] = $this->config->get('config_country_id'); } if (isset($this->session->data['payment_address']['zone_id'])) { $data['zone_id'] = $this->session->data['payment_address']['zone_id']; } elseif (isset($this->session->data['shipping_address']['zone_id'])) { $data['zone_id'] = $this->session->data['shipping_address']['zone_id']; } else { $data['zone_id'] = ''; } $this->load->model('localisation/country'); $data['countries'] = $this->model_localisation_country->getCountries(); // Custom Fields $this->load->model('account/custom_field'); $data['custom_fields'] = $this->model_account_custom_field->getCustomFields(); if (isset($this->session->data['guest']['custom_field'])) { if (isset($this->session->data['guest']['custom_field'])) { $guest_custom_field = $this->session->data['guest']['custom_field']; } else { $guest_custom_field = array(); } if (isset($this->session->data['payment_address']['custom_field'])) { $address_custom_field = $this->session->data['payment_address']['custom_field']; } else { $address_custom_field = array(); } $data['guest_custom_field'] = $guest_custom_field + $address_custom_field; } else { $data['guest_custom_field'] = array(); } $data['shipping_required'] = $this->cart->hasShipping(); if (isset($this->session->data['guest']['shipping_address'])) { $data['shipping_address'] = $this->session->data['guest']['shipping_address']; } else { $data['shipping_address'] = true; } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/checkout/guest.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/checkout/guest.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/checkout/guest.tpl', $data)); } } public function save() { $this->load->language('checkout/checkout'); $json = array(); // Validate if customer is logged in. if ($this->customer->isLogged()) { $json['redirect'] = $this->url->link('checkout/checkout', '', 'SSL'); } // Validate cart has products and has stock. if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) { $json['redirect'] = $this->url->link('checkout/cart'); } // Check if guest checkout is available. if (!$this->config->get('config_checkout_guest') || $this->config->get('config_customer_price') || $this->cart->hasDownload()) { $json['redirect'] = $this->url->link('checkout/checkout', '', 'SSL'); } if (!$json) { if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32)) { $json['error']['firstname'] = $this->language->get('error_firstname'); } if ((utf8_strlen(trim($this->request->post['lastname'])) < 1) || (utf8_strlen(trim($this->request->post['lastname'])) > 32)) { $json['error']['lastname'] = $this->language->get('error_lastname'); } if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $this->request->post['email'])) { $json['error']['email'] = $this->language->get('error_email'); } if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['telephone'] = $this->language->get('error_telephone'); } if ((utf8_strlen(trim($this->request->post['address_1'])) < 3) || (utf8_strlen(trim($this->request->post['address_1'])) > 128)) { $json['error']['address_1'] = $this->language->get('error_address_1'); } if ((utf8_strlen(trim($this->request->post['city'])) < 2) || (utf8_strlen(trim($this->request->post['city'])) > 128)) { $json['error']['city'] = $this->language->get('error_city'); } $this->load->model('localisation/country'); $country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info && $country_info['postcode_required'] && (utf8_strlen(trim($this->request->post['postcode'])) < 2 || utf8_strlen(trim($this->request->post['postcode'])) > 10)) { $json['error']['postcode'] = $this->language->get('error_postcode'); } if ($this->request->post['country_id'] == '') { $json['error']['country'] = $this->language->get('error_country'); } if (!isset($this->request->post['zone_id']) || $this->request->post['zone_id'] == '') { $json['error']['zone'] = $this->language->get('error_zone'); } // Customer Group if (isset($this->request->post['customer_group_id']) && is_array($this->config->get('config_customer_group_display')) && in_array($this->request->post['customer_group_id'], $this->config->get('config_customer_group_display'))) { $customer_group_id = $this->request->post['customer_group_id']; } else { $customer_group_id = $this->config->get('config_customer_group_id'); } // Custom field validation $this->load->model('account/custom_field'); $custom_fields = $this->model_account_custom_field->getCustomFields($customer_group_id); foreach ($custom_fields as $custom_field) { if ($custom_field['required'] && empty($this->request->post['custom_field'][$custom_field['location']][$custom_field['custom_field_id']])) { $json['error']['custom_field' . $custom_field['custom_field_id']] = sprintf($this->language->get('error_custom_field'), $custom_field['name']); } } } if (!$json) { $this->session->data['account'] = 'guest'; $this->session->data['guest']['customer_group_id'] = $customer_group_id; $this->session->data['guest']['firstname'] = $this->request->post['firstname']; $this->session->data['guest']['lastname'] = $this->request->post['lastname']; $this->session->data['guest']['email'] = $this->request->post['email']; $this->session->data['guest']['telephone'] = $this->request->post['telephone']; $this->session->data['guest']['fax'] = $this->request->post['fax']; if (isset($this->request->post['custom_field']['account'])) { $this->session->data['guest']['custom_field'] = $this->request->post['custom_field']['account']; } else { $this->session->data['guest']['custom_field'] = array(); } $this->session->data['payment_address']['firstname'] = $this->request->post['firstname']; $this->session->data['payment_address']['lastname'] = $this->request->post['lastname']; $this->session->data['payment_address']['company'] = $this->request->post['company']; $this->session->data['payment_address']['address_1'] = $this->request->post['address_1']; $this->session->data['payment_address']['address_2'] = $this->request->post['address_2']; $this->session->data['payment_address']['postcode'] = $this->request->post['postcode']; $this->session->data['payment_address']['city'] = $this->request->post['city']; $this->session->data['payment_address']['country_id'] = $this->request->post['country_id']; $this->session->data['payment_address']['zone_id'] = $this->request->post['zone_id']; $this->load->model('localisation/country'); $country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info) { $this->session->data['payment_address']['country'] = $country_info['name']; $this->session->data['payment_address']['iso_code_2'] = $country_info['iso_code_2']; $this->session->data['payment_address']['iso_code_3'] = $country_info['iso_code_3']; $this->session->data['payment_address']['address_format'] = $country_info['address_format']; } else { $this->session->data['payment_address']['country'] = ''; $this->session->data['payment_address']['iso_code_2'] = ''; $this->session->data['payment_address']['iso_code_3'] = ''; $this->session->data['payment_address']['address_format'] = ''; } if (isset($this->request->post['custom_field']['address'])) { $this->session->data['payment_address']['custom_field'] = $this->request->post['custom_field']['address']; } else { $this->session->data['payment_address']['custom_field'] = array(); } $this->load->model('localisation/zone'); $zone_info = $this->model_localisation_zone->getZone($this->request->post['zone_id']); if ($zone_info) { $this->session->data['payment_address']['zone'] = $zone_info['name']; $this->session->data['payment_address']['zone_code'] = $zone_info['code']; } else { $this->session->data['payment_address']['zone'] = ''; $this->session->data['payment_address']['zone_code'] = ''; } if (!empty($this->request->post['shipping_address'])) { $this->session->data['guest']['shipping_address'] = $this->request->post['shipping_address']; } else { $this->session->data['guest']['shipping_address'] = false; } // Default Payment Address if ($this->session->data['guest']['shipping_address']) { $this->session->data['shipping_address']['firstname'] = $this->request->post['firstname']; $this->session->data['shipping_address']['lastname'] = $this->request->post['lastname']; $this->session->data['shipping_address']['company'] = $this->request->post['company']; $this->session->data['shipping_address']['address_1'] = $this->request->post['address_1']; $this->session->data['shipping_address']['address_2'] = $this->request->post['address_2']; $this->session->data['shipping_address']['postcode'] = $this->request->post['postcode']; $this->session->data['shipping_address']['city'] = $this->request->post['city']; $this->session->data['shipping_address']['country_id'] = $this->request->post['country_id']; $this->session->data['shipping_address']['zone_id'] = $this->request->post['zone_id']; if ($country_info) { $this->session->data['shipping_address']['country'] = $country_info['name']; $this->session->data['shipping_address']['iso_code_2'] = $country_info['iso_code_2']; $this->session->data['shipping_address']['iso_code_3'] = $country_info['iso_code_3']; $this->session->data['shipping_address']['address_format'] = $country_info['address_format']; } else { $this->session->data['shipping_address']['country'] = ''; $this->session->data['shipping_address']['iso_code_2'] = ''; $this->session->data['shipping_address']['iso_code_3'] = ''; $this->session->data['shipping_address']['address_format'] = ''; } if ($zone_info) { $this->session->data['shipping_address']['zone'] = $zone_info['name']; $this->session->data['shipping_address']['zone_code'] = $zone_info['code']; } else { $this->session->data['shipping_address']['zone'] = ''; $this->session->data['shipping_address']['zone_code'] = ''; } if (isset($this->request->post['custom_field']['address'])) { $this->session->data['shipping_address']['custom_field'] = $this->request->post['custom_field']['address']; } else { $this->session->data['shipping_address']['custom_field'] = array(); } } unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); }} Код guest.tpl <div class="row"> <div class="col-sm-6"> <fieldset id="account"> <legend><?php echo $text_your_details; ?></legend> <div class="form-group" style="display: <?php echo (count($customer_groups) > 1 ? 'block' : 'none'); ?>;"> <label class="control-label"><?php echo $entry_customer_group; ?></label> <?php foreach ($customer_groups as $customer_group) { ?> <?php if ($customer_group['customer_group_id'] == $customer_group_id) { ?> <div class="radio"> <label> <input type="radio" name="customer_group_id" value="<?php echo $customer_group['customer_group_id']; ?>" checked="checked" /> <?php echo $customer_group['name']; ?></label> </div> <?php } else { ?> <div class="radio"> <label> <input type="radio" name="customer_group_id" value="<?php echo $customer_group['customer_group_id']; ?>" /> <?php echo $customer_group['name']; ?></label> </div> <?php } ?> <?php } ?> </div> <div class="form-group required"> <label class="control-label" for="input-payment-firstname"><?php echo $entry_firstname; ?></label> <input type="text" name="firstname" value="<?php echo $firstname; ?>" placeholder="<?php echo $entry_firstname; ?>" id="input-payment-firstname" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-lastname"><?php echo $entry_lastname; ?></label> <input type="text" name="lastname" value="<?php echo $lastname; ?>" placeholder="<?php echo $entry_lastname; ?>" id="input-payment-lastname" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-email"><?php echo $entry_email; ?></label> <input type="text" name="email" value="<?php echo $email; ?>" placeholder="<?php echo $entry_email; ?>" id="input-payment-email" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-telephone"><?php echo $entry_telephone; ?></label> <input type="text" name="telephone" value="<?php echo $telephone; ?>" placeholder="<?php echo $entry_telephone; ?>" id="input-payment-telephone" class="form-control" /> </div> <div class="form-group"> <label style="display: none;" class="control-label" for="input-payment-fax"><?php echo $entry_fax; ?></label> <input style="display: none;" type="text" name="fax" value="fax" placeholder="<?php echo $entry_fax; ?>" id="input-payment-fax" class="form-control" /> </div> <?php foreach ($custom_fields as $custom_field) { ?> <?php if ($custom_field['location'] == 'account') { ?> <?php if ($custom_field['type'] == 'select') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <select name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && $custom_field_value['custom_field_value_id'] == $guest_custom_field[$custom_field['custom_field_id']]) { ?> <option value="<?php echo $custom_field_value['custom_field_value_id']; ?>" selected="selected"><?php echo $custom_field_value['name']; ?></option> <?php } else { ?> <option value="<?php echo $custom_field_value['custom_field_value_id']; ?>"><?php echo $custom_field_value['name']; ?></option> <?php } ?> <?php } ?> </select> </div> <?php } ?> <?php if ($custom_field['type'] == 'radio') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <div id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <div class="radio"> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && $custom_field_value['custom_field_value_id'] == $guest_custom_field[$custom_field['custom_field_id']]) { ?> <label> <input type="radio" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" checked="checked" /> <?php echo $custom_field_value['name']; ?></label> <?php } else { ?> <label> <input type="radio" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" /> <?php echo $custom_field_value['name']; ?></label> <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($custom_field['type'] == 'checkbox') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <div id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <div class="checkbox"> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && in_array($custom_field_value['custom_field_value_id'], $guest_custom_field[$custom_field['custom_field_id']])) { ?> <label> <input type="checkbox" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>][]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" checked="checked" /> <?php echo $custom_field_value['name']; ?></label> <?php } else { ?> <label> <input type="checkbox" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>][]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" /> <?php echo $custom_field_value['name']; ?></label> <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($custom_field['type'] == 'text') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($custom_field['type'] == 'textarea') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <textarea name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" rows="5" placeholder="<?php echo $custom_field['name']; ?>" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control"><?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?></textarea> </div> <?php } ?> <?php if ($custom_field['type'] == 'file') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <br /> <button type="button" id="button-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : ''); ?>" /> </div> <?php } ?> <?php if ($custom_field['type'] == 'date') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group date"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="YYYY-MM-DD" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($custom_field['type'] == 'time') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group time"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="HH:mm" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($custom_field['type'] == 'datetime') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group datetime"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> </fieldset> </div> <div class="col-sm-6"> <fieldset id="address"> <legend><?php echo $text_your_address; ?></legend> <div class="form-group"> <label class="control-label" for="input-payment-company"><?php echo $entry_company; ?></label> <input type="text" name="company" value="<?php echo $company; ?>" placeholder="ООО, ЗАО, ОАО, ИП и т.д" id="input-payment-company" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-country"><?php echo $entry_country; ?></label> <select name="country_id" id="input-payment-country" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($countries as $country) { ?> <?php if ($country['country_id'] == $country_id) { ?> <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option> <?php } else { ?> <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option> <?php } ?> <?php } ?> </select> </div> <div class="form-group required"> <label style="display: none;" class="control-label" for="input-payment-city"><?php echo $entry_city; ?></label> <input style="display: none;" type="text" name="city" value="Москва" placeholder="<?php echo $entry_city; ?>" id="input-payment-city" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-address-1"><?php echo $entry_address_1; ?></label> <input type="text" name="address_1" value="<?php echo $address_1; ?>" placeholder="<?php echo $entry_address_1; ?>" id="input-payment-address-1" class="form-control" /> </div> <div class="form-group"> <label class="control-label" for="input-payment-address-2"><?php echo $entry_address_2; ?></label> <input type="text" name="address_2" value="<?php echo $address_2; ?>" placeholder="<?php echo $entry_address_2; ?>" id="input-payment-address-2" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-postcode"><?php echo $entry_postcode; ?></label> <input type="text" name="postcode" value="<?php echo $postcode; ?>" placeholder="Для отправки по России" id="input-payment-postcode" class="form-control" /> </div> <div class="form-group required"> <label class="control-label" for="input-payment-zone"><?php echo $entry_zone; ?></label> <select name="zone_id" id="input-payment-zone" class="form-control"> </select> </div> <?php foreach ($custom_fields as $custom_field) { ?> <?php if ($custom_field['location'] == 'address') { ?> <?php if ($custom_field['type'] == 'select') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <select name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && $custom_field_value['custom_field_value_id'] == $guest_custom_field[$custom_field['custom_field_id']]) { ?> <option value="<?php echo $custom_field_value['custom_field_value_id']; ?>" selected="selected"><?php echo $custom_field_value['name']; ?></option> <?php } else { ?> <option value="<?php echo $custom_field_value['custom_field_value_id']; ?>"><?php echo $custom_field_value['name']; ?></option> <?php } ?> <?php } ?> </select> </div> <?php } ?> <?php if ($custom_field['type'] == 'radio') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <div id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <div class="radio"> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && $custom_field_value['custom_field_value_id'] == $guest_custom_field[$custom_field['custom_field_id']]) { ?> <label> <input type="radio" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" checked="checked" /> <?php echo $custom_field_value['name']; ?></label> <?php } else { ?> <label> <input type="radio" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" /> <?php echo $custom_field_value['name']; ?></label> <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($custom_field['type'] == 'checkbox') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <div id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"> <?php foreach ($custom_field['custom_field_value'] as $custom_field_value) { ?> <div class="checkbox"> <?php if (isset($guest_custom_field[$custom_field['custom_field_id']]) && in_array($custom_field_value['custom_field_value_id'], $guest_custom_field[$custom_field['custom_field_id']])) { ?> <label> <input type="checkbox" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>][]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" checked="checked" /> <?php echo $custom_field_value['name']; ?></label> <?php } else { ?> <label> <input type="checkbox" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>][]" value="<?php echo $custom_field_value['custom_field_value_id']; ?>" /> <?php echo $custom_field_value['name']; ?></label> <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> <?php if ($custom_field['type'] == 'text') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> </div> <?php } ?> <?php if ($custom_field['type'] == 'textarea') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <textarea name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" rows="5" placeholder="<?php echo $custom_field['name']; ?>" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control"><?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?></textarea> </div> <?php } ?> <?php if ($custom_field['type'] == 'file') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label"><?php echo $custom_field['name']; ?></label> <br /> <button type="button" id="button-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button> <input type="hidden" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : ''); ?>" /> </div> <?php } ?> <?php if ($custom_field['type'] == 'date') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group date"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="YYYY-MM-DD" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($custom_field['type'] == 'time') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group time"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="HH:mm" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php if ($custom_field['type'] == 'datetime') { ?> <div id="payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-group custom-field" data-sort="<?php echo $custom_field['sort_order']; ?>"> <label class="control-label" for="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>"><?php echo $custom_field['name']; ?></label> <div class="input-group datetime"> <input type="text" name="custom_field[<?php echo $custom_field['location']; ?>][<?php echo $custom_field['custom_field_id']; ?>]" value="<?php echo (isset($guest_custom_field[$custom_field['custom_field_id']]) ? $guest_custom_field[$custom_field['custom_field_id']] : $custom_field['value']); ?>" placeholder="<?php echo $custom_field['name']; ?>" data-date-format="YYYY-MM-DD HH:mm" id="input-payment-custom-field<?php echo $custom_field['custom_field_id']; ?>" class="form-control" /> <span class="input-group-btn"> <button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button> </span></div> </div> <?php } ?> <?php } ?> <?php } ?> </fieldset> </div></div><?php if ($shipping_required) { ?><div class="checkbox"> <label> <?php if ($shipping_address) { ?> <input type="checkbox" name="shipping_address" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="shipping_address" value="1" /> <?php } ?> <?php echo $entry_shipping; ?></label></div><?php } ?><div class="buttons"> <div class="pull-right"> <input type="button" value="<?php echo $button_continue; ?>" id="button-guest" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary" /> </div></div><script type="text/javascript"><!--// Sort the custom fields$('#account .form-group[data-sort]').detach().each(function() { if ($(this).attr('data-sort') >= 0 && $(this).attr('data-sort') <= $('#account .form-group').length) { $('#account .form-group').eq($(this).attr('data-sort')).before(this); } if ($(this).attr('data-sort') > $('#account .form-group').length) { $('#account .form-group:last').after(this); } if ($(this).attr('data-sort') < -$('#account .form-group').length) { $('#account .form-group:first').before(this); }});$('#address .form-group[data-sort]').detach().each(function() { if ($(this).attr('data-sort') >= 0 && $(this).attr('data-sort') <= $('#address .form-group').length) { $('#address .form-group').eq($(this).attr('data-sort')).before(this); } if ($(this).attr('data-sort') > $('#address .form-group').length) { $('#address .form-group:last').after(this); } if ($(this).attr('data-sort') < -$('#address .form-group').length) { $('#address .form-group:first').before(this); }});$('#collapse-payment-address input[name=\'customer_group_id\']').on('change', function() { $.ajax({ url: 'index.php?route=checkout/checkout/customfield&customer_group_id=' + this.value, dataType: 'json', success: function(json) { $('#collapse-payment-address .custom-field').hide(); $('#collapse-payment-address .custom-field').removeClass('required'); for (i = 0; i < json.length; i++) { custom_field = json; $('#payment-custom-field' + custom_field['custom_field_id']).show(); if (custom_field['required']) { $('#payment-custom-field' + custom_field['custom_field_id']).addClass('required'); } else { $('#payment-custom-field' + custom_field['custom_field_id']).removeClass('required'); } } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } });});$('#collapse-payment-address input[name=\'customer_group_id\']:checked').trigger('change');//--></script><script type="text/javascript"><!--$('#collapse-payment-address button[id^=\'button-payment-custom-field\']').on('click', function() { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); timer = setInterval(function() { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function() { $(node).button('loading'); }, complete: function() { $(node).button('reset'); }, success: function(json) { $(node).parent().find('.text-danger').remove(); if (json['error']) { $(node).parent().find('input[name^=\'custom_field\']').after('<div class="text-danger">' + json['error'] + '</div>'); } if (json['success']) { alert(json['success']); $(node).parent().find('input[name^=\'custom_field\']').attr('value', json['file']); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, 500);});//--></script><script type="text/javascript"><!--$('.date').datetimepicker({ pickTime: false});$('.time').datetimepicker({ pickDate: false});$('.datetime').datetimepicker({ pickDate: true, pickTime: true});//--></script><script type="text/javascript"><!--$('#collapse-payment-address select[name=\'country_id\']').on('change', function() { $.ajax({ url: 'index.php?route=checkout/checkout/country&country_id=' + this.value, dataType: 'json', beforeSend: function() { $('#collapse-payment-address select[name=\'country_id\']').after(' <i class="fa fa-circle-o-notch fa-spin"></i>'); }, complete: function() { $('.fa-spin').remove(); }, success: function(json) { if (json['postcode_required'] == '1') { $('#collapse-payment-address input[name=\'postcode\']').parent().parent().addClass('required'); } else { $('#collapse-payment-address input[name=\'postcode\']').parent().parent().removeClass('required'); } html = '<option value=""><?php echo $text_select; ?></option>'; if (json['zone'] != '') { for (i = 0; i < json['zone'].length; i++) { html += '<option value="' + json['zone']['zone_id'] + '"'; if (json['zone']['zone_id'] == 2761) { html += ' selected="selected"'; } html += '>' + json['zone']['name'] + '</option>'; } } else { html += '<option value="0" selected="selected"><?php echo $text_none; ?></option>'; } $('#collapse-payment-address select[name=\'zone_id\']').html(html); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } });});$('#collapse-payment-address select[name=\'country_id\']').trigger('change');//--></script> Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 может, прочитать предупреждение и указать хотя бы один способ оплаты в настройках? ;) а кракозябры - скорей всего из-за кривой правки файла, почитайте про UTF-8 без BOM Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 (змінено) Даже с указанием способа оплаты все равно выскакивает это. А не подскажите что это может быть.. какой текст там должен быть вместо кракозябров? Выкладываю оригинал /(WI(RV/2K2KrRcl݊RS3RKKԭ Змінено 13 червня 2015 користувачем Verelar Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 (змінено) Почти со 100% вероятностью бяка возникает после исполнения вот этого кода Полный код payment_method.php class ControllerCheckoutPaymentMethod extends Controller {public function index() {$this->load->language('checkout/checkout');if (isset($this->session->data['payment_address'])) {// Totals$total_data = array();$total = 0;$taxes = $this->cart->getTaxes();$this->load->model('extension/extension');$sort_order = array();$results = $this->model_extension_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);}}// Payment Methods$method_data = array();$this->load->model('extension/extension');$results = $this->model_extension_extension->getExtensions('payment');$recurring = $this->cart->hasRecurringProducts();foreach ($results as $result) {if ($this->config->get($result['code'] . '_status')) {$this->load->model('payment/' . $result['code']);$method = $this->{'model_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total);if ($method) {if ($recurring) {if (method_exists($this->{'model_payment_' . $result['code']}, 'recurringPayments') && $this->{'model_payment_' . $result['code']}->recurringPayments()) {$method_data[$result['code']] = $method;}} else {$method_data[$result['code']] = $method;}}}}$sort_order = array();foreach ($method_data as $key => $value) {$sort_order[$key] = $value['sort_order'];}array_multisort($sort_order, SORT_ASC, $method_data);$this->session->data['payment_methods'] = $method_data;}$data['text_payment_method'] = $this->language->get('text_payment_method');$data['text_comments'] = $this->language->get('text_comments');$data['text_loading'] = $this->language->get('text_loading');$data['button_continue'] = $this->language->get('button_continue');if (empty($this->session->data['payment_methods'])) {$data['error_warning'] = sprintf($this->language->get('error_no_payment'), $this->url->link('information/contact'));} else {$data['error_warning'] = '';}if (isset($this->session->data['payment_methods'])) {$data['payment_methods'] = $this->session->data['payment_methods'];} else {$data['payment_methods'] = array();}if (isset($this->session->data['payment_method']['code'])) {$data['code'] = $this->session->data['payment_method']['code'];} else {$data['code'] = '';}if (isset($this->session->data['comment'])) {$data['comment'] = $this->session->data['comment'];} else {$data['comment'] = '';}$data['scripts'] = $this->document->getScripts();if ($this->config->get('config_checkout_id')) {$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation($this->config->get('config_checkout_id'));if ($information_info) {$data['text_agree'] = sprintf($this->language->get('text_agree'), $this->url->link('information/information/agree', 'information_id=' . $this->config->get('config_checkout_id'), 'SSL'), $information_info['title'], $information_info['title']);} else {$data['text_agree'] = '';}} else {$data['text_agree'] = '';}if (isset($this->session->data['agree'])) {$data['agree'] = $this->session->data['agree'];} else {$data['agree'] = '';}if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/checkout/payment_method.tpl')) {$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/checkout/payment_method.tpl', $data));} else {$this->response->setOutput($this->load->view('default/template/checkout/payment_method.tpl', $data));}}public function save() {$this->load->language('checkout/checkout');$json = array();// Validate if payment address has been set.if (!isset($this->session->data['payment_address'])) {$json['redirect'] = $this->url->link('checkout/checkout', '', 'SSL');}// Validate cart has products and has stock.if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {$json['redirect'] = $this->url->link('checkout/cart');}// Validate minimum quantity requirements.$products = $this->cart->getProducts();foreach ($products as $product) {$product_total = 0;foreach ($products as $product_2) {if ($product_2['product_id'] == $product['product_id']) {$product_total += $product_2['quantity'];}}if ($product['minimum'] > $product_total) {$json['redirect'] = $this->url->link('checkout/cart');break;}}if (!isset($this->request->post['payment_method'])) {$json['error']['warning'] = $this->language->get('error_payment');} elseif (!isset($this->session->data['payment_methods'][$this->request->post['payment_method']])) {$json['error']['warning'] = $this->language->get('error_payment');}if ($this->config->get('config_checkout_id')) {$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation($this->config->get('config_checkout_id'));if ($information_info && !isset($this->request->post['agree'])) {$json['error']['warning'] = sprintf($this->language->get('error_agree'), $information_info['title']);}}if (!$json) {$this->session->data['payment_method'] = $this->session->data['payment_methods'][$this->request->post['payment_method']];$this->session->data['comment'] = strip_tags($this->request->post['comment']);}$this->response->addHeader('Content-Type: application/json');$this->response->setOutput(json_encode($json));}} foreach ($results as $result) { if ($this->config->get($result['code'] . '_status')) { $this->load->model('payment/' . $result['code']); $method = $this->{'model_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total); if ($method) { if ($recurring) { if (method_exists($this->{'model_payment_' . $result['code']}, 'recurringPayments') && $this->{'model_payment_' . $result['code']}->recurringPayments()) { $method_data[$result['code']] = $method; } } else { $method_data[$result['code']] = $method; } } } } Змінено 13 червня 2015 користувачем Verelar Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Даже с указанием способа оплаты все равно выскакивает это. А не подскажите что это может быть.. какой текст там должен быть вместо кракозябров? Выкладываю оригинал /(WI(RV/2K2KrRcl݊RS3RKKԭ смотрите кодировку файлов в папке catalog\view\theme\default\template\checkout checkout.tpl Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 смотрите кодировку файлов в папке catalog\view\theme\default\template\checkout checkout.tpl Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 дело именно в кодировке проверьте языковой файл catalog\language\ нужный язык \checkout\checkout.php Надіслати Поділитися на інших сайтах More sharing options... Гість Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... сказали же добрый люди.. ПЕРЕСОХРАНИТЬ ФАЙЛ В КОДИРОВКЕ UTF-8 без BOM Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 Видать здесь спецы собрались экстра класса. Говорю что дело не в кодировке... Я вообще русский перевод удалил, символы все равно эти вылазиют при ЛЮБОМ раскладе. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Есть мысли? Код всех файлов я выложил выше. Если какие-то файлики необходимы еще.. добавлю.. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 Есть мысли? Есть. Ничего нового не услышите. Не верная кодировка одного из файлов. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Ясно, значит сути не добиться )) Кракозябры пропали после добавления новых методов оплаты.. вот такая мистика.. К файлам даже не прикасался. и кодировку не менял. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 абсолютно никакой мистики - еще во втором посте написал про указание метода оплаты нет метода - выдает ошибку а уже сам текст ошибки в кривой кодировке - поэтому и кракозябры Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування Где убрать кракозябры? Глючит шаблон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 (змінено) Даже с указанием способа оплаты все равно выскакивает это. А не подскажите что это может быть.. какой текст там должен быть вместо кракозябров? Выкладываю оригинал /(WI(RV/2K2KrRcl݊RS3RKKԭ Змінено 13 червня 2015 користувачем Verelar Надіслати Поділитися на інших сайтах More sharing options...
Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 (змінено) Почти со 100% вероятностью бяка возникает после исполнения вот этого кода Полный код payment_method.php class ControllerCheckoutPaymentMethod extends Controller {public function index() {$this->load->language('checkout/checkout');if (isset($this->session->data['payment_address'])) {// Totals$total_data = array();$total = 0;$taxes = $this->cart->getTaxes();$this->load->model('extension/extension');$sort_order = array();$results = $this->model_extension_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);}}// Payment Methods$method_data = array();$this->load->model('extension/extension');$results = $this->model_extension_extension->getExtensions('payment');$recurring = $this->cart->hasRecurringProducts();foreach ($results as $result) {if ($this->config->get($result['code'] . '_status')) {$this->load->model('payment/' . $result['code']);$method = $this->{'model_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total);if ($method) {if ($recurring) {if (method_exists($this->{'model_payment_' . $result['code']}, 'recurringPayments') && $this->{'model_payment_' . $result['code']}->recurringPayments()) {$method_data[$result['code']] = $method;}} else {$method_data[$result['code']] = $method;}}}}$sort_order = array();foreach ($method_data as $key => $value) {$sort_order[$key] = $value['sort_order'];}array_multisort($sort_order, SORT_ASC, $method_data);$this->session->data['payment_methods'] = $method_data;}$data['text_payment_method'] = $this->language->get('text_payment_method');$data['text_comments'] = $this->language->get('text_comments');$data['text_loading'] = $this->language->get('text_loading');$data['button_continue'] = $this->language->get('button_continue');if (empty($this->session->data['payment_methods'])) {$data['error_warning'] = sprintf($this->language->get('error_no_payment'), $this->url->link('information/contact'));} else {$data['error_warning'] = '';}if (isset($this->session->data['payment_methods'])) {$data['payment_methods'] = $this->session->data['payment_methods'];} else {$data['payment_methods'] = array();}if (isset($this->session->data['payment_method']['code'])) {$data['code'] = $this->session->data['payment_method']['code'];} else {$data['code'] = '';}if (isset($this->session->data['comment'])) {$data['comment'] = $this->session->data['comment'];} else {$data['comment'] = '';}$data['scripts'] = $this->document->getScripts();if ($this->config->get('config_checkout_id')) {$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation($this->config->get('config_checkout_id'));if ($information_info) {$data['text_agree'] = sprintf($this->language->get('text_agree'), $this->url->link('information/information/agree', 'information_id=' . $this->config->get('config_checkout_id'), 'SSL'), $information_info['title'], $information_info['title']);} else {$data['text_agree'] = '';}} else {$data['text_agree'] = '';}if (isset($this->session->data['agree'])) {$data['agree'] = $this->session->data['agree'];} else {$data['agree'] = '';}if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/checkout/payment_method.tpl')) {$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/checkout/payment_method.tpl', $data));} else {$this->response->setOutput($this->load->view('default/template/checkout/payment_method.tpl', $data));}}public function save() {$this->load->language('checkout/checkout');$json = array();// Validate if payment address has been set.if (!isset($this->session->data['payment_address'])) {$json['redirect'] = $this->url->link('checkout/checkout', '', 'SSL');}// Validate cart has products and has stock.if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {$json['redirect'] = $this->url->link('checkout/cart');}// Validate minimum quantity requirements.$products = $this->cart->getProducts();foreach ($products as $product) {$product_total = 0;foreach ($products as $product_2) {if ($product_2['product_id'] == $product['product_id']) {$product_total += $product_2['quantity'];}}if ($product['minimum'] > $product_total) {$json['redirect'] = $this->url->link('checkout/cart');break;}}if (!isset($this->request->post['payment_method'])) {$json['error']['warning'] = $this->language->get('error_payment');} elseif (!isset($this->session->data['payment_methods'][$this->request->post['payment_method']])) {$json['error']['warning'] = $this->language->get('error_payment');}if ($this->config->get('config_checkout_id')) {$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation($this->config->get('config_checkout_id'));if ($information_info && !isset($this->request->post['agree'])) {$json['error']['warning'] = sprintf($this->language->get('error_agree'), $information_info['title']);}}if (!$json) {$this->session->data['payment_method'] = $this->session->data['payment_methods'][$this->request->post['payment_method']];$this->session->data['comment'] = strip_tags($this->request->post['comment']);}$this->response->addHeader('Content-Type: application/json');$this->response->setOutput(json_encode($json));}} foreach ($results as $result) { if ($this->config->get($result['code'] . '_status')) { $this->load->model('payment/' . $result['code']); $method = $this->{'model_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total); if ($method) { if ($recurring) { if (method_exists($this->{'model_payment_' . $result['code']}, 'recurringPayments') && $this->{'model_payment_' . $result['code']}->recurringPayments()) { $method_data[$result['code']] = $method; } } else { $method_data[$result['code']] = $method; } } } } Змінено 13 червня 2015 користувачем Verelar Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Даже с указанием способа оплаты все равно выскакивает это. А не подскажите что это может быть.. какой текст там должен быть вместо кракозябров? Выкладываю оригинал /(WI(RV/2K2KrRcl݊RS3RKKԭ смотрите кодировку файлов в папке catalog\view\theme\default\template\checkout checkout.tpl Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 смотрите кодировку файлов в папке catalog\view\theme\default\template\checkout checkout.tpl Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 дело именно в кодировке проверьте языковой файл catalog\language\ нужный язык \checkout\checkout.php Надіслати Поділитися на інших сайтах More sharing options... Гість Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... сказали же добрый люди.. ПЕРЕСОХРАНИТЬ ФАЙЛ В КОДИРОВКЕ UTF-8 без BOM Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 Видать здесь спецы собрались экстра класса. Говорю что дело не в кодировке... Я вообще русский перевод удалил, символы все равно эти вылазиют при ЛЮБОМ раскладе. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Есть мысли? Код всех файлов я выложил выше. Если какие-то файлики необходимы еще.. добавлю.. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 Есть мысли? Есть. Ничего нового не услышите. Не верная кодировка одного из файлов. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Ясно, значит сути не добиться )) Кракозябры пропали после добавления новых методов оплаты.. вот такая мистика.. К файлам даже не прикасался. и кодировку не менял. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 абсолютно никакой мистики - еще во втором посте написал про указание метода оплаты нет метода - выдает ошибку а уже сам текст ошибки в кривой кодировке - поэтому и кракозябры Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування Где убрать кракозябры? Глючит шаблон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 смотрите кодировку файлов в папке catalog\view\theme\default\template\checkout checkout.tpl Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 дело именно в кодировке проверьте языковой файл catalog\language\ нужный язык \checkout\checkout.php Надіслати Поділитися на інших сайтах More sharing options... Гість Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... сказали же добрый люди.. ПЕРЕСОХРАНИТЬ ФАЙЛ В КОДИРОВКЕ UTF-8 без BOM Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 Видать здесь спецы собрались экстра класса. Говорю что дело не в кодировке... Я вообще русский перевод удалил, символы все равно эти вылазиют при ЛЮБОМ раскладе. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Есть мысли? Код всех файлов я выложил выше. Если какие-то файлики необходимы еще.. добавлю.. Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 Есть мысли? Есть. Ничего нового не услышите. Не верная кодировка одного из файлов. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Ясно, значит сути не добиться )) Кракозябры пропали после добавления новых методов оплаты.. вот такая мистика.. К файлам даже не прикасался. и кодировку не менял. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 абсолютно никакой мистики - еще во втором посте написал про указание метода оплаты нет метода - выдает ошибку а уже сам текст ошибки в кривой кодировке - поэтому и кракозябры Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Встановлення, оновлення, налаштування Где убрать кракозябры? Глючит шаблон
Гість Опубліковано: 13 червня 2015 Share Опубліковано: 13 червня 2015 Дело не в кодировке, даже когда я отключаю tpl (я переименвываю их по ftp), то все равно вылазиет код ДЕЛО ЯВНО В КОНТРОЛЛЕРЕ, кодировки не при чём... сказали же добрый люди.. ПЕРЕСОХРАНИТЬ ФАЙЛ В КОДИРОВКЕ UTF-8 без BOM Надіслати Поділитися на інших сайтах More sharing options...
Verelar Опубліковано: 13 червня 2015 Автор Share Опубліковано: 13 червня 2015 Видать здесь спецы собрались экстра класса. Говорю что дело не в кодировке... Я вообще русский перевод удалил, символы все равно эти вылазиют при ЛЮБОМ раскладе. Надіслати Поділитися на інших сайтах More sharing options...
Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Есть мысли? Код всех файлов я выложил выше. Если какие-то файлики необходимы еще.. добавлю.. Надіслати Поділитися на інших сайтах More sharing options...
shoputils Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 Есть мысли? Есть. Ничего нового не услышите. Не верная кодировка одного из файлов. Надіслати Поділитися на інших сайтах More sharing options... Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Ясно, значит сути не добиться )) Кракозябры пропали после добавления новых методов оплаты.. вот такая мистика.. К файлам даже не прикасался. и кодировку не менял. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 абсолютно никакой мистики - еще во втором посте написал про указание метода оплаты нет метода - выдает ошибку а уже сам текст ошибки в кривой кодировке - поэтому и кракозябры Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Verelar Опубліковано: 14 червня 2015 Автор Share Опубліковано: 14 червня 2015 Ясно, значит сути не добиться )) Кракозябры пропали после добавления новых методов оплаты.. вот такая мистика.. К файлам даже не прикасался. и кодировку не менял. Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 14 червня 2015 Share Опубліковано: 14 червня 2015 абсолютно никакой мистики - еще во втором посте написал про указание метода оплаты нет метода - выдает ошибку а уже сам текст ошибки в кривой кодировке - поэтому и кракозябры Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts