Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Picture in new window for FCE (http://forum.typo3.ru/showthread.php?t=2094)

Tod 12.07.2007 01:26

Увеличение фотографий в FCE [Решение]
 
Ну вроде получилось то, что хотел... и с помощью TS. Не знаю пашет ли оно на ранних версиях TYPO3 и TV, я использовал 4.1.1 и 1.3.0.
Кроме того, фотка в новом окне отображается с логотипом в центре - типа копирайта, в качестве которого используется полупрозрачная png картинка.

Для этого мапим в шаблоне нужное место под будущую картинку, а потом в DS добавляем:

<TypoScript><![CDATA[

10 = IMG_RESOURCE
10 {
file = GIFBUILDER
file {
XY = [10.w],[10.h]
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
20 = IMAGE
20.offset = [10.w]-[20.w]/2,[10.h]-[20.h]/2
20.file = fileadmin/pictures/catalogue/logo.png
}
}
10.stdWrap.wrap = <a href="javascript:my_popup('|',

14 = TEXT
14.field = field_title
14.wrap = '|',

15 = TEXT
15.data = TSFE:lastImgResourceInfo|0
15.wrap = '|',

16 = TEXT
16.data = TSFE:lastImgResourceInfo|1
16.wrap = '|')">

20 = IMG_RESOURCE
20 {
file = GIFBUILDER
file {
XY = 149,125
offset = 149-[10.w]/2,125-[10.h]/2
transparentBackground = 1

10 = IMAGE
10 {
file.import = uploads/tx_templavoila/
file.import.current = 1
file.import.listNum = 0
file.maxW = 149m
#file.minW = 70
file.maxH = 125m
#file.minH = 57
}
}
}


20.stdWrap.wrap = <img src="|" title="" />

30 = HTML
30.value = </a>

]]></TypoScript>

Создаем файл popup_window.inc, куда пишем скрипт для отображение фотографии в новом окне:

<script>
function my_popup(img_scr,img_name,img_w,img_h) {
var generator=window.open('','name','width='+img_w+',h eight='+img_h+'');
generator.document.write('<html><head><title>'+img _name+'</title>');
generator.document.write('</head><body style="margin: 0px; padding: 0px;">');
generator.document.write('<a href="javascript:close()">');
generator.document.write('<img src="'+img_scr+'" style="border:0px;"/></a>');
generator.document.write('</body></html>');
}
</script>

Чтобы подключить его на сайт в настройках шаблона указываем:

page.headerData.20 = FILE
page.headerData.20.file = fileadmin/templates/popup_window.inc

зы. Огромное спасибо всем участвующем в решении проблемы!

Andrey Grey 04.10.2007 06:03

Спасибо за код.
Он у меня не заработал, но натолкнул на правильный ход мысли.

Тод, исправь пожалуйста ошибки в коде
в JS строчка:
Код:

var generator=window.open('','name','width='+img_w+',h eight='+img_h+'');
ну а вот мой интерпретированный вариант. он урезан. т.е. открывается не страница с кодом и указателем на картинку, а открывается просто картинка. соответственно закрытие по нажатию на картинку тоже отсутствует. но есть плюс. есть прямая ссылка на картинку, что и для пользователя и для поисковика всегда хорошо
и нет необходимости подключать дополнительный JS-код

Код:

5 = IMG_RESOURCE
5.file.import = uploads/tx_templavoila/
5.file.import {
        current = 1
          listNum = 0
}
5.stdWrap.wrap = &lt;a href="|" target="_blank" onclick="window.open(this.href,this.target,

7 = TEXT
7.data = TSFE:lastImgResourceInfo|0
7.wrap =  'width=|,

9 = TEXT
9.data = TSFE:lastImgResourceInfo|1
9.wrap = height=|,location=no,toolbar=no,menubar=no,status=no');return false;"&gt;       

        10 = IMAGE
        10.file.import = uploads/tx_templavoila/
        10.file.import.current = 1
        10.file.import.listNum = 0
        10.file.maxW = 215
        10.file.maxH = 161
        10.stdWrap.wrap = | &lt;/a&gt;


Tod 18.01.2008 17:39

Исправлял, форум не хочет:) Нет никаких пробелов или других символов

Grank 31.01.2008 22:24

generator.document.close(); ;-)


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

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