Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Вывод Меню разделов (записей, включенных в меню) в 4.7 (http://forum.typo3.ru/showthread.php?t=10138)

gabdullin 22.05.2012 22:18

Вывод Меню разделов (записей, включенных в меню) в 4.7
 
Добрый вечер!
После обновления TYPO3 до версии 4.7 страницы на которых используется элемент типа "Меню/Карта сайта" и тип меню "Меню разделов (записей, включенных в меню)" выводятся в искаженном виде.
Подробности искажения описать сложно, если только фразой: "Перее...сь все в доме Облонских".
Собственно сам элемент "Карта сайта" не выводится, очередность вывода элементов страницы нарушена, элементы выводятся повторно несколько раз в арифметической прогрессии. Где-то схаваны заголовки элементов.
Наглядно это можно увидеть, например здесь: https://elarum.ru/info/standards/tu-...9-05766801-94/. Еще интереснее становится, когда смотришь HTML...
Поисковики конечно активизировались, но людям читать неудобно!
Кто-то уже сталкивался с подобной ситуацией?

P.S. При отключении элемента типа "Меню/Карта сайта" очередность вывода элементов страницы и ее HTML-форматирование восстанавливаются. Для сравнения: https://elarum.ru/info/standards/tu-...7-05766801-98/
P.P.S. Про второй сервис пак я историю слышал...

dmartynenko 23.05.2012 14:21

За генерацию контента отвечает TS код из экста css_styled_content. Возможно чего-то там намудрили разработчики в стремлении к "HTML5".

Кстати вышел TYPO3 4.7.1 с баг фиксами.

gabdullin 23.05.2012 17:38

Цитата:

Сообщение от dmartynenko (Сообщение 33873)
Кстати вышел TYPO3 4.7.1 с баг фиксами.

Вчера еще поставил, не исправлен этот баг.

gabdullin 23.05.2012 17:52

Цитата:

Сообщение от dmartynenko (Сообщение 33873)
За генерацию контента отвечает TS код из экста css_styled_content. Возможно чего-то там намудрили разработчики в стремлении к "HTML5".

И правда подключил статический шаблон от 4.6 - выводится как должно быть, попробую в шаблоне 4.7 поковыряться.

gabdullin 23.05.2012 18:54

Так было в 4.6
Код:

# "Section index (pagecontent w/Index checked - liststyle)"
3 < styles.content.get
3 {
        wrap = <ul class="csc-menu csc-menu-3">|</ul>
        select.andWhere = sectionIndex!=0
        select.pidInList.override.field = pages
        renderObj = TEXT
        renderObj {
                fieldRequired = header
                trim = 1
                field = header
                htmlSpecialChars = 1
                noBlur = 1
                wrap = <li class="csc-section">|</li>
                typolink.parameter.field = pid
                typolink.section.field = uid
        }
}

Так стало в 4.7
Код:

# "Section index (pagecontent w/Index checked - liststyle)"
3 < .default
3 {
        special {
                value {
                        override {
                                data = page:uid
                                if {
                                        isFalse.field = pages
                                }
                        }
                }
        }
        stdWrap {
                outerWrap = <ul class="csc-menu csc-menu-3">|</ul>
        }
        1 = TMENU
        1 {
                sectionIndex = 1
                sectionIndex.type = header
                NO.wrapItemAndSub = <li class="csc-section">|</li>
        }
}

Немного разные подходы к формированию списка меню. Сходу не получается врубиться.

-=UncleByte=- 23.05.2012 21:27

Скорее всего дело вот в этой строке - sectionIndex.type = header, т.е. перебор идет только по элементам с заголовками, а не по всем элементам и строится не текстовый объект из ссылок на все элементы страницы, но текстовое меню элементов с заголовками.
В TSRef про этот самый sectionIndex.type написано что он может принимать значения либо all, либо header - в вашем случае, скорее всего, поможет поставить его в all.

-=UncleByte=- 23.05.2012 21:53

Хотя, может я и ошибся и проблема кроется в условии для select
Код:

20 = CONTENT
                                        20 {
                                                table = tt_content
                                                select {
                                                        pidInList = this
                                                        orderBy = sorting
                                                        andWhere {
                                                                dataWrap = sorting>{field:sorting}
                                                        }

                                                        languageField = sys_language_uid
                                                        max = 1
                                                }


dmartynenko 24.05.2012 15:29

Цитата:

Сообщение от gabdullin (Сообщение 33884)
Немного разные подходы к формированию списка меню. Сходу не получается врубиться.

До 4.6 делалась выборка страниц из БД через TS.CONTENT.

В 4.7 судя по всему используется связка HMENU/TMENU. Что по идее более логично - ведь формируется именно меню.

Может в 4.7 HMENU/TMENU кривое?


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

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