Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v1.x.
#36055
Pelo menos na minha opinião o cadastro de produtos na atual versão (1.5.5.1) foi piorado, veja figuras:

SISTEMA NOVO E PIORADO:
Imagem

SISTEMA ANTIGO:
Imagem

No novo sistema nem sempre ao digitar o nome da categoria, fabricante ou outros campos com o mesmo sistema aparecem as devidas solicitações.

Enfim, alguém sabe como voltar como era antes (se possivel com VQMOD) para não alterar o CORE.????

Muitíssimo obrigado
#36097
marcelomaffezoli, creio que descobri um bug nessa versão, pois fiz uma nova instalação e:

1 - Deletei todos os produtos e Categorias de exemplo.
2 - Cadastrei uma categoria e um produto novo
3 - Designei uma categoria ao produto, salvei e fechei.
4 - Reabri o produto para edição e a categoria antes designada não aparece e então eu altero alguma coisa (ou nao, tanto faz) e salvo.
5 - Reabro para edição novamente e continua sem a categoria, porem como salvei em branco na ultima reedição percebo que no front end o produto também sumiu.

Puxa vida, eu me pergunto, porque será que foram mexer ai... tava bom antes...
#36101
Olá,

Tenho dois clientes com OpenCart 1.5.5.1 e o erro que você citou não ocorre, acredito que possivelmente alguma modificação que você pode ter instalado ou feito, pode está causando o erro.

Espero ter ajudado. :D
#36444
Para ter os selects de volta e não ter que ficar digitando % edite os seguintes arquivos:
admin/controller/catalog/product.php a partir da linha 968 (estou usando o DW)
altere este: "Fabricante"
Código: Selecionar todos
/*$this->load->model('catalog/manufacturer');
		
    	if (isset($this->request->post['manufacturer_id'])) {
      		$this->data['manufacturer_id'] = $this->request->post['manufacturer_id'];
		} elseif (!empty($product_info)) {
			$this->data['manufacturer_id'] = $product_info['manufacturer_id'];
		} else {
      		$this->data['manufacturer_id'] = 0;
    	} 		
		
    	if (isset($this->request->post['manufacturer'])) {
      		$this->data['manufacturer'] = $this->request->post['manufacturer'];
		} elseif (!empty($product_info)) {
			$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($product_info['manufacturer_id']);
			
			if ($manufacturer_info) {		
				$this->data['manufacturer'] = $manufacturer_info['name'];
			} else {
				$this->data['manufacturer'] = '';
			}	
		} else {
      		$this->data['manufacturer'] = '';
    	} */
por este:
Código: Selecionar todos
$this->load->model('catalog/manufacturer');
		
    	$this->data['manufacturers'] = $this->model_catalog_manufacturer->getManufacturers();

    	if (isset($this->request->post['manufacturer_id'])) {
      		$this->data['manufacturer_id'] = $this->request->post['manufacturer_id'];
		} elseif (!empty($product_info)) {
			$this->data['manufacturer_id'] = $product_info['manufacturer_id'];
		} else {
      		$this->data['manufacturer_id'] = 0;
    	}
Categorias: linha 1004
este:
Código: Selecionar todos
// Categories
/*		$this->load->model('catalog/category');
		
		if (isset($this->request->post['product_category'])) {
			$categories = $this->request->post['product_category'];
		} elseif (isset($this->request->get['product_id'])) {		
			$categories = $this->model_catalog_product->getProductCategories($this->request->get['product_id']);
		} else {
			$categories = array();
		}
	
		$this->data['product_categories'] = array();
		
		foreach ($categories as $category_id) {
			$category_info = $this->model_catalog_category->getCategory($category_id);
			
			if ($category_info) {
				$this->data['product_categories'][] = array(
					'category_id' => $category_info['category_id'],
					'name'        => ($category_info['path'] ? $category_info['path'] . ' > ' : '') . $category_info['name']
				);
			}
		}*/
por este:
Código: Selecionar todos
$this->load->model('catalog/category');
				
		$this->data['categories'] = $this->model_catalog_category->getCategories(0);
		
		if (isset($this->request->post['product_category'])) {
			$this->data['product_category'] = $this->request->post['product_category'];
		} elseif (isset($this->request->get['product_id'])) {
			$this->data['product_category'] = $this->model_catalog_product->getProductCategories($this->request->get['product_id']);
		} else {
			$this->data['product_category'] = array();
		}
Agora em admin/view/template/catalog/product_form.tpl a partir da linha 225
este: Fabricantes
Código: Selecionar todos
<td>
             <!-- <input type="text" name="manufacturer" value="<?php echo $manufacturer ?>" /><input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id; ?>" />-->            
              </td>
por este
Código: Selecionar todos
<select name="manufacturer_id">
                  <option value="0" selected="selected"><?php echo $text_none; ?></option>
                  <?php foreach ($manufacturers as $manufacturer) { ?>
                  <?php if ($manufacturer['manufacturer_id'] == $manufacturer_id) { ?>
                  <option value="<?php echo $manufacturer['manufacturer_id']; ?>" selected="selected"><?php echo $manufacturer['name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $manufacturer['manufacturer_id']; ?>"><?php echo $manufacturer['name']; ?></option>
                  <?php } ?>
                  <?php } ?>
                </select>
Categorias: na linha 240
Código: Selecionar todos
<td><input type="text" name="category" value="" /></td>
por este
Código: Selecionar todos
<td><div class="scrollbox">
                  <?php $class = 'odd'; ?>
                  <?php foreach ($categories as $category) { ?>
                  <?php $class = ($class == 'even' ? 'odd' : 'even'); ?>
                  <div class="<?php echo $class; ?>">
                    <?php if (in_array($category['category_id'], $product_category)) { ?>
                    <input type="checkbox" name="product_category[]" value="<?php echo $category['category_id']; ?>" checked="checked" />
                    <?php echo $category['name']; ?>
                    <?php } else { ?>
                    <input type="checkbox" name="product_category[]" value="<?php echo $category['category_id']; ?>" />
                    <?php echo $category['name']; ?>
                    <?php } ?>
                  </div>
                  <?php } ?>
                </div></td>
Pronto, só isso, aqui está funcionando muito bem mesmo depois também de editar o produto.
Para não acontecer erros faça antes um bkp dos arquivos a serem alterados e preste muita atenção e vc terá sucesso.
Até logo.