assinar: Posts | Comentários | Email

Produto indisponível no OsCommerce

15 comentários

Postado por Info-Macross em 02/fev/2009 na categoria OsCommerce

Acho que finalmente estou na reta final das configurações e adequações da minha loja OsCommerce, encontrei um módulo para o OsCommerce que mostra uma imagem dizendo que o produto está indisponível e não deixa a pessoa comprar o produto, isso será muito útil quando não tivermos mais em estoque algum produto. Na versão original do OsCommerce ele mostrava o que estava configurado caso o produto não estivesse no estoque, mas apenas na hora em que a pessoa entrava no carrinho para fechar a compra e isso é muito ruim, pois só depois de a pessoa colocar no carrinho vai descobrir que o produto está em falta.

Encontrei então uma contribuição feita pelo Valmy Gomes que resolve exatamente esse problema. Foi um pouco complicado para fazer rodar pelos seguintes motivos:

1º – Precisa alterar alguns arquivos a mão são eles: product_info.php, product_reviews.php, product_reviews_info.php, product_reviews_write.php, product_news.php e includes/modules/product_listing.php, são todos os arquivos que podem dar a opção de o cliente comprar o produto, onde será substituído por uma opção de mostrar que está indisponível caso o estoque esteja zerado;

2º – Para que funcione corretamente é preciso que no admin esteja configurado para que o estoque seja mostrado na loja, caso não queira, como foi o meu caso, as alterações fizeram com que a imagem de produto indisponível fosse mostrada em todos os produtos, para corrigir isso precisei acrescentar uma linha do arquivo index.php, aonde estava:

case ‘PRODUCT_LIST_NAME’:
$select_column_list .= ‘pd.products_name, ‘;
break;

alterei para:

case ‘PRODUCT_LIST_NAME’:
$select_column_list .= ‘pd.products_name, ‘;
$select_column_list .= ‘p.products_quantity, ‘;
break;

Assim ele carrega a quantidade que está no estoque mesmo sem mostrar na loja para o cliente;

3º – Outro problema foi que no tutorial de instalação que veio junto com o pacote, o nome da imagem que será colocada para os produtos que não tem estoque era ‘esgotado.gif‘ , mas esse nome só ia funcionar no arquivo product_info.php, foi preciso então alterar o nome da figura para ‘button_not_available.gif‘ e alterar no arquivo product_info.php de ‘esgotado.gif‘ para esse nome;

4º – Por último, o link da imagem somente atualizava a página e não ia para lugar algum. Para corrigir esse problema basta trocar o link dos arquivos para um link para ‘contact_us.php‘ ou algo parecido. Como queria que a pessoa pudesse deixar seu nome para que posteriormente possa ser avisada sobre a chegada do produto, encontrei um outro módulo, chamado ‘Ask a Product Question’ que serve justamente para a pessoa deixar seu nome, e-mail e um comentário opcional para receber informações a respeito daquele produto.  Para instalar basta copiar os arquivos e fazer as alterações que constam no tutorial, porém, como está em inglês eu precisei traduzir o arquivo ask_a_question.php para português e copiá-lo para a minha pasta da língua portuguesa.

Depois de instalar o Ask a Product Question alterei então os links das imagens de produto indisponível para que fossem diretamente para a página do Ask a Question, ficando assim cada link:

<a href=”‘ . tep_href_link(FILENAME_ASK_QUESTION,tep_get_all_get_params()) . ‘”>’ . tep_image_button(‘button_not_available.gif’, BOX_HEADING_NOTIFICATIONS);

Para baixar os arquivos para fazer as alterações para produtos indisponíveis e do Ask a Product Question os links são os seguintes:

Produto Esgotado – Not Available Product

Ask a Product Question

Ainda faltam várias coisas, já baixei um plugin para que avise o administrador do sistema quando o estoque zerar, não tive tempo para instalar e configurar ainda, mas aos poucos vou fazendo e postando aqui os resultados. Se tiver alguma pergunta deixe um comentário que terei maior prazer em lhe responder!

Até breve.

link do forum: http://www.omeunuke.com/modules.php?name=Forums&file=viewtopic&t=2877&highlight=produto+indispon%EDvel

Acompanhe o Blog!

Rss Feed
Rss Feed por e-mail
Twitter
  1. Cara Sandra,

    Boa tarde!

    Fiz a alteração do produto esgotado, postada por voce.
    Legal funcionou.

    Se possível, pode poderia ajudar-me para direcionar para o arquivo “contact_us.php”.

    Depois tentarei fazer o “ask_a_question” rodar, tambem não consegui ainda.

    Obrigado

    Osmar

  2. admin disse:

    Olá Osmar, que bom que conseguiu fazer, é esse mesmo o intuito do meu blog, depois de eu conseguir fazer as coisas conseguir passar para os outros também.
    Para você redirecionar para a página de contact_us basta trocar FILENAME_ASK_QUESTION para FILENAME_CONTACT_US dos links, que representa o nome do arquivo contact_us de dentro do arquivo includes/Filenames.php, você pode dar uma olhada lá para entender melhor, resumindo, o link ficará assim:
    ’ . tep_image_button(’button_not_available.gif’, BOX_HEADING_NOTIFICATIONS);
    Caso tenha mais alguma dúvida não deixe de perguntar.
    Um abraço

  3. William disse:

    Aqui não tem o arquivo product_news.php mas tem um outro com nome de new_product no qual a dica funcionou da mesma forma. Mas também não entendi como alterar o link para seção contatos como sugeriu. A dica que deu para o Osmar, pelo que entendi considerou a instalação dos dois módulos, mas tanto eu quanto ele só instalamos o primeiro.

    Queria saber se mesmo sem o segundo a dica já funciona e neste caso onde encontro o link para que a direcione para seção contatos apenas se for imagem de produto esgotado, mantendo a compra normal se tiver produto em estoque.

    Também não tem o arquivo product_listing.php no raiz como, talvez na pressa mencionou neste tópico, mas conforme orienta o readme, descobri que se encontra na pasta includes/modules.

    E pra ser bem chato (só quero ajudar) no firefox o nome dos arquivos está saindo muito da área branca de conteúdo, ficando por baixo dos anúncios da direita.

    • admin disse:

      Oi William!
      Obrigado por avisar do probleminha, já arrumei.
      Deve ser a versão do seu e do meu oscommerce, por isso a diferença do nome dos arquivos. Já alterei no post também sobre o arquivo product_listing, obrigada por avisar!
      Sim, dá sim para instalar só o primeiro módulo, aí na hora de chamar o link chame o arquivo contact_us.php, ou seja, trocando o FILENAME_ASK_QUESTION por FILENAME_CONTACT_US, logo acima na resposta do comentário do Osmar tem o link completo.
      Um abraço!

  4. William disse:

    Bom,

    Depois de várias tentativas e releituras do seu post finalmente entendi onde tenho que alterar este link. Abri cada arquivo mencionado aqui em cima como necessário alterar e busquei a imagem button_not_available.gif, já que seria mais fácil encontrar o link através dela. Pouco antes, na mesma linha tem o tal link para alterar conforme sua sugestão.

    • admin disse:

      Oi William!
      Que bom que conseguiu!
      Acabei de responder como fazer no outro comentário!
      Um abraço!

  5. William disse:

    Bom,

    Com a segunda parte da dica não está muito fácil. Tudo vai bem até alterar as informações de product_info.php de acordo com o readme que veio no módulo. Além de bagunçar meu template (aumentou a largura e mudou tudo de lugar) ainda recebi uma mensagem de erro:

    Fatal error: Cannot redeclare tep_show_category() (previously declared in …/includes/boxes/categories.php:13) in …/includes/boxes/categories.php on line 66

    Não vi nada neste arquivo, mas estou analisando linha-a-linha o código que me mandam alterar para ver se consigo incluir apenas o que é realmente importante no arquivo que já tenho.

    Ah… o módulo ASK_A_QUESTION já vem com um product_info.php mas ao menos pra mim só atrapalhou. Então estou usando o que já tinha e adaptando manualmente só o que é necessário.

    • admin disse:

      Olá William!
      Os módulos são mesmo muito incompatíveis, as vezes por causa da versão do OSC e tal, ou os caras esquecem algumas coisas eles mesmos, eu tive que alterar muitas coisas para fazer tudo funcionar…

  6. William disse:

    Opa… corrigindo… O erro não está na alteração que faço no product_info.php mas sim na página ask_a_question.php que é aberta quando o visitante deseja fazer pergunta sobre um produto.

  7. William disse:

    Realmente não sei como o ASK_A_QUESTION.php não deu problemas com você. Aqui o único jeito que consegui resolver foi assim incluindo as linhas relevantes deste arquivo dentro de contact_us.php e salvando este arquivo com o nome daquele. Deu um trabalhão mais funcionou. Só que este ask_a_question.php criado por mim para este template só vai funcionar para ele mesmo. Cada vez que eu usar este recurso em outro template terei a mesma dor de cabeça. O ideal seria o módulo se adequar ao template, como se fosse um include ou o ultrapassado iframe… sei lá. Vou pesquisar mais um pouco.

    • admin disse:

      Oi William, como faz um tempo já que fiz também precisei alterar várias coisas, eu particularmente acho que esses módulos do oscommerce deveriam ser mais simples, por exemplo, para instalar um modulo vc modifica determinado arquivo, depois quer instalar outro que te manda justamente o arquivo que vc alterou para substitui-lo aí vc tem que fazer tudo de novo nesse arquivo novo. é uma confusão, por isso tentei organizar ao máximo as coisas aqui, mesmo para eu lembrar como fiz, e mesmo assim as vezes nem eu lembro!
      é complicado demais….

  8. William disse:

    Exatamente. Se usarmos o arquivo que já vem no módulo bagunçamos o template em uso. Aí precisamos manipular na unha mesmo a cada novo módulo incluído. Bem chato isso. Por isso que é difícil encontrar coisas gratuitas sobre ele. OSCOMMERCE é bem ultrapassado infelizmente. Está vindo um novo mais atualizado e espero que algumas dessas coisas melhorem.

    Uma ótima alternativa é o MAGENTO mas o suporte em nosso idioma ainda não é dos melhores. Tanto quanto o CMS JOOMLA esta loja já está dentro dos padrões web e são bem melhores para instalar módulos e entender o código.

    • admin disse:

      Oi William!
      E quando que sai o OSC novo? Sabe?
      Seria uma boa se dessem uma melhorada nessas coisas….
      Quanto ao magento não tentei, o que tinha tentado era o VirtueMarket do Joomla, mas não deu certo, sem templates , sem suporte, nada feito…
      Um abraço

  9. William disse:

    Não sei quando sai, mas o Beta está lá para baixar. Vi muitas novidades nele e gostei de almentarem a proteção do admin. Vi um template com visual bem moderno, mas não sei se já existem muitas opções para esta versão. Tem uma loja free chamada prestashop também que tem fórum brasileiro. Não é uma comunidade muito grande mas é um projeto bem interessante também.

  10. William disse:

    Problemão aqui. Veja se acontece com você também. Se utilizarem a pesquisa todos os produtos listados estarão com botão “esgotado” no lugar do “comprar”. Está faltando mais alguma coisa… Talvez tenha que incluir uma das suas dicas em mais arquivos do que os citados acima. Estou tentando descobrir mas se alguém achar antes, poste aqui por favor.