Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Строка картинок, перемешанных в случайном порядке? (http://forum.typo3.ru/showthread.php?t=7779)

Pavel Antonov 23.06.2009 16:15

Цитата:

Сообщение от dimal (Сообщение 24852)
Но уж очень много минусов... главный - вокруг каждого элемента стоит лишний DIV и лишняя таблица. Как их убрать, опять непонятно, а времени снова копать нет да и желания честно говоря поубавилось.
Другой минус - при вводе на каждую картинку надо минимум 7 кликов вместо одного. А при необходимости заменить один из файлов я вообще не нашёл пока другой возможности найти элемент с заменяемым файлом, как искать всё подряд... или тратить при вводе каждого ещё 2 клавиши копи-паст и пару кликов, называя элемент контента так же как файл.

Тогда не надо тянуть отображение картинки из css_styled_content. Написать все руками как надо:
Код:

...
renderObj = IMAGE
renderObj {
file.import = uploads/pics/
file.import.field = image
file.import.listNum = 0
...
}

Последнее ИМХО не проблема.. это не часто делается.

Еще у меня такое ощущение, что вы нам "не все о себе рассказали". Если Вам надо что то вроде баннеров, почему не взять именно баннерный плагин. Например machina_banners. Все ж придумали до нас.

dimal 23.06.2009 17:59

Цитата:

Сообщение от Pavel Antonov (Сообщение 24862)
Еще у меня такое ощущение, что вы нам "не все о себе рассказали".

;) Угу... я Агент 008, с правом на убийство компьютеров, вот и секречусь даже от самого себя! :D
По примеру документации к Типу3, которая наполовину устарела а наполовину вообще отсутствует. Скажем, какой скрипт и в какой момент кладёт малые и большие копии моих картинок в uploads/pics и почему именно туда? И где в базе хранятся связи между моим именем картинки и именем генерированной из неё мелкой? Я предполагаю, что это делает какой-то скрипт BE в момент сохранения вставленного элемента контента... но это ведь нигде не описано!
Цитата:

Сообщение от Pavel Antonov (Сообщение 24862)
Если Вам надо что то вроде баннеров, почему не взять именно баннерный плагин. Например machina_banners. Все ж придумали до нас.

Может быть, но как мне было об этом догадаться? Логически это не баннеры (т.е. не иконки со ссылками куда-то вовне сайта), а больше похоже на кусочек галереи картинок на самом сайте.
И потом, если отключить флажок безопасности, появляется более трёх тысяч всяких плагинов, их даже просмотреть всех тяжко :(
Далее, загрузив этот плагин, надо будет в нём ещё разобраться - как использовать в нужном мне режиме... а доки там наверняка или вообще нет, или неполная.
В вашем написании вообще ничего не нашлось, по banners нашёлся "Macina Banners Extension ww_macinabanners", который оказался дополнением к "Advanced Banner Management macina_banners". По краткому описанию мне скорее нужно именно дополнение... а скорее всего не нужно ни то ни другое, а только стянуть с него метод перемешивания и вставить себе (в одно место). :mad: Причём для этого наверняка надо будет лезть в коды плагина. А дел ещё других полно... но все-таки потом полезу, посмотрю, а пока попробую ваш совет с "renderObj = IMAGE".
Кстати, я брал tt_content.image.20 (IMGTEXT) потому, что мне нужна именно готовая обвязка JavaScript-ом, а здесь наверняка придётся ее самому вставлять. Сейчас проверим...

dimal 24.06.2009 02:15

Таки да, объект IMAGE с ручной обвязкой даёт требуемый результат. Пример ниже. Всем спасибо! :)

Впрочем, как немного освобожусь, вернусь к разбору тонкостей, плагинов-баннеров, собственных функций и прочего. Если обнаружу что-нибудь полезное для данного случая, отпишусь в этой теме. Но это будет наверно уже нескоро. :cool:

PHP код:

temp.render_2 IMAGE
temp
.render_2 {
  
file.import uploads/pics/
  
file.import {
    
field image
    listNum 
0
    
}
  
file.height 77
  imageLinkWrap 
1
  imageLinkWrap 
{
    
enable 1
    JSwindow 
1
    bodyTag 
= <BODY bgColor=black>
    
wrap = <A href="javascript:close();"> | </A>
    
width 400m
    height 
300m
    JSwindow 
1
    JSwindow
.expand 20,30
    
}
  
wrap = <td>|</td>
  }
...
        
10 CONTENT
        10 
{
          
table tt_content
          select 
{
            
pidInList 19
            orderBy 
RAND()
            
max 5
            
}
          
renderObj temp.render_2
          wrap 
= <table class="imagetbl"><tr>|</tr></table>
          }
       }
... 



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

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