Cataloger - Mostra solo le immagini uploadate

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
taxxi
Forum Members
Forum Members
Posts: 92
Joined: Sun May 14, 2006 8:22 pm

Cataloger - Mostra solo le immagini uploadate

Post by taxxi »

Ho modificato il modulo in modo che faccia vedere solo le immagini degli oggetti inseriti che sono state
uploadate. Cioe' se scegli 3 immagini per oggetto e ne uploadi solo 2...normalmente viene mostrata
la terza come NOIMAGE. Con la mia modifica non viene visualizzata.
Mi serviva perche' ho realizzato un sito dove alcuni prodotti hanno 2 immagini e altri 3 e non volevo che
rimanesse l'immagine standard NOIMAGE.

Eccovi le righe del codice da aggiungere:

file action.default.php

codice originale - linee da 12 a 20:

for ($i=1;$iconfig['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_f_'.$i.'_'.$fullSize.'.jpg');
array_push($thumbArray, $gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_t_'.$i.'_'.$thumbSize.'.jpg');

$this->smarty->assign('image_'.$i.'_url',$gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_f_'.$i.'_'.$fullSize.'.jpg');
$this->smarty->assign('image_thumb_'.$i.'_url',$gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_t_'.$i.'_'.$thumbSize.'.jpg'
);

codice modificato da linea 12 a 20:

for ($i=1;$iconfig['root_path'].'/uploads/images/catalog/'.$params['alias'].'_f_'.$i.'_'.$fullSize.'.jpg';
$imgpath = str_replace("\\", "/", $imgpath); //only for windows users
if (is_file($imgpath)) {
array_push($imageArray, $gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_f_'.$i.'_'.$fullSize.'.jpg');
array_push($thumbArray, $gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_t_'.$i.'_'.$thumbSize.'.jpg');
}
$this->smarty->assign('image_'.$i.'_url',$gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_f_'.$i.'_'.$fullSize.'.jpg');
$this->smarty->assign('image_thumb_'.$i.'_url',$gCms->config['root_url'].'/modules/Cataloger/Cataloger.Image.php?i='.$params['alias'].'_t_'.$i.'_'.$thumbSize.'.jpg'
);

Spero sia utile!! :D

Ciao!
alby

Re: Cataloger - Mostra solo le immagini uploadate

Post by alby »

Grande!

Inserisci il patch nel Forge così che possa eventualmente essere inserito in una prossima release.

Alby
taxxi
Forum Members
Forum Members
Posts: 92
Joined: Sun May 14, 2006 8:22 pm

Re: Cataloger - Mostra solo le immagini uploadate

Post by taxxi »

Fatto!! Speriamo venga presa in considerazione.  ;)
camilo

Re: Cataloger - Mostra solo le immagini uploadate

Post by camilo »

Grazie! Davvero utile!
taxxi
Forum Members
Forum Members
Posts: 92
Joined: Sun May 14, 2006 8:22 pm

Re: Cataloger - Mostra solo le immagini uploadate

Post by taxxi »

Ecco il codice dello stesso file ma per cataloger 0.5.3:

Code: Select all

<?php
	if (!isset($gCms)) exit;
	foreach ($params as $key=>$val) {
		$this->smarty->assign($key, $params[$key]);
	}
	$showMissing = '_'. $this->GetPreference('show_missing','1');
	$imageArray = array();
	$srcImgArray = array();
	$thumbArray = array();
        $imgcount = $this->GetPreference('item_image_count', '2');
        $fullSize = $this->GetPreference('item_image_size_hero', '400');
        $thumbSize = $this->GetPreference('item_image_size_thumbnail', '70');
	$numimages = 0;
        for ($i=1;$i<=$imgcount;$i++)
        {
		$imgpath = $gCms->config['root_path'].'/uploads/images/catalog/'.$params['alias'].'_t_'.$i.'_'.$thumbSize.$showMissing.'.jpg';
		$imgpath = str_replace("\\", "/", $imgpath);
	        if (is_file($imgpath))
   			$numimages++;
	}
        for ($i=1;$i<=$imgcount;$i++) {
		$imgpath = $gCms->config['root_path'].'/uploads/images/catalog/'.$params['alias'].'_t_'.$i.'_'.$thumbSize.$showMissing.'.jpg';
		$imgpath = str_replace("\\", "/", $imgpath);
		if ($numimages > 1)
			if (is_file($imgpath)) {
		        	array_push($imageArray, $this->imageSpec($params['alias'], 'f', $i, $fullSize));           
	    		        array_push($thumbArray, $this->imageSpec($params['alias'], 't', $i, $thumbSize));
	    		        array_push($srcImgArray, $this->srcImageSpec($params['alias'], $i));
		        }
            	$this->smarty->assign('image_'.$i.'_url', $this->imageSpec($params['alias'], 'f', $i, $fullSize));            
            	$this->smarty->assign('image_thumb_'.$i.'_url', $this->imageSpec($params['alias'], 't', $i, $thumbSize));
	    	$this->smarty->assign('src_image_'.$i.'_url', $this->srcImageSpec($params['alias'], $i));
	}
            
	$this->smarty->assign_by_ref('attrlist',$params['attrlist']);
	$this->smarty->assign_by_ref('image_url_array',$imageArray);
        $this->smarty->assign_by_ref('image_thumb_url_array',$thumbArray);
        $this->smarty->assign_by_ref('src_image_url_array',$srcImgArray);
	echo $this->ProcessTemplateFromDatabase('catalog_'.$params['sub_template']);	
?>
ciau!
Tax
Post Reply

Return to “Italian - Italiano”