LojaExemplo: Como trocar a categoria de um produto depois de cadastra-lo

  • Olá,

    Sei que muitos lojistas que utilizam o sistema da Locaweb devem arrancar os cabelos quando precisam mudar as categorias de um produto cadastrado, pois o sistema não permite essa troca. Ou seja, é necessário apaga-lo para depois cadastrar novamente, e fazer isso para vários produtos não é nada rápido. Baseado neste problema segue uma modificação para ser aplicado em sua lojaExemplo:

    Troque o seguinte trecho em vermelho do arquivo ADM_altera_produto.asp:

    OBS: NÃO COPIE E COLE OS CÓDIGOS DO POST! ESTES SÃO APENAS PARA REFERÊNCIA. UM DOS PROBLEMAS QUE VAI DAR SE TENTAR COPIAR O CÓDIGO DO POST É COM RELAÇÃO AS ASPAS, QUE NO POST ESTÃO ASSIM ” POR PADRÃO. PARA EVITAR ERROS DIGITE AS ASPAS .

    </tr>

    <tr class=”Linha1Tabela”>
    <td align=”right”><B>&nbsp;CATEGORIA:</B></td>
    <td readonly><%Call Cria_Combo_Categoria_ADM( codigo_categoria,”disabled”,varLang)%></td>
    </tr>

    Colocar este trecho em vermelho:

    <tr class=”Linha1Tabela”>
    <td align=”right”><B>&nbsp;CATEGORIA:</B></td>
    <td ><%Call Cria_Combo_Categoria_ADM( codigo_categoria,”enabled”,varLang)%></td>
    </tr>

    No arquivo ADM_InsereAltProduto.asp troque o trecho em vermelho :

    End If

    End If

    codigo_categoria = myFileUpload.Form(“codigo_categoria”)

    ‘Definição da mensagem de resposta da ação administrativa (acao_admin)
    If myFileUpload.form(“acao_admin”) = “novo registro” Then

    Pelo seguinte trecho em vermelho:

    End If

    End If

    categoria_temp = Split(myFileUpload.Form(“codigo_categoria”), “,”)
    codigo_categoria = categoria_temp(0)

    Definição da mensagem de resposta da ação administrativa (acao_admin)
    If myFileUpload.form(“acao_admin”) = “novo registro” Then

    Ainda no arquivo ADM_InsereAltProduto.asp adicione o trecho em vermelho na mesma localização em sua loja :

    RS_Produto.LockType = 3

    ‘Se a se acao_admin for alterar registro
    If myFileUpload.Form(“acao_admin”) = “alterar registro” Then

    ‘Se existir um codigo chave para este registro, indica que categoria está cadastrada com idioma da consulta
    If codigo_produto <> “” And Replace(VetorCodigoChave,”,”,””) <> 0 Then
    RS_Produto.Open “SELECT codigo_chave, codigo_produto, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_produto_loja, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, preco_base, preco_unitario, desconto, frete_gratis,  sul, sudeste, centro, norte, nordeste, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, frete, destaque_vitrine, promocao, data_inicio, data_fim, meta_keywords, meta_descricao, disponivel, sigla_idioma FROM Produtos WHERE codigo_chave = ” & Replace(VetorCodigoChave,”,”,””) & ” AND sigla_idioma = ‘”& Trim(VetorIdioma) &”‘”, Conexao

    ‘consulta subcategoria
    if myFileUpload.Form(“codigo_subcategoria”) <> “”  Then
    Set RS_SubCategorias = Server.CreateObject(“ADODB.Recordset”)
    RS_SubCategorias.CursorLocation = 3
    RS_SubCategorias.CursorType = 0
    RS_SubCategorias.LockType =  3
    ‘Executa a query de consulta
    RS_SubCategorias.Open “SELECT codigo_subcategoria, codigo_categoria FROM Subcategorias WHERE codigo_categoria = ” & codigo_categoria & ” AND codigo_subcategoria  = ” & myFileUpload.Form(“codigo_subcategoria”) & ” “,Conexao
    if RS_SubCategorias.recordcount = 0 Then
    Codigo_subcategoria = 0
    End if
    RS_SubCategorias.Close
    Set RS_SubCategorias = Nothing
    End if

    ‘Se não existir um codigo chave para este registro, indica que categoria não está cadastrada com idioma da consulta
    Else
    RS_Produto.Open “SELECT codigo_chave, codigo_produto, codigo_categoria, codigo_subcategoria, codigo_marca, codigo_produto_loja, nome_produto, descricao_produto, autor, codigo_isbn, tamanhos, cores, preco_base, preco_unitario, desconto,frete_gratis,  sul, sudeste, centro, norte, nordeste, moeda, quantidade_produto, img_produtoPQN, img_produtoGRD, img_produto_adic01PQN, img_produto_adic01GRD, img_produto_adic02PQN, img_produto_adic02GRD, img_produto_adic03PQN, img_produto_adic03GRD, peso, frete, destaque_vitrine, promocao, data_inicio, data_fim, meta_keywords, meta_descricao disponivel, sigla_idioma FROM Produtos WHERE sigla_idioma = ‘”& Trim(VetorIdioma) &”‘”, Conexao
    ‘Metodo que define a ação de novo registro
    RS_Produto.AddNew
    ‘Registra o codigo de categoria passado para este novo registro
    RS_Produto(“codigo_produto”) = request.querystring(“codigo_produto”)
    End If

    Pronto! agora já poderá alterar a categoria de qualquer produto.

    Forte abraço.
    Espero ter ajudado.



    Related Posts Plugin for WordPress, Blogger...




5 Comentarios

  • Ola, fiz a modificação, mas acontece um erro, por exemplo tinha um produto cadastrado em uma categoria, dai troquei ele de categoria até ai tudo bem, so que fui trocar mais uma vez de categoria, quando fiz isso ele aparece somente o nome do produto, o campo para o texto, a caixa de categoria mais para na subcategoria, não sai dali e não aparece mais nenhum outro campo. como posso resolver isso?

  • Comigo deu o mesmo erro.

  • Olá Aristeu,

    Corrigi no post acima o problema que o Andson apontou.

    Abraço.

  • Olá Andson,

    Corrigi o problema que apontou no post acima. Obrigado por reportar.

    Abraço.

  • Esta loja da Locaweb nao vale a pena. Existem muitas outras solucoes gratuitas que estao pleno desenvolvimento – Magento por exemplo.

    Alem de nao ser boa, o provedor Locaweb é o que há de pior. Este fim de semana ficou com 36 horas com meu site fora.

    Chequem o twitter e o statusblog. Só problemas.

Comente aqui

* Nome, Email e comentário são obrigatórios