Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Особенности "Tiny Iamge gallery" (http://forum.typo3.ru/showthread.php?t=2983)

Tod 30.03.2007 16:10

Особенности "Tiny Iamge gallery"
 
В общем, есть в репозитории такая галерея как Tiny Iamge gallery (tiny_gallery). Результат ее работы выглядит примерно так (фото из другого эктса)
http://typo3.org/index.php?eID=tx_cm...91c3d191605183

Принцип работы по идее - загрузка в массив фоток и потом с помощью джаваскрипта по нажатию на превьюшках видим большую картинку.
Сразу скажу, что есть другой экстеншен (Simple Photo Gallery), который как бы "усовершенствует" работу Tiny Iamge gallery за счет того, что все картинки сразу не грузятся в массив, а подгружаются на страницу только после нажатия - но вот проблема в том, что при этой самой загрзки фоток обновляется вся страница - и каждый раз для пользователя (судя по себе) это слегка раздражает.

Вернемся к Tiny Iamge gallery. Основной файл class.tx_tinygallery_pi1.php содержит следующий код:
PHP код:

require_once(PATH_tslib."class.tslib_pibase.php");

class 
tx_tinygallery_pi1 extends tslib_pibase {
    var 
$prefixId "tx_tinygallery_pi1";        // Same as class name
    
var $scriptRelPath "pi1/class.tx_tinygallery_pi1.php";    // Path to this script relative to the extension dir.
    
var $extKey "tiny_gallery";    // The extension key.

    
function main($content,$conf)    {
        
$this->conf $conf;
        
#$this->pi_loadLL();

        
$images explode(','$this->cObj->data['image']);
        
$js 'tx_tinygallery_'.$this->cObj->data['uid'] . ' = new Array(); '"\n";
        
$bigimg '';
        
$thumbs '';
        
$i 0;
        foreach (
$images as $img) {
            if (
$i == 0) {
                
$bigimg $this->mkBigImg($img);
            }
            
$js .= $this->mkJs($img$i);
            
$thumbs .= $this->mkThumbs($img$i);
            
$i++;
        }
        
$content '<script language="JavaScript" type="text/javascript">'.$js.'</script>';
        
$content .= $bigimg .'<br />'.$thumbs;
        return 
$this->pi_wrapInBaseClass($content);
    }

    function 
mkBigImg($img) {
        
$imgconf $this->conf['image.'];
        
$imgconf['params'] .= ' name="tx_tinygallery_big_'.$this->cObj->data['uid'].'" ';
        
$imgconf['file'] = "uploads/pics/".$img;
        return 
$this->cObj->IMAGE($imgconf);
    }
    function 
mkThumbs($img$i) {
        
$imgconf $this->conf['thumb.'];
        
$imgconf['params'] .= ' onclick="document.images[\'tx_tinygallery_big_'.$this->cObj->data['uid'].'\'].src = tx_tinygallery_'.$this->cObj->data['uid'].'['.$i.'].src;" ';
        
$imgconf['file'] = "uploads/pics/".$img;
        return 
$this->cObj->IMAGE($imgconf);
    }
    function 
mkJs($img$i) {
        
$imgconf $this->conf['image.'];
        
$imgconf['file'] = "uploads/pics/".$img;
        
$imgcode =  $this->cObj->IMAGE($imgconf);
        
preg_match('/src="(.*?)"/'$imgcode$match);
        
$imgurl $match[1];

        
$js =  'tx_tinygallery_'.$this->cObj->data['uid']. '['.$i.'] = new Image(); '."\n";
        
$js .= 'tx_tinygallery_'.$this->cObj->data['uid']. '['.$i.'].src = \''.$imgurl.'\'; '."\n";
        return 
$js;
    }
}



if (
defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/tiny_gallery/pi1/class.tx_tinygallery_pi1.php"])    {
    include_once(
$TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/tiny_gallery/pi1/class.tx_tinygallery_pi1.php"]);


Есть тут строки типа, отвечающие за путь к файлу.
Код:

$imgconf['file'] = "uploads/pics/".$img;
То есть все картинки - превью и большие складываются в отдельную папку. Причем большие картинки ПО РАЗМЕРУ не изменяются, поэтому такое копирование смысла не имеет, как мне кажется))
Так вот я бы хотел сделать так, чтобы ссылки на большие картинки были где-то в fileadmin/pics/ - реально ли это реализовать? Пользователь загрузил фотки на фтп и они оттуда бы и обрабатывались...


Часовой пояс GMT +4, время: 04:26.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot