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 11.11.2006 22:46

Picture in new window for FCE
 
TV 1.0.1.
Создаю 2 поля картинку и ссылку. В ТВ записан следующий код:
Код:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
    <ROOT type="array">
        <tx_templavoila type="array">
            <title>ROOT</title>
            <description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
        </tx_templavoila>
        <type>array</type>
        <el type="array">
            <field_rowpicture1 type="array">
                <tx_templavoila type="array">
                    <title>Row Picture1</title>
                    <sample_data type="array">
                        <numIndex index="0"></numIndex>
                    </sample_data>
                    <eType>imagefixed</eType>
                    <TypoScript>
        10 = IMAGE
        10.file = GIFBUILDER
        10.file {
                XY = 170,170
                10 = IMAGE
                10.file.import = uploads/tx_templavoila/
                10.file.import.current = 1
                10.file.import.listNum = 0
                10.file.maxW = 170
                10.file.minW = 170
                10.file.maxH = 170
                10.file.minH = 170
        }
                                                       
                                                                        </TypoScript>
                </tx_templavoila>
                <TCEforms type="array">
                    <config type="array">
                        <type>group</type>
                        <internal_type>file</internal_type>
                        <allowed>gif,png,jpg,jpeg</allowed>
                        <max_size>1000</max_size>
                        <uploadfolder>uploads/tx_templavoila</uploadfolder>
                        <show_thumbs>1</show_thumbs>
                        <size>1</size>
                        <maxitems>1</maxitems>
                        <minitems>0</minitems>
                    </config>
                    <label>Row Picture1</label>
                </TCEforms>
            </field_rowpicture1>
            <field_rowpicturelink type="array">
                <type>attr</type>
                <tx_templavoila type="array">
                    <title>Row Picture1 Link</title>
                    <sample_data type="array">
                        <numIndex index="0"></numIndex>
                    </sample_data>
                    <eType>link</eType>
                    <TypoScript>
        10 = TEXT
        10.typolink.parameter.current = 1
        10.typolink.returnLast = url
                                                        </TypoScript>
                    <proc type="array">
                        <HSC type="integer">1</HSC>
                    </proc>
                </tx_templavoila>
                <TCEforms type="array">
                    <config type="array">
                        <type>input</type>
                        <size>15</size>
                        <max>256</max>
                        <checkbox></checkbox>
                        <eval>trim</eval>
                        <wizards type="array">
                            <_PADDING type="integer">2</_PADDING>
                            <link type="array">
                                <type>popup</type>
                                <title>Link</title>
                                <icon>link_popup.gif</icon>
                                <script>browse_links.php?mode=wizard</script>
                                <JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
                            </link>
                        </wizards>
                    </config>
                    <label>Row Picture1 Link</label>
                </TCEforms>
            </field_rowpicturelink>
        </el>
    </ROOT>
</T3DataStructure>

Как бы мне сделать, чтобы картинка открывалась в отдельном окне?
Уже второй час с TSRef мучаюсь)) imageLinkWrap не хочет работать с ГИФБИЛДЕРОМ судя по всему, а любые изменения для Link field тоже что-то ни к чему не приводят...

Tod 17.11.2006 01:55

В TSref для typolink есть параметр JSwindow_params. Вопрос, как его заставить работать? Код например такой:
Код:

10.stdWrap.typolink.parameter = 11
10.stdWrap.typolink.target = 300x300
10.stdWrap.typolink.JSwindow_params = status=1,menubar=1,scrollbars=1,resizable=1,location=1,directories=1,toolbar=1

итог - просто открывается в новом окне... а не JS ((
в то время как работает:
Код:

10.stdWrap.typolink.parameter = 11 300x300

gunner 17.11.2006 13:45

Цитата:

Сообщение от Tod (Сообщение 8037)
Как бы мне сделать, чтобы картинка открывалась в отдельном окне?
Уже второй час с TSRef мучаюсь)) imageLinkWrap не хочет работать с ГИФБИЛДЕРОМ судя по всему, а любые изменения для Link field тоже что-то ни к чему не приводят...

второй час это мало =) сам убил на перечитывание tsref и поиски в google трое суток... задача похожая была, открыть в окне страницу на которую ссылается картинка... может чем-то тебе поможет:

Код:

                                        <TypoScript>
        10 = IMAGE
        10.file.import = uploads/tx_templavoila/
        10.file.import.current = 1
        10.file.import.listNum = 0
        10.file.maxW = 200
                                                       
        10.stdWrap.typolink.parameter.field = field_link_url
        10.stdWrap.typolink.parameter.noTrimWrap =| | 700x560:menubar=0,scrollbars=1,resizable=0,location=0,toolbar=0|
        10.altText.field = field_img_alttitle         
                                        </TypoScript>

не наступи на грабли: количество пробелов в .noTrimWrap имеет значение...

удачи =)

Tod 18.11.2006 01:19

РАБОТАЕТ!
Спасибо за помощь... штука по идее не раз еще пригодится.
---
еще бы толково указывать размеры этого нового окна, ну и передать ему возможность закрытия при клике на картинку. это реально?

gunner 23.11.2006 09:35

Цитата:

Сообщение от Tod (Сообщение 8137)
еще бы толково указывать размеры этого нового окна, ну и передать ему возможность закрытия при клике на картинку. это реально?

передать возможность закрытия при клике на картинку - точно реально:

Код:


                                        <TypoScript>
        10 = IMAGE
        10.file.import = uploads/tx_templavoila/
        10.file.import.current = 1
        10.file.import.listNum = 0
        10.file.maxW = 200
                                                       
        #10.stdWrap.typolink.parameter.field = field_link_url
        #10.stdWrap.typolink.parameter.noTrimWrap =| | 700x560:menubar=0,scrollbars=1,resizable=0,location=0,toolbar=0|
        #10.altText.field = field_img_alttitle         

        10.imageLinkWrap = 1
        10.imageLinkWrap.enable = 1
        10.imageLinkWrap.JSwindow = 1

        10.imageLinkWrap.bodyTag = &lt;BODY bgColor=black&gt;       
        10.imageLinkWrap.wrap = &lt;A href="javascript:close();"&gt; | &lt;/A&gt;
        10.imageLinkWrap.width = 800m
        10.imageLinkWrap.height = 600
        10.imageLinkWrap.JSwindow.expand = 10,15
                                        </TypoScript>

удачи =)

sdv 25.11.2006 08:38

Вопрос ... по моему по этой же теме ...
можно ли передать сюда какое-то значение?

Код:

10.imageLinkWrap.enable = 1
чтобы получить в форме возможность выбора (click enlarge), должна быть ссылка на картинке или нет, например через select ... ?

Pavel Antonov 25.11.2006 16:27

Цитата:

Сообщение от sdv (Сообщение 8238)
можно ли передать сюда какое-то значение?

enable является stdWrap, так что ответ - да можно.

sdv 25.11.2006 16:55

Цитата:

enable является stdWrap, так что ответ - да можно
Код:

                                                                        <TypoScript>
10 = IMAGE
10.altText.field = field_alt
10.titleText.field = field_title
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 166
10.file.width.field = field_width
10.file.height.field = field_height
10.imageLinkWrap = 1
10.imageLinkWrap.bodyTag = &lt;BODY bgColor=white&gt;       
10.imageLinkWrap.wrap = &lt;div class="r_image"&gt; &lt;A href="javascript:close();"&gt; | &lt;/A&gt;&lt;/div&gt;
10.imageLinkWrap.JSwindow = 1
10.imageLinkWrap.title = field_title
10.imageLinkWrap.JSwindow.newWindow = 0
10.imageLinkWrap.JSwindow.expand = 17,20
10.imageLinkWrap.enable  =  field_clickenlarge
10.imageLinkWrap.typolink.parameter.field=image_link
10.imageLinkWrap.typolink.extTarget = _blank
                                                        </TypoScript>

field_clickenlarge должен был приходить отсюда

Код:

<field_clickenlarge type="array">
        <type>attr</type>
        <tx_templavoila type="array">
                <title>ClickEnlarge</title>
                <sample_data type="array">
                        <numIndex index="0"></numIndex>
                </sample_data>
                <eType>select</eType>
        </tx_templavoila>
        <TCEforms type="array">
                <config type="array">
                        <type>select</type>
                        <items type="array">
                                <numIndex index="1" type="array">
                                        <numIndex index="0">Yes</numIndex>
                                        <numIndex index="1">1</numIndex>
                                </numIndex>
                                <numIndex index="2" type="array">
                                        <numIndex index="0">No</numIndex>
                                        <numIndex index="1">0</numIndex>
                                </numIndex>
                        </items>
                        <default>0</default>
                </config>
                <label>ClickEnlarge</label>
        </TCEforms>
</field_clickenlarge>

не понимаю такую вещь, field_width и field_height - предают значение (ширина/высота картинки), по аналогии думал и ноль из
Код:

<type>select</type>
прийдет ... а не получается ...

эта вот строка тоже не работает
Код:

10.imageLinkWrap.title = field_title
Названием страницы нового окна становится не значение "field_title", а наименование , field_title -так и пишет ...

в чем ошибка? Павел, подскажите, плиз ...

В TYPO3 новичок , как впрочем и в остальном ...

void 25.11.2006 17:12

imageLinkWrap.title - это НЕ stdWrap. Поэтому всё логично :)

sdv 25.11.2006 17:44

Цитата:

imageLinkWrap.title - это НЕ stdWrap. Поэтому всё логично
Хорошо, "НЕ stdWrap" - попытаюсь осмыслить, но вот здесь почему не работает?
Код:

10.imageLinkWrap.enable  =  field_clickenlarge
Цитата:

enable является stdWrap, так что ответ - да можно
PS В голове такая каша ... видимо состояние всех, кто только что взялся за typo3 ... :)

Pavel Antonov 25.11.2006 19:43

Цитата:

Сообщение от sdv (Сообщение 8245)
Код:

10.imageLinkWrap.enable  =  field_clickenlarge

Код:

10.imageLinkWrap.enable.field  =  field_clickenlarge
Читайте TSref про функцию stdWrap

sdv 25.11.2006 21:51

Спасибо, все заработало, читаю ... :)
Цитата:

Читайте TSref про функцию stdWrap
Вот наверное самое главное, что вынес из ответов на свои вопросы:

Выдежка из TSref:
Цитата:

enable | boolean /stdWrap | Изображение связывается ТОЛЬКО если это значение – правда(true)!! | 0
boolean /stdWrap - может это для всех и очевидно, а я только сейчас понял, что это видимо означает либо boolean, либо функция stdWrap ...
Так глядишь и с документацией научусь работать ... :D . Сразу многое встало на свои места ... Еще раз спасибо ...

Pavel Antonov 26.11.2006 14:55

Цитата:

Сообщение от sdv (Сообщение 8250)
boolean /stdWrap - может это для всех и очевидно, а я только сейчас понял, что это видимо означает либо boolean, либо функция stdWrap ...
Так глядишь и с документацией научусь работать ... :D . Сразу многое встало на свои места ... Еще раз спасибо ...

Без TSref в TYPO3 делать нечего. Для своих сотрудников вывел формулу (в шутку конечно, но не далека от правды) - если не знаешь по памяти номера страницы TSRef, где расположена информация о typolink (stdWrap, imgResource, ...), то TYPO3 ты не знаешь! :D

Tod 28.11.2006 17:38

Огромное спасибо всем ответившим!))
TV везде проставляет картинки через
Код:

10 = IMAGE
10.file = GIFBUILDER
...

Если без GIFBUILDER, то все джава-окна работают на ура))
Есть еще маленький вопрос: может еще кто-то разрабатывал код для добавления пустой картинки, если не она указана для данного FCE.
вопрос2: Если у меня есть несколько похожих элементов FCE, отличающихся только размерами картинок, можно ли как-то их запихнуть в один, а размерность чтобы менялась автоматом в зависимости например от id страницы?..

Pavel Antonov 29.11.2006 15:26

Цитата:

Сообщение от Tod (Сообщение 8305)
Есть еще маленький вопрос: может еще кто-то разрабатывал код для добавления пустой картинки, если не она указана для данного FCE.

Сам то понял, что спрашиваешь?

Цитата:

Сообщение от Tod (Сообщение 8305)
вопрос2: Если у меня есть несколько похожих элементов FCE, отличающихся только размерами картинок, можно ли как-то их запихнуть в один, а размерность чтобы менялась автоматом в зависимости например от id страницы?..

Можно, определить все в TS и менять нужные величины в подшаблонах нужных страниц.

Tod 29.11.2006 16:21

Цитата:

Сообщение от Pavel Antonov (Сообщение 8325)
Сам то понял, что спрашиваешь?

Впалне! А вообще я уже придумал как реализовать задуманное. так что вопрос снимается.
Цитата:

Сообщение от Pavel Antonov (Сообщение 8325)
Можно, определить все в TS и менять нужные величины в подшаблонах нужных страниц.

Зато не понял что ты отвечаешь. Парадокс. Но некая идея реализации задуманного появилась, хоть на том спасибо.

Tod 13.12.2006 17:11

Если прописать настройки
Код:

        10.imageLinkWrap = 1
        10.imageLinkWrap.enable = 1
        10.imageLinkWrap.JSwindow = 1
        10.imageLinkWrap.bodyTag = &lt;BODY bgColor=white style="margin: 0px 0px 0px 0x;"&gt;       
        10.imageLinkWrap.wrap = &lt;A href="javascript:close();" title="Закрыть окно" &gt; | &lt;/A&gt;
        10.imageLinkWrap.width = 260
        10.imageLinkWrap.height = 380

для объекта 10 = IMAGE... то все работает.
Но дело в том, что у меня используется другой объект:
Код:

10 = IMAGE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
...
}

Как в TV сдлеать джаваскрипт окно для него?

Pavel Antonov 13.12.2006 19:03

Объект то тот же, вот только imageLinkWrap с GIFBUILDER не работает...и другой возможности TYPO3 не предоставляет.

Альтернатива: Сделать все что нужно рукам, включая сгенерировать JavaScript или typolink с открытием нового окна.

Tod 19.12.2006 15:08

Как-то призрачно представляю себе путь реализации предложенной вами альтернативы)) Можно поконкретней?
Еще хотел узнать есть ли для определяемого элемента в TV возможность задать userFunc?

Pavel Antonov 19.12.2006 18:13

Цитата:

Сообщение от Tod (Сообщение 8642)
Как-то призрачно представляю себе путь реализации предложенной вами альтернативы)) Можно поконкретней?

  1. С помощью IMG_RESOURCE можно получить ссылки на созданые GIF_BUILDER картинки.
  2. Полученные ссылки вставить в свой JavaScript
Готового кода к сожалению нет

Цитата:

Сообщение от Tod (Сообщение 8642)
Еще хотел узнать есть ли для определяемого элемента в TV возможность задать userFunc?

Что имеется в виду? В TS всегда можно задать userFunc...

void 20.12.2006 05:49

Хм. Объясните, если не в теме... но судя по тому, что выше ^, тут гифбилдер вроде и не нужен особо?

Tod 24.12.2006 19:47

Спасибо, идея понятна...
Только возникает вопрос как получить ссылки с помощью IMG_RESOURCE на созданые GIF_BUILDER картинки:
Код:

10 = IMAGE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 110
10.file.minW = 110
10.file.maxH = 192
10.file.minH = 192
}

...хотя больше проблем как добавить эти ссылки в код выше

Pavel Antonov 25.12.2006 02:49

Цитата:

Сообщение от Tod (Сообщение 8740)
Спасибо, идея понятна...
Только возникает вопрос как получить ссылки с помощью IMG_RESOURCE на созданые GIF_BUILDER картинки:
Код:

10 = IMAGE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 110
10.file.minW = 110
10.file.maxH = 192
10.file.minH = 192
}

...хотя больше проблем как добавить эти ссылки в код выше

Заменить IMAGE на IMG_RESOURCE и все... результат будет URL картинки. В какой код его Вы его хотите вставить я не понял...

void 25.12.2006 04:54

Видимо, есть желание подставить этот урл в imageLinkWrap.
То есть наверно сделать что-то типа этого:

Код:

10 = IMG_RESOURCE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 110
10.file.minW = 110
10.file.maxH = 192
10.file.minH = 192
}
10.stdWrap {
 postUserFunc = user_izvr->userimglinkwrap
 postUserFunc.imageLinkWrap{
  JSWindow = 1
 }
}

PHP код:

class user_izvr{
 function 
userimglinkwrap($content,$conf){
   
$cObj t3lib_div::makeInstance('tslib_cObj');
   
$imgtag $cObj->IMAGE(array('file'=>$content));
   return 
$cObj->imageLinkWrap($imgtag,$content,$conf['imageLinkWrap.']);
 }



Pavel Antonov 25.12.2006 15:15

Ну если заниматься "самописом", то и делать тогда под себя как хочется. То есть IMG_RESOURCE тоже не зачем использовать... Мне казалось, что вопрос был в том как сделать средствами TS.

P.S.: Приведенный код работать не будет. IMG_RESOURCE возвращает URL, для IMAGE (.file) и imageLinkWrap нужен путь к файлу. Почувствуйте разницу ;)

void 25.12.2006 20:02

Цитата:

Приведенный код работать не будет.
Ну, это лечится исправлением одной строчки)

Цитата:

Мне казалось, что вопрос был в том как сделать средствами TS.
А это возможно сделать средствами TS?

Tod 25.12.2006 22:42

Да хотелось бы все через TS))
Еще раз проясню ситуацию. МОжет не все понятно.
Есть картинка, нужно по нажатию открыть ее в джава окне.
Создаю значит там какой-то скрипт, добавляю его в header. Далее нужно через TV FCE элемент задать картинку и вставить путь к ней в <a href="#">.
Посему в TV создаю один элемент - Image с кодом, к примеру:
Код:

10 = IMAGE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 110
10.file.minW = 110
10.file.maxH = 192
10.file.minH = 192
}

Теперь нужно как-то передать путь... как? Создавать еще один элемент в шаблоне? или как-то через stdWrap для этого элемента?
---
можно создать сразу IMG_RESOURCE и мапить как атрибут <IMG>, но как потом это продублировать еще и для тэга <a href="#">

Pavel Antonov 26.12.2006 18:04

Цитата:

Сообщение от Tod (Сообщение 8779)
можно создать сразу IMG_RESOURCE и мапить как атрибут <IMG>, но как потом это продублировать еще и для тэга <a href="#">

Наконец то, хоть чуть чуть продвинулись в нужном направлении...
Продублировать всегда можно:
Код:

10 = COA
10 {
  10 = LOAD_REGISTER
  10.image_url = IMG_RESOURCE
  10.image_url {
      ...делаем все что надо с GIFBUILDER-ом...
  }

  20 = TEXT
  20.data = register: image_url
  20.wrap = <a href="#" onclick="myJsAction('|')">

  30 = TEXT
  30.data = register: image_url
  30.wrap = <img src="|" alt="" title="" />

  40 = TEXT
  40.value = </a>
}


Улучшать можно (например размеры картинке не плохо было бы иметь), но идея такая.

Tod 26.12.2006 21:46

Проблема в том, что мапится элемент с типом Image и COA работать отказывается. Без него никак, требуется ведь чтобы в FCE отображался блок выбора картинки.

Pavel Antonov 26.12.2006 23:27

Что то делаете не так... TemplaVoila дела нет до того каким TS будет отображаться поле, и тем более код который будет отображать поле никак не связан с тем, как поле отображается в BE.

Tod 18.01.2007 02:26

Хм... эпопея с данной темой продолжается.
Путем эксперементов таки для себя понял, что "TemplaVoila дела нет до того каким TS будет отображаться поле, и тем более код который будет отображать поле никак не связан с тем, как поле отображается в BE."
Просто когда писал в TS некоторый код просто НЕПОДОЗРЕВАЛ, что TV его НЕ ОБРАБОТАЕТ!
Итак, например код для поля элемента FCE:
Цитата:

10 = COA
10 {
20 = LOAD_REGISTER
20.my = TEXT
20.my {
velue = some_text
}
30 = TEXT
30.data = register:my
}
отображает на сайте слово TEXT (с IMG_RESOURCE та же фигня)
Более того, если добавить в код строку
Цитата:

30.wrap = <b>|</b>
ничего вообще не отобразится... А теперь самое интересное. Когда я пытаюсь ее закомметнировать
Цитата:

#30.wrap = <b>|</b>
оно тоже НИЧЕГО не выводит!
[TYPO3 4.0, TV 1.1.1]

Pavel Antonov 18.01.2007 13:11

Цитата:

Сообщение от Tod (Сообщение 9271)
Хм... эпопея с данной темой продолжается.
Путем эксперементов таки для себя понял, что "TemplaVoila дела нет до того каким TS будет отображаться поле, и тем более код который будет отображать поле никак не связан с тем, как поле отображается в BE."
Просто когда писал в TS некоторый код просто НЕПОДОЗРЕВАЛ, что TV его НЕ ОБРАБОТАЕТ!
Итак, например код для поля элемента FCE:

отображает на сайте слово TEXT (с IMG_RESOURCE та же фигня)
Более того, если добавить в код строку

ничего вообще не отобразится... А теперь самое интересное. Когда я пытаюсь ее закомметнировать

оно тоже НИЧЕГО не выводит!
[TYPO3 4.0, TV 1.1.1]


Прочитайте внимательно документацию на LOAD_REGISTER! 20.my не является типом cObject, он text/stdWrap. Хотите присваиваейте ему сразу величины (потому TYPO3 и решила, что "TEXT" - это значение) или через stdWrap что-то делайте. Хотите иметь TEXT, то делайте
Код:

my.20.cObject = TEXT

Pavel Antonov 18.01.2007 13:18

Цитата:

Сообщение от Tod (Сообщение 9271)
ничего вообще не отобразится... А теперь самое интересное. Когда я пытаюсь ее закомметнировать
Код:

#30.wrap = <b>|</b>
оно тоже НИЧЕГО не выводит!
[TYPO3 4.0, TV 1.1.1]

Подозреваю, что код вносили непосредственно в XML?

Собственно, а чего же вы хотели? "<" и ">" являются управляющими в XML, код бьется по вашим <b>, "#" - комментарием для XML не является.

Замените "<" на &lt;, а ">" на &gt; или все обернуть в CDATA (смотрите документацию!)

Tod 18.01.2007 15:23

Спасибо, подправил чуток код и получилось что=то вроде:
Цитата:

10 = COA
10 {
10 = LOAD_REGISTER
10.image_url.cObject = IMG_RESOURCE
10.image_url.cObject {
file = GIFBUILDER
file {
XY = 140,115
offset = 140-[10.w]/2,115-[10.h]/2
transparentBackground = 1
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 140
10.file.minW = 70
10.file.maxH = 115
10.file.minH = 57
}
}

20 = TEXT
20.data = register:image_url
20.wrap = &lt;a href="#" onclick="myJsAction('|')"&gt;

30 = TEXT
30.data = register:image_url
30.wrap = &lt;img src="|" alt="" title="" /&gt;

40 = TEXT
40.value = &lt;/a&gt;
}
Но теперь в новом окне выводится такая же маленькая картинка как и на сайте(( как достать ссылку именно на файл, а не сгенерированный типо3 рисунок?

Pavel Antonov 18.01.2007 16:02

Цитата:

Сообщение от Tod (Сообщение 9290)
Но теперь в новом окне выводится такая же маленькая картинка как и на сайте(( как достать ссылку именно на файл, а не сгенерированный типо3 рисунок?

IMG_RESOURCE второй раз с нужными параметрами и без GIFBUILDER

Tod 19.01.2007 13:53

Чтобы я делал без вашей помощи)) Спасибо!
Теперь еще одна задача... как мне привязать к скрипту размеры картинки с помощью LOAD_REGISTER?.. никак не получается. Тут ведь нужно обратиться к свойству размеров IMAGE, не могу понять как это сделать?(

Pavel Antonov 19.01.2007 20:11

Цитата:

Сообщение от Tod (Сообщение 9327)
Чтобы я делал без вашей помощи)) Спасибо!
Теперь еще одна задача... как мне привязать к скрипту размеры картинки с помощью LOAD_REGISTER?.. никак не получается. Тут ведь нужно обратиться к свойству размеров IMAGE, не могу понять как это сделать?(

Ничего не понял. Можно код? Зачем вообще используется LOAD_REGISTER? В предыдущем коде он не нужен совершенно.

Tod 19.01.2007 21:33

На данном этапе код такой:
Цитата:

10 = COA
10 {
10 = LOAD_REGISTER
10.image_file.cObject = IMG_RESOURCE
10.image_file.cObject {
file.import = uploads/tx_templavoila/
file.import.current = 1
file.import.listNum = 0
}

20 = LOAD_REGISTER
20.image_url.cObject = IMG_RESOURCE
20.image_url.cObject {
file = GIFBUILDER
file {
XY = 140,115
offset = 140-[10.w]/2,115-[10.h]/2
transparentBackground = 1

10 = IMAGE
10 {
file.import = uploads/tx_templavoila/
file.import.current = 1
file.import.listNum = 0
file.maxW = 140
file.minW = 70
file.maxH = 115
file.minH = 57
}
}
}

30 = TEXT
30.data = register:image_file
30.wrap = &lt;a href="javascript:myJsAction('|',300,300)"&gt;

40 = TEXT
40.data = register:image_url
40.wrap = &lt;img src="|" alt="Подробнее" title="" /&gt;

50 = TEXT
50.value = &lt;/a&gt;
}
Так вот там где 300, 300 нужно как-то впихнуть размеры подгружаемой картинки.
А что касается использования LOAD_REGISTER, то все делаю по вашему советУ) походу...

Pavel Antonov 20.01.2007 20:34

Цитата:

Сообщение от Tod (Сообщение 9340)
На данном этапе код такой:

Так вот там где 300, 300 нужно как-то впихнуть размеры подгружаемой картинки.
А что касается использования LOAD_REGISTER, то все делаю по вашему советУ) походу...

С размерами к сожалению ничего не выйдет... простого способа я не вижу. Честно говоря никакого способа достать размеры я не вижу... Только свой код.

Про LOAD_REGISTER я писал в контексте, где одно изображение нужно было в двух местах вставить, что бы не генерировать два раза. В этом коде он не нужен - все можно перенести в непосредственно генерацию кода, без всяки регистров.

Tod 26.02.2007 23:43

Поскольку размеры картинки из TS достать нереально, прийдется писать код самому.
Товарищ void привел свой вариант решения:
Код:

10 = IMG_RESOURCE
10.file = GIFBUILDER
10.file {
XY = 110,192
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 110
10.file.minW = 110
10.file.maxH = 192
10.file.minH = 192
}
10.stdWrap {
 postUserFunc = user_izvr->userimglinkwrap
 postUserFunc.imageLinkWrap{
  JSWindow = 1
 }
}

при этом код пхп.
Код:

class user_izvr{
function userimglinkwrap($content,$conf){
  $cObj = t3lib_div::makeInstance('tslib_cObj');
  $imgtag = $cObj->IMAGE(array('file'=>$content));
  return $cObj->imageLinkWrap($imgtag,$content,$conf['imageLinkWrap.']);
}
}

Pavel Antonov, заметил, что IMG_RESOURCE не зачем использовать... + в приведенном коде какая-то ошибка...
0. какая такая ошибка и что вместо IMG_RESOURCE
1. меня смущает точка в 'imageLinkWrap.' (см. код выше)
2. я что-то экспериментировал с приведенным кодом, но никаких результатов работы не увидел вообще. в пхп код передается код маленькой картинки, а смыслу с него никакого. хотя, стоит заметить, что ничего особенно в результате работы данного пхп. файла не происходит - никакого увеличения и т.п.
3. нужно ведь передавать ссылку на большую картинку, а на сайте отобразить превью, сделанное гиф-билдером
4. что самое удивительно искал, где типо3 используется imageLinkWrap чтобы как-то может код позаимствовать.. там где в админке устанавливается в элементах "только картинки" или "текст с картинками" - увеличения для картинок. нашел только в файле setup.txt))
5. пытаюсь пока сделать все с помощью приколов javascript, но там еще более темный лес)) куча нюансов с разными браузерами.. ужос!. получится - обязательно поделюсь кодом)


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

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