Jump to content

Problemi con le immagini


FraEmy

Recommended Posts


Salve community spero mi riuscirete a dare una risposta alla mia problematica.
Ho un e-commerce , ma devo passare sul portale di Presta Shop, ma non mi piace il fattore immagini.
Come posso fare, ogni immagine che carico e' sempre piccola e sgranata, poi se non ha le misure 600X600 mi compare un riquadro nero, che e' orrendo.
Inoltre le foto una volta ingrandite con il passaggio del mouse sono piccole e brutte, come posso fare ad aumentare le immagini al passaggio del mouse e a non far piu' comparire quel riquadro nero.
grazie per le vostre

Link to comment
Share on other sites

ciao,
non ho ben capito il problema che incontri.

le immagini sono gestite in bo (back office) in preferenze/immagini; qui puo settare le diverse grandezze che preferisci.. ma poi deve aggiornare il codice per far si che vengano visualizzate bene.
Per esempio le immagini home che sono quelle visualizzate quando selezioni la catagoria, io le ho portate a 180x360 perche mi servivano grandi e visibili, e non ho nessun problema;
ovviamente dipende anche dall'immagine che hai di base, per un ottimo risultato deve essere di dimensione sufficientemente grande.

Comunque per rispondere alla tua domanda, se hai le immgini di partenza grandi, presta si presta :-P a visualizzarle come si deve.

Se hai bisogno di altre informazioni non esitare a chiedere.

Ciroco

Link to comment
Share on other sites

ma cosa intendi per immagini abbastanza grandi? le mie immagini sono da 90 KB più o meno. Quelle della scheda prodotto da quanto devono essere per non visualizzare più il nero,non c'è un sistema che ti permetta di non modificare nulla? altrimenti qunto tempo dovrò perdere x inserire più di 20000 immagini? grazie

Link to comment
Share on other sites

la foto relativa al prodotto viene resa quadrata in automatico, a prescindere dal formato immesso. Questo per far si che venga resa bene nelle varie visualizzazioni (home, large medium ecc.). Nella scheda prodotto mi sembra che la dimensione di default sia 300x300 pixel; quindi se inserisci una foto per esempio di 300x600 sarà resa proporzionale in automatico, quindi non dovrebbe uscire nessuna fascia nera in visualizzazione. cliccando sull'immagine si apre l'immagine thickbox ,lo stesso generata in automatico, che di default è 1100x1100.. ed anche qui non dovrebbe esserci nessuna fascia nera. Questo lasciando le impostazioni di defualt. Devi verificare se nel Bo preferenze/prodotti è selezionato Immagine generata in:Automatico perche se c'è il ridimensionamento in larghezza o altezza probabilmente ti da questo prolema.
ciroco

Link to comment
Share on other sites

Ciao,
allora hai due possibilità

far fare lo sfondo di un colore diverso invece che nero e ho già scritto un post su come si fa cambiando una riga di codice sia per la 1.0 che per la 1.1

oppure creare le immagini già quadrate da te,
o addirittura se usi un import personalizzato crearle nei formati che ti servono e farle rinominare dall'import

Io uso iwatermark che è economico e mi permette di cambiare le immagini in un colpo con il prefisso che voglio,
20000 le fa in circa 15 minuti (ma con un computer vecchiotto).

Link to comment
Share on other sites

Ma si possono anche ingrandire di piu' le immagini.......
per esempio... nel formato immagini che vado a creare per il sito del mio datore di lavoro.
adesso ti faccio vedere :
queste sono le immagini che adesso questa azienda visualizza:
http://www.clickscreen.it/casbah/schedaprodotto.aspx?CategoryID=000037&ArticleID=0002LY
clicca su di una e vedi quanto e' grande...
mentre vedi questa :
http://www.newsoftservice.com/clickscreen/product.php?id_product=22
se la ingrandisci fa schifo ed e' anche piccolo il riquadro....
come faccio a farla grande come nel vecchio sito...
fammi sapere perche' lo devo consegnare la prossima settimana
grazie mille

Link to comment
Share on other sites

Ma si possono anche ingrandire di piu’ le immagini…….
per esempio… nel formato immagini che vado a creare per il sito del mio datore di lavoro.
adesso ti faccio vedere :
queste sono le immagini che adesso questa azienda visualizza:
http://www.clickscreen.it/casbah/schedaprodotto.aspx?CategoryID=000037&ArticleID=0002LY
clicca su di una e vedi quanto e’ grande…
mentre vedi questa :
http://www.newsoftservice.com/clickscreen/product.php?id_product=22
se la ingrandisci fa schifo ed e’ anche piccolo il riquadro….
come faccio a farla grande come nel vecchio sito…
fammi sapere perche’ lo devo consegnare la prossima settimana
grazie mille

Link to comment
Share on other sites

  • 3 weeks later...

la più semplice nella 1.1
images.inc.php:
riga 156

$white = imagecolorallocate($destImage, 255, 255, 255);

e questo è il codice colore trasformato in decimale,
o preparare tutte le immagini già in formato quadrato con un programma tipo iwatermark che c'è sia su pc che su mac
e che converte le immagini

Link to comment
Share on other sites

  • 10 months later...

Ciao
Avrei due domandine da farvi:
1) nella pagina di un prodotto è possibile fare in modo che il thickbox autoridimensioni l'immagine come avviene in altri cms come oscommerce senza dover utilizzare i settaggi che sono nel BO in preferenze --> immagini ,cioè senza una dimensione prefissata. A me interessa solamente l'autoridimensionamento del thichbox ,perchè quello automatico (immagini quadrate, che utilizzino i settaggi in preferenze--->immagine) a me va benissimo per il resto del sito.

2) come funziona il Metodo ridimensionamento miniature:manuale nel BO di ciascun prodotto?
mi sembra un pò strano, perchè bisogna creare i vari formati solo su di una foto in formato originale, bo forse ancora non ho capito come funziona.

bisogna intervenire in css/thickbox.css o themes/prestashop/thichbox.tpl o themes/prestashop/js/product.js o themes/prestashop/product.tpl ?


ciao

uso prestashop 1.2.5

Link to comment
Share on other sites

forse ho trovato una soluzione ,basta sostituire l' URL che fa riferimento alla foto (nella directory img/p) x.x.thickbox.jpg con quella che abbiamo caricato in fase di creazione scheda prodotto che sarebbe x.x.jpg ,credo debba essere fatta in product.tpl alle righe 102 e 117, ma devo ancora provare.
E' lo stesso procedimento che feci per cambiare l'immagini delle sottocategorie.

ciao

Link to comment
Share on other sites

Ho risolto a metà .rinominando il file x.x.jpg presente in img/p/ e con x.x-thinckbox.jpg (sostituzione) ,il tutto funziona per quel prodotto che ho modificato
alla riga 117 di product.tpl se cambio

getImageLink($product->link_rewrite, $imageIds, 'thickbox')}"


con

getImageLink($product->link_rewrite, $imageIds, 'large')}"


utilizza tutte le immagini large, ma per fargli usare quelle che immettiamo noi cioè x.x.jpg ,credo che debba intervenire nella funzione getImageLink() ,perchè con ' ' o '.' non visualizza nulla. Prende in considerazione solamente i gruppi di foto presenti in preferenze --> immagini
come faccio a reindirizzare sulla foto originale?

ciao

Link to comment
Share on other sites

La "funzione" GetImageLink,
come tutte le classi (o metodi) di PS,
li trovi in classes/
in questo caso ovviamente in Link.php

public function getImageLink($name, $ids, $type = null)
   {
       return ($this->allow == 1) ? (__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg') : (_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg');
   }

Link to comment
Share on other sites

Ciao disarci
grazie del tuo intervento.
Mi sembra un pò troppo difficile , ho provato a modificare Link.php e product.tpl ,in vari modi ma per le conoscenze che ho sul php ,per adesso è un pò troppo dura ( anche se lo sto studiando).
Che valori può assumere la variabile $type oltre a small, large ecc.?

Un'altra domanda :lo sfondo delle miniature ,cioè le varie immagini large, small ecc. (fatte in automatico da presta) hanno come colore di sfondo il bianco è possibile cambiarlo in un altro colore e come?
so farlo in questo modo: creando uno sfondo quadrato ,coloro lo sfondo e poi incollo la foto, ma poi tutte le foto compresa quella mia avrebbero dimensione quadrata con uno sfondo colorato e per l'ingrandimento della foto (thickbox) non potrei fare il giochetto (scambio thickbox con quella mia di cui ho fatto l'upload).

Riepilogo:
Quello che voglio sarebbe caricare l'immagine nella fase di aggiunta prodotto, con una dimensione variabile da prodotto a prodotto ,in questa fase ,una volta saputo come cambiare il colore dello sfondo alle miniature es. da bianco a rosa, verranno create le miniature di forma quadrata ,come di consueto, con sfondo rosa visualizzabili nel FO e poi nella sezione prodotto quando premo sulla foto, si apre la foto originale ovviamente senza alcuno sfondo colorato e con dimensioni pari a quelle della foto.

Tutto sta in quel GetImageLink ,che ad es. inserendo un valore nullo (in product.tpl) ,mi restituisce l'URL della mia immagine di cui ho fatto l'upload ,facendo la sostituzione delle foto thickbox funziona perfettamente ,ma per farlo fare in automatico a qualunque foto bisogna modificare Link.php

Forse è meglio se apro un topic su questo problema.

ciao

Link to comment
Share on other sites

Cambiare la funzione non è semplicissimo,
lo sarebbe stato di più cambiare la chiamata con un'altra...ma tenere i friendly url altrettanto difficile.

C'è un mio post per cambiare il colore di sfondo,
comunque in:
image.inc.php
c'è una variabile $white a cui assegna i colori in codice decimale, cambi quelli e rigenerando le immagini prendono il colore che vuoi.

Link to comment
Share on other sites

Ciao,

come faccio a reindirizzare sulla foto originale?

se nel file che hai indicato, product.tpl, elimini la chiamata thickbox, in questo modo (inserisco solo il codice tra le parentesi per evitare rimozione automatica)

{$link->getImageLink($product->link_rewrite, $imageIds)}"


la funzione getimagelink, richiama il file originale... quindi funzionicca, ma con queste limitazioni che ho notato al volo:

* per alcuni prodotti, l'img nel riquado della pagina prodotti, viene "allargata"; in una verisione pulita, con i prodotti demo, lo fa con l'ipod nano e ipod shuffle.. gli altri prodotti invece vengono visualizzati bene; non ho verificato perchè, ma credo dipenda dalla dimensione iniziale del file; ho provato ad inserire alcuni prodotti nuovi e non ci sono problemi.

* le img che utilizzerai al posto del tichkbox devono essere già ottimizate, poichè non saranno ridimensionate, quindi devono avere una base almeno necessaria a visualizzare il testo "immagine 1 di ecc.." e non devono essere enormi.


Fammi sapere gli sviluppi

Ciroco05

Link to comment
Share on other sites

Ciao ciroco05
pensavo mi avessi trascurato,
sto finendo di aggiustare i moduli sendtoafriend+captcha e productquestion+captcha ed contatti+captcha ,appena fatto mi riconcentro su getImageLink (a dire il vero avevo già provato in quel modo e poi aggiungendo un if nel caso $type fosse nulla ,ma non mi funzionava, però l'ho fatto in 5 minuti ,tra poco riprovo)
Che dici se metto nel forum i 3 moduli leggermente modificati, li ho trovati in quello inglese (ad eccezione di quello contatti+captcha che me lo faccio da me guardando gli altri due? Devo menzionare chi lo ha fatto?

mi diverto un sacco a studiare insieme a voi ,nella risoluzione di problemi, per fare un prestashop migliore

Dimenticavo ho trovato in quello francese un modulo spettacolare per la home si chiama blockslide3d (3d animation)


ciao

Link to comment
Share on other sites

Ciao,

Che dici se metto nel forum i 3 moduli leggermente modificati, li ho trovati in quello inglese (ad eccezione di quello contatti+captcha che me lo faccio da me guardando gli altri due? Devo menzionare chi lo ha fatto?

ovviamente solo se non sono a pagamento; per i credits, dipende da quanto c'è del tuo e quanto del modulo originale... io li metterei segnalando nel post che hai preso spunto da... mi sembra carino e corretto nei confronti del primo autore.

Dimenticavo ho trovato in quello francese un modulo spettacolare per la home si chiama blockslide3d (3d animation)
già provato ed installato sul mio sito.. è veramente molto carino ;-)

pensavo mi avessi trascurato,
di solito me lo dicono le ragazze... ;-P

Buon lavoro.

Ciroco05
Link to comment
Share on other sites

Ciao ciroco05
ho fatto come dici te su un sito che uso per fare delle prove (in un'altra webroot) e funziona solo se è disabilitato l' url-friendly ,se no appare un bel punto interrogativo
Adesso finisco di aggiungere i prodotti poi continerò a studiare una soluzione.
Però c'è qualcosa di strano ,nel sito di prova dopo averabilitato url-friendly sia la foto del prodotto che quella del thickbox hanno il ?, mentre in quello che sto sviluppando soltanto nel thickbox

se t'interessa il captcha guarda qui (ne uso di 2 tipi uno per sendtoafriend e per productquestion ed un altro per il contact-form) http://www.prestashop.com/forums/viewthread/41926/


ciao

Link to comment
Share on other sites

Ciao
allora vediamo se sbaglio nel fare queste affermazioni:
ci sono 3 operatori ternari

   public function getImageLink($name, $ids, $type = null)
   {
       return ($this->allow == 1) ? (__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg') : (_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg');
   }


provo a descriverla

($this->allow == 1) ? :    serve  a verificare se è attivo il mod rewriting (url-friendly)


se c'è restituisce questo

(__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg')


se no restituisce questo (in questo caso funziona e si capisce facilmente anche da questa riga di codice)

(_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg')



public function getImageLink($name, $ids, $type = null)


perchè assegnano a $type il valore null (funziona anche se si cancella = null), ed utilizzano questa verifica $type ? '-'.$type : '' per creare url nel caso sia diverso dal valore nullo aggiunge -thickbox o -large ecc. , se no niente nel caso dell'immagine originale ,avendo tolto da

href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox')}"    il ,'thickbox'


quindi il problema è qui

(__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg') 


aggiungo un pò di codice ,inerente al modulo imagesenlarge che dovetti cambiare, usando url-friendly per la home

If you use URL rewritting you have to edit enlargesimage.js

replace

var largeImg = imgPath+imgName.substr(0, imgName.length-9)+"-large.jpg";
var thickImg = imgPath+imgName.substr(0, imgName.length-9)+"-thickbox.jpg";
var homeImg = imgPath+imgName.substr(0, imgName.length-9)+"-home.jpg";
var smallImg = imgPath+imgName.substr(0, imgName.length-9)+"-small.jpg";

by

var largeImg = imgPath.replace(/-home/,"-large")+imgName.substr(0, imgName.length-9)+".jpg";
var thickImg = imgPath.replace(/-home/,"-thickbox")+imgName.substr(0, imgName.length-9)+".jpg";
var homeImg = imgPath.replace(/-home/,"-home")+imgName.substr(0, imgName.length-9)+".jpg";
var smallImg = imgPath.replace(/-home/,"-small")+imgName.substr(0, imgName.length-9)+".jpg";


Forse potrà dare qualche spunto

ciaoo

Link to comment
Share on other sites

[RISOLTO]

Trovata una soluzione soddisfacente ,per il momento (tutto da me o quasi ,perchè senza disarci e ciroco05, probabilmente non ci sarei riuscito) :-)
In product.tpl togliere 'thickbox' o mettere '' dalla riga 117 (deve essere considerato anche il restante della riga)

href="{$link->getImageLink($product->link_rewrite, $imageIds, '')}"


In classes/Link.php aggiungere le seguenti 3 righe alla 107 riga (l'ultima riga è spezzettata)

   public function getImageLink($name, $ids, $type = null)
   {
       if ($type == null)
               return (_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg');
       else
       return ($this->allow == 1) ? (__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg') : (_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg');
   }


Dato che senza url-friendly attivato, funzionava togliendo 'thinckbox' e basta ,allora ho pensato
che questa parte di codice andasse bene anche con url-friendly attivo

(_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg')


quel if serve per condizionare solo il comportamento di prestashop nella pagina dei prodotti .
E' sicuramente migliorabile, perchè adesso anche la foto centrale del prodotto fa riferimento a quella originale ,avendo tolto thichbox, ma ci studierò su forse così è proprio uguale a quello di oscommerce ecc.

ciaooo

che spettacolo

Link to comment
Share on other sites

In realtà mi sono già messo a studiare per capire come mai anche la foto del prodotto fa riferimento a quella del thichbox, boo
guardando il blocco di codice scritto sotto

       <!-- product img-->



in product.tpl a me sembra corretto ,perchè fa riferimento al type 'large'


bo
se qualcuno volesse partecipare
ciao

Link to comment
Share on other sites

Quasi risolto
Il problema è dato da id="bigpic" alla fine della riga 102
Funzionerebbe tutto bene ad eccezione:
perdita della manino sulla foto
e perdita del cambiamento della foto grande al passaggio del mouse sopra le piccole foto

Andrò alla ricerca del id="bigpic"

ciao

Link to comment
Share on other sites

Ho rimesso a posto bigpic e ritorna a funzionare per bene il javascript che cambia l'immagine
Bisogna studiare /themes/prestashop/js/product.js ,product.tpl e product.php e modificare il link alla foto. (credo)
Il tutto inizia ad essere un pò troppo complicato senza l'aiuto di qualche esperto (purtroppo non parlo francese e google translator mi aiuta fino ad uno certo punto)

Aspetto sempre con piacere qualche aiutino

Il problema esiste solamente quando entra in funzione product.js , basta avere più fotografie o combinazioni attive ,perchè la foto principale venga impostata su quella originale.
Senza combinazioni o con una immagine per prodotto funziona tutto alla perfezione
Meglio di prima è

ciao

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...