Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 30.03.2007, 16:10   #1
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию Особенности "Tiny Iamge gallery"

В общем, есть в репозитории такая галерея как Tiny Iamge gallery (tiny_gallery). Результат ее работы выглядит примерно так (фото из другого эктса)


Принцип работы по идее - загрузка в массив фоток и потом с помощью джаваскрипта по нажатию на превьюшках видим большую картинку.
Сразу скажу, что есть другой экстеншен (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/ - реально ли это реализовать? Пользователь загрузил фотки на фтп и они оттуда бы и обрабатывались...
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress
Tod вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория