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

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 07.05.2010, 17:32   #1
NiKRON
Senior Member
 
Регистрация: 13.11.2006
Сообщений: 180
По умолчанию optionSplit — где разум, где логика?

Цель: сделать разделение меню на две равные части (если кол-во не чётное, то в первой части на один пункт больше). Искал разные способы, попадались и особо параноидальные. Вконце концов нашёл вот такой вариант:
Код:
…
NO{
     allWrap = <ul>|*| | || | || |</ul><ul>|*| |</ul>
     …
}
…
Вот где в этой конструкции логика?! Это работает так как мне надо, но как это работает, понять не могу?!
NiKRON вне форума   Ответить с цитированием
Старый 07.05.2010, 20:30   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Логики и разума нету. Я бы взял параноидальный вариант, потому что он наверняка работает... Если ваш вариант правда работает всегда, и работает так как надо, пошлите его на typo3wizard. Я ваш вариант понять не могу.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 08.05.2010, 10:18   #3
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

Как говорится, работает - ничего не трогай!
Lucifer вне форума   Ответить с цитированием
Старый 09.05.2010, 15:38   #4
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

Цитата:
Сообщение от NiKRON Посмотреть сообщение
Код:
…
NO{
     allWrap = <ul>|*| | || | || |</ul><ul>|*| |</ul>
     …
}
…
Вот где в этой конструкции логика?! Это работает так как мне надо, но как это работает, понять не могу?!
тут мне непонятно почему вставок <li> </li> нету

а вообще ваш код должен делать такое:
Код:
<ul>item1 item2 item3 item4</ul>
<ul>item5 item6 item7</ul>
<ul>item8 item9 item10</ul>
<ul>item11 item12</ul>
- как-то так, только он не совсем рабочий - если будет только один пункт, то получится не валидный html код:
Код:
item1</ul>
jettero вне форума   Ответить с цитированием
Старый 09.05.2010, 21:34   #5
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

1. логично что <li> в другом врапе определно
2. делает код то, что нужно.... делит элементы на 2 (два) ul-списка. не надо домыслов. Только на два списка... на больше количество наверно вообще не получится.

Меня смущает место где поставлено разделение на два списка... по идее они будут не равными... но optionSplit - такой magic, пока не попробуешь не узнаешь точно.

Я бы делал тоже через счетчик.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 09.05.2010, 22:45   #6
jettero
Senior Member
 
Регистрация: 24.06.2006
Сообщений: 143
По умолчанию

Цитата:
Сообщение от Pavel Antonov Посмотреть сообщение
1. логично что <li> в другом врапе определно
Ну это логично, только в коде этого нет, а кто-то возьмет и вставит без них
И по хорошому от растановки <li>|</li> зависит и разбивка по строкам - без них не очевидно, то ли в каждой строке по одному пункту, то ли еще как-то..
Цитата:
Сообщение от Pavel Antonov Посмотреть сообщение
2. делает код то, что нужно.... делит элементы на 2 (два) ul-списка. не надо домыслов. Только на два списка... на больше количество наверно вообще не получится.

Меня смущает место где поставлено разделение на два списка... по идее они будут не равными... но optionSplit - такой magic, пока не попробуешь не узнаешь точно.

Я бы делал тоже через счетчик.
Гм, я только что проверил, делится точно так, как я написал - в первом списке 4 эл-та, в следующих по 3.
2 списка там может получится только случайно, когда элементов не больше 7 - средняя часть ротируется и |</ul><ul> вставляется в каждом 3-ем элементе.

А вообще split не может разделить список пополам - там обрабатывается last часть, потом first, потом ротируется middle, то есть элементы обрабатываются поочередно, можно разделить на несколько равных колонок, но нельзя взять весь список и поделить пополам. Решение с колонками я написал в соседнем топике.

Последний раз редактировалось jettero; 09.05.2010 в 22:58
jettero вне форума   Ответить с цитированием
Старый 11.04.2015, 02:41   #7
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

Отличное название для актуальной темы про optionSplit
В старых новостях - tt_news делю так

Код:
displaySingle.image {
    
file.maxW = 495c||75c|*||*|
file.minW = 495c||75c|*||*|
file.width = 495c||75c|*||*|

    file.maxH = 380||65|*||*|
    file.minH = 380||65|*||*|
    file.height = 380||65|*||*|
     
}
Получаю разный размер для картинок, прикрепленных к новости.
Первая становится 495х380, остальные 75х65. Это работает нормально, но только в случае когда картинок 2 и больше.
Если картинка всего одна, то она становится размером 75х65, а хотелось бы 495х380.
Мои разум и логика в этом не помогают.
Это реально сделать через optionSplit?
Спасибо.
Илья вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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


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


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

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