Fabio, o esquema aqui nesse caso é o seguinte!:
eu fiz minha "loja virtual" toda em CGI no BFW, tem um formulario em CGI por onde cadastro os itens, que ficam salvos em arquivos texto no servidor, e quando acessam o site que é também em CGI ele monta a estrutura dos anuncios dos produtos "on the fly"
então fiz este gerador de XML para que estes produtos apareçam no Google Shopping, o Google Merchant (por onde se cria os anuncios pra aparecer no Shopping) tem como eu adicionar Feeds de Dados e programar pra baixar com hora agendada, então sempre que cadastro/removo/edito algum produto no meu site, eu já gero este XML que vai ser lido toda noite pelo Merchant pra ficar sempre atualizado.
Veja este é um XML pronto gerado:
http://www.digipaperinformatica.com/produtos.xmlo código do script gerador é extremamente simples:
- Código: Selecionar todos
#!/bin/sh
#Gerador de XML para WebLoja - daniel.uramg 04/2012
PATH="/partition/webloja"
PATHWEB="/partition/apache/htdocs/digipaperinformatica"
#CRIA ESTRUTURA INICIAL DO XML
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<rss xmlns:g=\"http://base.google.com/ns/1.0\" version=\"2.0\">
<channel>
<title>Digipaper Informática</title>
<link>http://www.digipaperinformatica.com</link>
<description>Computadores, impressoras, monitores e notebook usados com excelente qualidade e gatantia!</description>
">$PATHWEB/init.xml
#LE CADA ARQUIVO DOS PRODUTOS
ls $PATH/produtos | sort -n -r | while read ID; do
QTD=`grep "^Quantidade:" $PATH/produtos/$ID | sed 's/^Quantidade: //'`
ITEM=`grep "^Produto:" $PATH/produtos/$ID | sed 's/^Produto: //'`
VALOR=`grep "^Valor:" $PATH/produtos/$ID | sed 's/^Valor: //'`
CATEGORIA=`grep "^Categoria:" $PATH/produtos/$ID | sed 's/^Categoria: //'"`
PESO=`grep "^Peso:" $PATH/produtos/$ID | sed 's/^Peso: //'`
DESC=`grep "^Descrição:" $PATH/produtos/$ID | sed 's/^Descrição: //' | sed 's/%20/ /g' | sed 's/&/n/g' | sed 's/<[^>]*>//g' | sed 's/</ /g' | sed 's/>/ /g'`
MARCA=`grep "^Marca:" $PATH/produtos/$ID | sed 's/^Marca: //'"`
TIPO=`grep "^Tipo:" $PATH/produtos/$ID | sed 's/^Tipo: //'"`
[ -z "$TIPO" ] && TIPO="used"
#SE QUANTIDADE FOR MAIOR QUE "0" SEGUE
if [ "$QTD" -gt 0 ]; then
echo " <item>
<title>$ITEM</title>
<link>http://www.digipaperinformatica.com/?main=genhtml.cgi?PRODID=$ID</link>
<description>$DESC</description>
<g:id>$ID</g:id>
<g:brand>$MARCA</g:brand>
<g:condition>$TIPO</g:condition>
<g:price>R\$ $VALOR</g:price>
<g:availability>in stock</g:availability>
<g:image_link>http://www.digipaperinformatica.com/imagens/$ID-1.jpg</g:image_link>" >>$PATHWEB/init.xml
#SE EXISTIR SEGUNDA IMAGEM
if [ -e "$PATHWEB/imagens/$ID-2.jpg" ]; then
echo " <g:image_link>http://www.digipaperinformatica.com/imagens/$ID-2.jpg</g:image_link>" >>$PATHWEB/init.xml
#SE EXISTIR TERCEIRA IMAGEM
fi
if [ -e "$PATHWEB/imagens/$ID-3.jpg" ]; then
echo " <g:image_link>http://www.digipaperinformatica.com/imagens/$ID-3.jpg</g:image_link>" >>$PATHWEB/init.xml
fi
echo " <g:shipping>
<g:country>BR</g:country>
<g:service>Encomenda PAC - Correios</g:service>
<g:price>R\$ $VALOR</g:price>
</g:shipping>
<g:product_type>$CATEGORIA</g:product_type>
</item>
" >>$PATHWEB/init.xml
fi
done
#FECHA ESTRUTURA DO XML
echo " </channel>
</rss>" >>$PATHWEB/init.xml
#CONVERTE XML PARA CODIFICAÇÃO UTF-8
/usr/bin/iconv -f WINDOWS-1252 -t UTF-8 $PATHWEB/init.xml > $PATHWEB/produtos.xml
rm $PATHWEB/init.xml
a loja virtual tem umas falhas de segurança então por enquanto não posso postar as fontes dela, mas quando ageitar posto ela toda aqui no fórum também