Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   optionSplit — где разум, где логика? (http://forum.typo3.ru/showthread.php?t=8563)

NiKRON 07.05.2010 17:32

optionSplit — где разум, где логика?
 
Цель: сделать разделение меню на две равные части (если кол-во не чётное, то в первой части на один пункт больше). Искал разные способы, попадались и особо параноидальные. Вконце концов нашёл вот такой вариант:
Код:


NO{
    allWrap = <ul>|*| | || | || |</ul><ul>|*| |</ul>
    …
}

Вот где в этой конструкции логика?! Это работает так как мне надо, но как это работает, понять не могу?! :confused:

void 07.05.2010 20:30

Логики и разума нету. Я бы взял параноидальный вариант, потому что он наверняка работает... Если ваш вариант правда работает всегда, и работает так как надо, пошлите его на typo3wizard. Я ваш вариант понять не могу.

Lucifer 08.05.2010 10:18

Как говорится, работает - ничего не трогай! :)

jettero 09.05.2010 15:38

Цитата:

Сообщение от NiKRON (Сообщение 27838)
Код:


NO{
    allWrap = <ul>|*| | || | || |</ul><ul>|*| |</ul>
    …
}

Вот где в этой конструкции логика?! Это работает так как мне надо, но как это работает, понять не могу?! :confused:

тут мне непонятно почему вставок <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>

Pavel Antonov 09.05.2010 21:34

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

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

Я бы делал тоже через счетчик.

jettero 09.05.2010 22:45

Цитата:

Сообщение от Pavel Antonov (Сообщение 27853)
1. логично что <li> в другом врапе определно

Ну это логично, только в коде этого нет, а кто-то возьмет и вставит без них :)
И по хорошому от растановки <li>|</li> зависит и разбивка по строкам - без них не очевидно, то ли в каждой строке по одному пункту, то ли еще как-то..
Цитата:

Сообщение от Pavel Antonov (Сообщение 27853)
2. делает код то, что нужно.... делит элементы на 2 (два) ul-списка. не надо домыслов. Только на два списка... на больше количество наверно вообще не получится.

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

Я бы делал тоже через счетчик.

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

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

Илья 11.04.2015 02:41

Отличное название для актуальной темы про 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?
Спасибо.


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

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