LojaExemplo: Como ocultar categorias sem produtos

  • Olá.

    Algo que muitas vezes acontece (e eu considero bem chato) é quando o cliente entra em uma loja com muitas categorias, porém várias delas estão sem nenhum produto cadastrado. Isso pode gerar uma desistência do cliente em navegar em sua loja.

    Como lojistas, vemos como sendo mais prático cadastrar todas as categorias para só depois ir colocando os produtos. E é isso que causa o desconforto citado acima.

    Para resolver este problema, esse script permitirá cadastrar as categorias à vontade, e só vão aparecer na loja as categorias que já tiverem algum produto cadastrado, evirando assim que o cliente entr em categorias vazias.

    Entre no arquivo “funcoes.asp” e procure a “função menu_categorias()”. Adicione o trecho vermelho:

    Else
    ‘Loop dos registros encontrados na tebela categorias
    DO UNTIL  RS_Categorias.EOF
    ‘ ######################## trecho retira categoria
    Set RS_Produtos_categoria = Server.CreateObject(“ADODB.Recordset”)
    Set RS_Produtos_categoria.ActiveConnection = Conexao
    RS_Produtos_categoria.CursorLocation = 3
    RS_Produtos_categoria.CursorType = 0
    RS_Produtos_categoria.LockType =  1
    ‘Executa a query de consulta
    RS_Produtos_categoria.Open “SELECT codigo_categoria FROM Produtos WHERE codigo_categoria = ” & RS_Categorias(“codigo_categoria”) & ” AND disponivel=1 “
    if not RS_Produtos_categoria.EOF Then
    ‘ ######################## fim trecho retira categoria
    ‘Atribui o calor do codigo_categoria a session(“codigo_categoria”)
    session(“codigo_categ”) = RS_Categorias(“codigo_categoria”)
    ‘Query de consulta a tabela subcategorias
    Query_subcategorias = “SELECT codigo_chave, codigo_subcategoria, codigo_categoria, nome_subcategoria, descricao_subcategoria, sigla_idioma FROM Subcategorias WHERE codigo_categoria = ” & session(“codigo_categ”) & ” AND sigla_idioma = ‘”&varLang&”‘ ORDER BY nome_subcategoria”

    Um pouco mais abaixo, adicione o trecho em vermelho:

    ‘Loop dos registros encontrados na tebela categorias

    DO UNTIL  RS_SubCategorias.EOF

    ‘ ######################## trecho retira subcategoria

    Set RS_Produtos_subcategoria = Server.CreateObject(“ADODB.Recordset”)

    Set RS_Produtos_subcategoria.ActiveConnection = Conexao

    RS_Produtos_subcategoria.CursorLocation = 3

    RS_Produtos_subcategoria.CursorType = 0

    RS_Produtos_subcategoria.LockType =  1

    ‘Executa a query de consulta

    RS_Produtos_subcategoria.Open “SELECT codigo_subcategoria FROM Produtos WHERE codigo_subcategoria = ” & RS_SubCategorias(“codigo_subcategoria”) & ” AND disponivel=1 “

    if not RS_Produtos_subcategoria.EOF Then

    ‘ ######################## fim trecho retira subcategoria

    If CDbl(RS_SubCategorias(“codigo_subcategoria”)) = CDbl(request(“codigo_subcategoria”)) Then

    Response.write “&nbsp;&nbsp;<span class=’MNlatesquerdaAtivo’>-</span> <a href=’produtos.asp?lang=”&varLang&”&tipo_busca=subcategoria&codigo_categoria=”&RS_Categorias(“codigo_categoria”)&”&codigo_subcategoria=”&RS_SubCategorias(“codigo_subcategoria”)&”‘ class=’MNlatesquerdaAtivo’>” & RS_SubCategorias(“nome_subcategoria”) & “</a></span><br>”

    Else

    Response.write “&nbsp;&nbsp;<span class=’MNlatesquerda’>-</span> <a href=’produtos.asp?lang=”&varLang&”&tipo_busca=subcategoria&codigo_categoria=”&RS_Categorias(“codigo_categoria”)&”&codigo_subcategoria=”&RS_SubCategorias(“codigo_subcategoria”)&”‘ class=’MNlatesquerda’>”& fontcolor & RS_SubCategorias(“nome_subcategoria”) & “</a></span><br>”

    End if

    ‘ ######################## trecho retira subcategoria

    End if  ’ fim do loop da função sumir subcategoria

    RS_Produtos_subcategoria.Close

    Set RS_Produtos_subcategoria = Nothing

    ‘ ######################## fim trecho retira subcategoria

    RS_SubCategorias.MoveNext

    LOOP

    %>

    </td>

    </tr>

    <%

    End If

    %>

    <tr>

    <td><img src=”config/templates/<%=varLang%>/<%=varSkin%>/regua1x1.gif” height=”1″></td>

    </tr>

    </table>

    <%

    ‘Fecha e libera da memória o objeto de Recordset de consulta a tabela Subcategorias

    RS_SubCategorias.Close

    Set RS_SubCategorias = Nothing

    ‘ ######################## trecho retira categoria

    End if  ’ fim do loop da função sumir categoria

    RS_Produtos_categoria.Close

    Set RS_Produtos_categoria = Nothing

    ‘ ######################## fim trecho retira categoria

    RS_Categorias.MoveNext

    Feito.

    OBS: NÃO COPIE E COLE OS CÓDIGOS DO POST. ESTE É SÓ PARA REFERENCIA.  UM DOS PROBLEMAS QUE VAI DAR SE TENTAR COPIAR O CÓDIGO DO POST É COM RELAÇÃO ÀS ASPAS, QUE NO POST ESTÃO ASSIM ” POR PADRÃO. PARA EVITAR ERROS, REDIGITE AS ASPAS NO CÓDIGO.


    Até a próxima!

    Abraço.



    Related Posts Plugin for WordPress, Blogger...




    agosto 23rd, 2010 | Jeann | Sem Comentários | Tags:,

Sobre o autor

Em breve.

Comente aqui

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