Campos Personalizados na Página de Categoria
Enviado: 30 Nov 2013, 11:16
Olá pessoal,
Recentemente eu comprei uma extensão para o Opencart que me permite criar campos personalizados para o produto. A extensão funciona muito bem na página de produtos, só que eu gostaria que o display dessas informações seja feito na página de categorias tb.
Eu tentei duplicar o código que ele utilizou na página de produtos para a página de categoria, mas vem em branco. Também tentei inserir o código do controler/product em controller/category e nada:
Eis abaixo:
catalog/controller/product/product.php:
catalog/model/catalog/product.php
e catalog/view/theme/*/template/product/product.tpl
Alguém poderia me ajudar?
Como é urgente e caso seja uma modificação muito grande e trabalhosa que não possa ser resolvida por aqui, estou disposta a pagar.
Os interessados por favor me mandem um email [carol.carizzo@gmail.com]com o valor ou o q é necessário para um orçamento.
Recentemente eu comprei uma extensão para o Opencart que me permite criar campos personalizados para o produto. A extensão funciona muito bem na página de produtos, só que eu gostaria que o display dessas informações seja feito na página de categorias tb.
Eu tentei duplicar o código que ele utilizou na página de produtos para a página de categoria, mas vem em branco. Também tentei inserir o código do controler/product em controller/category e nada:
Eis abaixo:
catalog/controller/product/product.php:
Código: Selecionar todos
$this->data['text_download'] = $this->language->get('text_download');
if ($this->config->get('cpf_fields')) {
$fields = $this->config->get('cpf_fields');
} else {
$fields = array();
}
$field_data = array();
if (!empty($product_info['cpf'])) {
$cpf = unserialize($product_info['cpf']);
} else {
$cpf = array();
}
$this->load->model('catalog/option');
foreach ($fields as $field) {
$option = $this->model_catalog_option->getOption($field['option_id']);
if ($option) {
if ($option['type'] == 'select' || $option['type'] == 'radio') {
$values = array();
$option_values = $this->model_catalog_option->getOptionValues($field['option_id']);
foreach ($option_values as $option_value) {
$selected = (!empty($cpf[$field['option_id']])) ? $cpf[$field['option_id']] : 0;
$values[] = array(
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'selected' => $selected
);
}
$field_data[] = array(
'name' => $option['name'],
'type' => $option['type'],
'status' => $field['status'],
'sort_order' => $field['sort_order'],
'values' => $values
);
} elseif ($option['type'] == 'checkbox') {
$values = array();
$option_values = $this->model_catalog_option->getOptionValues($field['option_id']);
foreach ($option_values as $option_value) {
$selected = (!empty($cpf[$field['option_id']]) && is_array($cpf[$field['option_id']]) && in_array($option_value['option_value_id'], $cpf[$field['option_id']])) ? $option_value['option_value_id'] : 0;
$values[] = array(
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'selected' => $selected
);
}
$field_data[] = array(
'name' => $option['name'],
'type' => $option['type'],
'status' => $field['status'],
'sort_order' => $field['sort_order'],
'values' => $values
);
} else {
$value = (!empty($cpf[$field['option_id']])) ? $cpf[$field['option_id']] : '';;
$field_data[] = array(
'name' => $option['name'],
'type' => $option['type'],
'status' => $field['status'],
'sort_order' => $field['sort_order'],
'value' => $value
);
}
}
}
$sort_order = array();
foreach ($field_data as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}
array_multisort($sort_order, SORT_ASC, $field_data);
$this->data['fields'] = array();
foreach ($field_data as $field) {
$this->data['fields'][] = $field;
}
catalog/model/catalog/product.php
Código: Selecionar todos
'cpf' => $query->row['cpf']e catalog/view/theme/*/template/product/product.tpl
Código: Selecionar todos
<?php foreach ($fields as $field) { ?>
<?php if ($field['status'] && (!empty($field['value']) || !empty($field['values']))) { ?>
<?php $selected = false; ?>
<?php if ($field['type'] == 'select' || $field['type'] == 'radio') { ?>
<?php foreach ($field['values'] as $value) { ?>
<?php if ($value['selected'] && !$selected) { ?>
<?php $selected = true; ?>
<span><?php echo $field['name']; ?></span>
<?php } ?>
<?php if ($value['selected'] == $value['option_value_id']) { ?>
<?php echo $value['name']; ?>
<?php } ?>
<?php } ?><?php if ($selected) { ?><br /><?php } ?>
<?php } elseif ($field['type'] == 'checkbox') { ?>
<?php $checkbox_value = ''; ?>
<?php foreach ($field['values'] as $value) { ?>
<?php if ($value['selected'] && !$selected) { ?>
<?php $selected = true; ?>
<span><?php echo $field['name']; ?></span>
<?php } ?>
<?php if ($value['selected'] == $value['option_value_id']) { ?>
<?php $checkbox_value .= $value['name'] . ', '; ?>
<?php } ?>
<?php } ?>
<?php echo substr($checkbox_value, 0, -2); ?><?php if ($selected) { ?><br /><?php } ?>
<?php } elseif ($field['type'] == 'file') { ?>
<span><?php echo $field['name']; ?></span>
<a href="index.php?route=product/product/download&file=<?php echo $field['value']; ?>"><?php echo $text_download; ?></a><br />
<?php } else { ?>
<span><?php echo $field['name']; ?></span>
<?php echo $field['value']; ?><br />
<?php } ?>
<?php } ?>
<?php } ?>Alguém poderia me ajudar?
Como é urgente e caso seja uma modificação muito grande e trabalhosa que não possa ser resolvida por aqui, estou disposta a pagar.
Os interessados por favor me mandem um email [carol.carizzo@gmail.com]com o valor ou o q é necessário para um orçamento.