Domanda

La mia domanda è su come e quando le immagini vengono create all'interno della cache di immagine del prodotto. In particolare, se viene eseguito questo codice:

$imageTag ='<br><img src="'.Mage::helper('catalog/image')->init($product ,
                'small_image')->resize(75).'" border="0" />';

E la seguente directory esiste con 777 permesso:

/media/catalog/product/cache/1/small_image/

Ma non c'è nessuna sottodirectory 75x/, sarà quella directory vengono creati e l'immagine ridimensionata memorizzata al posto giusto? O fa quel bisogno directory di essere disponibile (attraverso qualche altro processo) prima di tentare di ottenere l'URL per l'immagine ridimensionata utilizzando l'helper Magento?

È stato utile?

Soluzione

Leggi questa risposta, https://magento.stackexchange.com/a/1008/361

Il numero all'interno del URL non rappresenta le dimensioni di scala o pixel dell'immagine -. È la vista store

Tutte le directory / file vengono creati automaticamente il momento in cui il front-end viene visualizzato e viene eseguito il codice di ridimensionamento. Si tratta di che semplice.

Altri suggerimenti

Questa directory viene creata automaticamente. I nostri sviluppatori nel frontend cambiano regolarmente formati, senza creare alcuna directory.

 <?php
               $_file_name = $cat->getThumbnail(); // Here $cat is category data array                
$_media_dir = Mage::getBaseDir('media') . DS . 'catalog' . DS . 'category' . DS;
                $cache_dir = $_media_dir . 'resize' . DS; // Here i create a resize folder. for upload new category image

if (file_exists($cache_dir . $_file_name)) {
                             $catImg =Mage::getBaseUrl('media') .  'catalog' . DS . 'category' . DS . 'resize' . DS . $_file_name;
                         } elseif (file_exists($_media_dir . $_file_name)) {
                             if (!is_dir($cache_dir)) {
                                 mkdir($cache_dir);
                             }

                             $_image = new Varien_Image($_media_dir . $_file_name);
                             $_image->constrainOnly(true);
                             $_image->keepAspectRatio(false);
                             $_image->keepFrame(false);
                             $_image->keepTransparency(true);
                             $_image->resize(224, 174); // change image height, width
                             $_image->save($cache_dir . $_file_name);
                             $catImg = Mage::getBaseUrl('media') . 'catalog' . DS . 'category' . DS . 'resize' . DS . $_file_name;
                         }
 echo  $catImg ; // display resize category thumbnail imagename
 ?>

<img src="<?php echo $catImg;  ?>"  />

Ho trovato la soluzione del problema Qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top