Vai al contenuto

Negozio online...chi se ne intende di asp?


Dreamarco

Messaggi raccomandati

Ciao ragazzi, ho appena finito di realizzare questo negozio online:

http://www.torredeimaghi.it

ma c'è una cosa che non sono riuscito a fare

L'ho realizzato sfruttando un software open source chiamato MWOpen..

C'è una cosa che pero' non sono riuscito a fare...se per caso c'è qualche grande esperto di asp, invoco il suo aiuto...

Il catalogo è organizzato in supercategorie, vorrei inserire un logo per ogni supercategoria come mostro in questa foto:

esempio2.png

Ho chiesto aiuto anche sul sito ufficiale di mwopen ma pare che sia rimasto semideserto nessuno sa perchè

Grazie

http://www.dreamarco.it Dreamarco web designer
Link al commento
Condividi su altri siti

Innanzitutto complimenti per la grafica del sito mi piace molto.

vediamo se ho capito...

vuoi inserire un'immagine nella pagina catalogo.asp che cambi al cambiare della categoria.

la modifica da apportare al file catalogo.asp è semplicissima, prendi l'ID della categoria tramite un QueryString e lo metti in una variabile, sicuramente la pagina già lo fa da qualche parte per le sue query, in un codice tipo questo:

<% cat= Trim(Request.QueryString("scat")) %>

dopodiché inserisci dove ti serve un tag IMG con una immagine chiamata ad esempio tuopercorso/photo_<%=cat%>.jpg ed è fatta.

Ora devi modificare il backoffice per far in modo che inserendo o modificando una categoria tu possa caricare una immagine e contestualmente nominarla come sopra.

Purtroppo non conosco MWopen, quindi posso aiutarti solo in linea teorica.

Io nei miei lavori di solito procedo cosi:

nel file che aggiunge (o modifica) il record del DB, prima di chiudere recordset e connessione, metto l'id del record appena inserito o modificato in una variabile (che qui chiamerò fotoadd).

dopodiché metto a fine codice un response.redirect ad una pagina passandogli la variabile

<%

response.redirect("addphoto.asp?idn="& fotoadd)

%>

nella pagina addphoto.asp metto un campo nascosto con dentro la variabile di cui sopra ed un campo sfoglia per cercare l'immagine, il form farà il post sul file che si occupa di caricare e rinominare l'immagine photo_idcategoria.jpg .

il codice di quest'ultimo file te lo incollo completo perché è un pò difficile da spiegare:

<%

Sub BuildUploadRequest(RequestBin)

PosBeg = 1

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))

boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

boundaryPos = InstrB(1,RequestBin,boundary)

Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))

Dim UploadControl

Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))

Pos = InstrB(Pos,RequestBin,getByteString("name="))

PosBeg = Pos+6

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))

Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))

PosBound = InstrB(PosEnd,RequestBin,boundary)

If PosFile<>0 AND (PosFile<PosBound) Then

PosBeg = PosFile + 10

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))

FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

UploadControl.Add "FileName", FileName

Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))

PosBeg = Pos+14

PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))

ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

UploadControl.Add "ContentType",ContentType

PosBeg = PosEnd+4

PosEnd = InstrB(PosBeg,RequestBin,boundary)-2

Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

Else

Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))

PosBeg = Pos+4

PosEnd = InstrB(PosBeg,RequestBin,boundary)-2

Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

End If

UploadControl.Add "Value" , Value

UploadRequest.Add name, UploadControl

BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)

Loop

End Sub

Function getByteString(StringStr)

For i = 1 to Len(StringStr)

char = Mid(StringStr,i,1)

getByteString = getByteString & chrB(AscB(char))

Next

End Function

Function getString(StringBin)

getString =""

For intCount = 1 to LenB(StringBin)

getString = getString & chr(AscB(MidB(StringBin,intCount,1)))

Next

End Function

Response.Expires=0

Response.Buffer = TRUE

Response.Clear

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)

Dim UploadRequest

Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

contentType = UploadRequest.Item("sogg").Item("ContentType")

filepathname = UploadRequest.Item("sogg").Item("FileName")

filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))

value = UploadRequest.Item("sogg").Item("Value")

'--- struttura nuovonome:id_numerofoto.jpg -------

idn=UploadRequest.Item("idn").item("Value")

nuovonome="photo_"& idn &".jpg"

'Create FileSytemObject Component

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-11

Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/public") & "\"& nuovonome)

For i = 1 to LenB(value)

MyFile.Write chr(AscB(MidB(value,i,1)))

Next

MyFile.Close

%>

questo codice funziona cosi com'è, le uniche attenzioni che devi avere riguardano il percorso di caricamento, la cartella deve avere i permessi di scrittura abilitati, per non sbagliare nel codice sopra ho messo come cartella la public che solitamente ha questi permessi abilitati.

Link al commento
Condividi su altri siti

  • 2 settimane dopo...

Ciao interessa anche a me sta cosa ma volevo sapere il programma da te citato MWopen lo si può utilizzare su Mac?

Ho un fantastico super potere: sono invisibile alle donne..

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...