abonnent Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Привет, народ. Переделываю модуль от 2.3 под 3. Возникла сложность с твигом, т.к. я его не знаю. В общем есть такой код: <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> это обычный php, переделываю в твиг так: <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="{{ cs_group_shipping.language.language_id.shipping_name }}" placeholder="{{ entry_shipping_title }}" class="form-control" /> ругается на то, что в атрибуте value массив. подскажите что делать то??? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тут cs_group_shipping[ {{ language.language_id }} ] cs_group_shipping[{{ language.language_id }}] Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 3 минуты назад, chukcha сказал: тут cs_group_shipping[ {{ language.language_id }} ] cs_group_shipping[{{ language.language_id }}] так cs_group_shipping - тоже переменная Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 cs_group_shipping[language.language_id].shipping_name наверное так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 1 минуту назад, chukcha сказал: cs_group_shipping[language.language_id].shipping_name наверное так и не так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тут cs_group_shipping[ {{ language.language_id }} ] cs_group_shipping[{{ language.language_id }}] Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 3 минуты назад, chukcha сказал: тут cs_group_shipping[ {{ language.language_id }} ] cs_group_shipping[{{ language.language_id }}] так cs_group_shipping - тоже переменная Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 cs_group_shipping[language.language_id].shipping_name наверное так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 1 минуту назад, chukcha сказал: cs_group_shipping[language.language_id].shipping_name наверное так и не так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 3 минуты назад, chukcha сказал: тут cs_group_shipping[ {{ language.language_id }} ] cs_group_shipping[{{ language.language_id }}] так cs_group_shipping - тоже переменная Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 cs_group_shipping[language.language_id].shipping_name наверное так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 1 минуту назад, chukcha сказал: cs_group_shipping[language.language_id].shipping_name наверное так и не так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 cs_group_shipping[language.language_id].shipping_name наверное так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 1 минуту назад, chukcha сказал: cs_group_shipping[language.language_id].shipping_name наверное так и не так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 1 минуту назад, chukcha сказал: cs_group_shipping[language.language_id].shipping_name наверное так и не так Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 тренируйтесь, тем более я не знаю структуру вашего массива Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 Только что, chukcha сказал: тренируйтесь, тем более я не знаю структуру вашего массива могу предоставить код контроллера и шаблона Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 это контроллер: Спойлер <?php class ControllerExtensionShippingCs extends Controller { private $error = array(); public function index() { $this->load->language('extension/shipping/cs'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('cs', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_all_zones'] = $this->language->get('text_all_zones'); $data['text_none'] = $this->language->get('text_none'); $data['entry_shipping_title'] = $this->language->get('entry_shipping_title'); $data['entry_name'] = $this->language->get('entry_name'); $data['entry_cost'] = $this->language->get('entry_cost'); $data['entry_allcost'] = $this->language->get('entry_allcost'); $data['entry_newcost'] = $this->language->get('entry_newcost'); $data['entry_tax_class'] = $this->language->get('entry_tax_class'); $data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['button_add'] = $this->language->get('button_add'); $data['button_remove'] = $this->language->get('button_remove'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/shipping/cs', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); $this->load->model('localisation/language'); $data['languages'] = $this->model_localisation_language->getLanguages(); if (isset($this->request->post['cs'])) { $data['multiple_shippings']['cs'] = $this->request->post['cs']; } else { $data['multiple_shippings'] = $this->model_setting_setting->getSetting('cs'); } $this->load->model('localisation/tax_class'); $data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); $this->load->model('localisation/geo_zone'); $data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); //Error if (isset($this->error['name'])) { $data['error_name'] = $this->error['name']; } else { $data['error_name'] = array(); } if (isset($this->error['shipping_option'])) { $data['error_shipping_option'] = $this->error['shipping_option']; } else { $data['error_shipping_option'] = array(); } if (isset($this->request->post['cs_group_shipping'])) { $data['cs_group_shipping'] = $this->request->post['cs_group_shipping']; } else { $data['cs_group_shipping'] = $this->config->get('cs_group_shipping'); } if (isset($this->request->post['cs_status'])) { $data['cs_status'] = $this->request->post['cs_status']; } else { $data['cs_status'] = $this->config->get('cs_status'); } if (isset($this->request->post['cs_sort_order'])) { $data['cs_sort_order'] = $this->request->post['cs_sort_order']; } else { $data['cs_sort_order'] = $this->config->get('cs_sort_order'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/shipping/cs', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/shipping/cs')) { $this->error['warning'] = $this->language->get('error_permission'); } foreach ($this->request->post['cs_group_shipping'] as $language_id => $value) { if ((utf8_strlen($value['shipping_name']) < 1) || (utf8_strlen($value['shipping_name']) > 64)) { $this->error['name'][$language_id] = $this->language->get('error_name'); } } if (isset($this->request->post['cs'])) { foreach ($this->request->post['cs'] as $shipping_id => $shipping) { foreach ($shipping['shipping_description'] as $language_id => $shipping_description) { if ((utf8_strlen($shipping_description['name']) < 1) || (utf8_strlen($shipping_description['name']) > 64)) { $this->error['shipping_option'][$shipping_id][$language_id] = $this->language->get('error_shipping_option'); } } } } return !$this->error; } } это переделанный шаблон: Спойлер {{ header }}{{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">×</button> </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs_group_shipping[ {{ language.language_id }} ][shipping_name]" value="cs_group_shipping[language.language_id].shipping_name" placeholder="{{ entry_shipping_title }}" class="form-control" /> </div> {% if error_name.language.language_id %} <div class="text-danger">{{ error_name.language.language_id }}</div> {% endif %} {% endfor %} </td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> {% if cs_status %} <option value="1" selected="selected">{{ text_enabled }}</option> <option value="0">{{ text_disabled }}</option> {% else %} <option value="1">{{ text_enabled }}</option> <option value="0" selected="selected">{{ text_disabled }}</option> {% endif %} </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="{{ cs_sort_order }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required">{{ entry_name }}</td> <td>{{ entry_cost }}</td> <td>{{ entry_allcost }}</td> <td>{{ entry_newcost }}</td> <td>{{ entry_tax_class }}</td> <td>{{ entry_geo_zone }}</td> </thead> <tbody> {% set shipping_row = 0 %} {% if multiple_shippings.cs %} {% for multiple_shipping in multiple_shippings.cs %} <tr id="shipping-row{{ shipping_row }}"> <td class="text-left"> {% for language in languages %} <div class="input-group required"> <span class="input-group-addon"> <img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /> </span> <input type="text" name="cs[{{ shipping_row }}][shipping_description][{{language.language_id}}][name]" value="{{ multiple_shipping.shipping_description }}[{{language_id }}]['name']; ?>" placeholder="{{ entry_name }}" class="form-control" /> </div> {% if error_shipping_option.shipping_row.language.language_id %} <div class="text-danger">{{ error_shipping_option.shipping_row.language.language_id }}</div> {% endif %} {% endfor %} </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][cost]" value="{{multiple_shipping.cost}}" placeholder="{{entry_cost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][allcost]" value="{{multiple_shipping.allcost}}" placeholder="{{entry_allcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[{{shipping_row}}][newcost]" value="{{multiple_shipping.newcost}}" placeholder="{{entry_newcost}}" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{shipping_row}}][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0">{{text_none}}</option> {% for tax_class in tax_classes %} {% if tax_class.tax_class_id == multiple_shipping.cs_tax_class_id %} <option value="{{ tax_class.tax_class_id }}" selected="selected">{{ tax_class.title }}</option> {% else %} <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option> {% endif %} {% endfor %} </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[{{ shipping_row }}][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0">{{ text_all_zones }}</option> {% for geo_zone in geo_zones %} {% if geo_zone.geo_zone_id == multiple_shipping.cs_geo_zone_id %} <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> {% else %} <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> {% endif %} {% endfor %} </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row{{ shipping_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> {% set shipping_row = shipping_row + 1 %} {% endfor %} {% endif %} </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="{{ button_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> {% block javascripts %} <script> var shipping_row = {{ shipping_row }}; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; {% for language in languages %} html += '<div class="input-group required"><span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][{{ language.language_id }}][name]" value="" placeholder="{{ entry_name }}" class="form-control" /></div>'; {% endfor %} html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="{{ entry_cost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="{{ entry_allcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="{{ entry_newcost }}" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for tax_class in tax_classes %} html += ' <option value="{{ tax_class.tax_class_id }}">{{ tax_class.title }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0">{{ text_none }}</option>'; {% for geo_zone in geo_zones %} html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option>'; {% endfor %} html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); {% set shipping_row = shipping_row + 1 %} } </script> {% endblock %} </div> {{ footer }} а это оригинальный шаблон: Спойлер <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-layout" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">×</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-layout" class="form-horizontal"> <table class="table table-striped table-bordered table-hover"> <tr> <td class="text-left"> <?php foreach($languages as $language){ ?><div class="input-group required"> <span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span> <input type="text" name="cs_group_shipping[<?php echo $language['language_id']; ?>][shipping_name]" value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" placeholder="<?php echo $entry_shipping_title; ?>" class="form-control" /> </div> <?php if (isset($error_name[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_name[$language['language_id']]; ?></div> <?php } ?> <?php } ?></td> <td colspan="4" style="min-width: 170px;"><select name="cs_status" id="input-status" class="form-control"> <?php if ($cs_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><input type="text" name="cs_sort_order" value="<?php echo $cs_sort_order; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> </tr> </table> <table id="shiping" class="table table-striped table-bordered table-hover"> <thead> <td class="required"><?php echo $entry_name;?></td> <td><?php echo $entry_cost;?></td> <td><?php echo $entry_allcost;?></td> <td><?php echo $entry_newcost;?></td> <td><?php echo $entry_tax_class;?></td> <td><?php echo $entry_geo_zone;?></td> </thead> <tbody> <?php $shipping_row = 0; ?> <?php if(!empty($multiple_shippings['cs'])){ ?> <?php foreach($multiple_shippings['cs'] as $multiple_shipping){ ?> <tr id="shipping-row<?php echo $shipping_row; ?>"> <td class="text-left"><?php foreach($languages as $language){ ?><div class="input-group required"><span class="input-group-addon"> <img src="language/<?php echo $language["code"]; ?>/<?php echo $language["code"]; ?>.png" title="<?php echo $language["name"]; ?>" /> </span><input type="text" name="cs[<?php echo $shipping_row; ?>][shipping_description][<?php echo $language['language_id']; ?>][name]" value="<?php echo $multiple_shipping['shipping_description'][$language['language_id']]['name']; ?>" placeholder="<?php echo $entry_name; ?>" class="form-control" /> </div> <?php if (isset($error_shipping_option[$shipping_row][$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_shipping_option[$shipping_row][$language['language_id']]; ?></div> <?php } ?> <?php } ?> </td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][cost]" value="<?php echo $multiple_shipping['cost']; ?>" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][allcost]" value="<?php echo $multiple_shipping['allcost']; ?>" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 120px;"><input type="text" name="cs[<?php echo $shipping_row; ?>][newcost]" value="<?php echo $multiple_shipping['newcost']; ?>" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_tax_class_id]" id="input-tax-class" class="form-control"> <option value="0"><?php echo $text_none; ?></option> <?php foreach ($tax_classes as $tax_class) { ?> <?php if ($tax_class['tax_class_id'] == $multiple_shipping['cs_tax_class_id']) { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>" selected="selected"><?php echo $tax_class['title']; ?></option> <?php } else { ?> <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-right" style="min-width: 170px;"><select name="cs[<?php echo $shipping_row; ?>][cs_geo_zone_id]" id="input-geo-zone" class="form-control"> <option value="0"><?php echo $text_all_zones; ?></option> <?php foreach ($geo_zones as $geo_zone) { ?> <?php if ($geo_zone['geo_zone_id'] == $multiple_shipping['cs_geo_zone_id']) { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>" selected="selected"><?php echo $geo_zone['name']; ?></option> <?php } else { ?> <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option> <?php } ?> <?php } ?> </select></td> <td class="text-left"><button type="button" onclick="$('#shipping-row<?php echo $shipping_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> </tr> <?php $shipping_row++; ?> <?php } ?> <?php } ?> </tbody> <tfoot> <tr> <td colspan="6"></td> <td class="text-left"><button type="button" onclick="addShipping();" data-toggle="tooltip" title="<?php echo $button_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> </tr> </tfoot> </table> </form> </div> </div> </div> <script type="text/javascript"><!-- var shipping_row = <?php echo $shipping_row; ?>; function addShipping() { html = '<tr id="shipping-row' + shipping_row + '">'; html += '<td class="text-left">'; <?php foreach($languages as $language){ ?> html += '<div class="input-group required"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>'; html += ' <input type="text" name="cs[' + shipping_row + '][shipping_description][<?php echo $language['language_id']; ?>][name]" value="" placeholder="<?php echo $entry_name; ?>" class="form-control" /></div>'; <?php } ?> html += '</td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][cost]" value="" placeholder="<?php echo $entry_cost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][allcost]" value="999999999999" placeholder="<?php echo $entry_allcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><input type="text" name="cs[' + shipping_row + '][newcost]" value="" placeholder="<?php echo $entry_newcost; ?>" class="form-control" /></td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_tax_class_id]" id="input-tax-class" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($tax_classes as $tax_class) { ?> html += ' <option value="<?php echo $tax_class['tax_class_id']; ?>"><?php echo $tax_class['title']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><select name="cs[' + shipping_row + '][cs_geo_zone_id]" id="input-geo-zone" class="form-control">'; html += ' <option value="0"><?php echo $text_none; ?></option>'; <?php foreach ($geo_zones as $geo_zone) { ?> html += ' <option value="<?php echo $geo_zone['geo_zone_id']; ?>"><?php echo $geo_zone['name']; ?></option>'; <?php } ?> html += ' </select>'; html += ' </td>'; html += ' <td class="text-left"><button type="button" onclick="$(\'#shipping-row' + shipping_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; html += '</tr>'; $('#shiping tbody').append(html); shipping_row++; } //--></script></div> <?php echo $footer; ?> Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Спойлер Для этого придумали спойлер Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 7 декабря 2017 Автор Поделиться Опубликовано: 7 декабря 2017 7 минут назад, AlexDW сказал: value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" value="{{ cs_group_shipping[ language.language_id].shipping_name }}" обратите внимание на пробел перед language (если он у вас действительно есть в php варианте) а что такого в этом пробеле? это просто массив в массиве Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 да по старой памяти наложилось вообще - должно работать попробуйте так value="{{ cs_group_shipping[language.language_id] ? cs_group_shipping[language.language_id].shipping_name }}" Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 7 декабря 2017 Поделиться Опубликовано: 7 декабря 2017 Я уже обратил внимание на пробел, но в другом месте.. value="<?php echo $cs_group_shipping[ $language['language_id']]['shipping_name'];?>" php это съест cs_group_shipping[ language.language_id].shipping_name твиг - не знаю cs_group_shipping[language.language_id].shipping_name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) Всем привет. Попробовал вчера ваши предложения, но почему-то не работает. То ли лыжи не едут, то ли я долбанутый. Должна вернуться строка, а возвращается массив. В БД сохранилось вот это значение: {" 1 ":{"shipping_name":"7"}} Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
shoputils Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Кеш твига обновлён после изменений? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 В twig через точку идет обращение к объекту. Доступ к элементам многомерного массива осуществляется как в php {{ myVar[0][1] }} {{ myVar[0][a(n-2)] }} Twig как получить значение из двумерного массива - PHP Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
lexxkrt Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Есть вопрос по контроллеру. В контроллере грузишь языковые переменные, разве в ОС3 надо их грузить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 32 минуты назад, lexxkrt сказал: разве в ОС3 надо их грузить? Не обязательно, это делает событие Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 11 часов назад, chukcha сказал: твиг - не знаю твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 7 минут назад, AlexDW сказал: твиг тоже по теме, тс явно с самим массивом намудрил конструкция выше у меня прекрасно работает в общем дело в том, что значение (value) не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 а оно есть? посмотрите <input name Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 1 минуту назад, chukcha сказал: а оно есть? посмотрите <input name ну, конечно, я же его записываю. но после сохранения ничего не выводится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 8 декабря 2017 Поделиться Опубликовано: 8 декабря 2017 Я вам показал лишний пробел, вы исправили? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 23 минуты назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? Только вечером будет возможность проверить Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Twig twig
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 3 часа назад, chukcha сказал: Я вам показал лишний пробел, вы исправили? В общем все пробелы удалил, но это не решило ничего. Данные в БД улетают, но не выводятся Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
abonnent Опубликовано: 8 декабря 2017 Автор Поделиться Опубликовано: 8 декабря 2017 (изменено) кто-нибудь знает как распечатать массив в твиге? print_r . когда пишу это {{ dump(user) }} выводится белая страница Изменено 8 декабря 2017 пользователем abonnent Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения