Создаем XML дерева страниц TYPO3 для Flash меню
Typo3, web programming июня 1, 2008Возможности TYPO3 совсем не ограничены одними только HTML страницами. Для того что бы сформировать XML файл по контенту в TYPO3 совершенно не нужны какие-либо расширения, коих, к моему удивление, такое большое количество в репозитории.
Поскольку я не приветствую использование расширений без особой причины, приведу пример формирования XML выгрузки страниц из TYPO3 для Flash меню. Стоит отметить, что тем же способом можно выдавать абсолютно любого вида и направленности данные, как например, Google Sitemaps или WML и т.д.
XML для Flash menu имеет следующий вид:
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="UTF-8"?> <menu> <item url="index.php?id=1" title="Page 1" /> <item url="index.php?id=2" title="Page 2" /> <item url="index.php?id=3" title="Page 3"> <item url="index.php?id=4" title="Page 3-1" /> <item url="index.php?id=5" title="Page 3-2" /> <item url="index.php?id=6" title="Page 3-3"> </item> <item url="index.php?id=7" title="Page 4"/> </menu> |
Typoscipt генерации такого XML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
######################################## # PAGETREE TO XML ######################################## xmlmenu = PAGE xmlmenu.typeNum = 111 # отключаем генерацию стандартных заголовка страницы TYPO3 xmlmenu.config.disableAllHeaderCode = 1 # устанавливаем корректный тип контента xmlmenu.config.additionalHeaders = Content-Type: application/xml # Выдаем заголовок XML xmlmenu.10 = TEXT xmlmenu.10.value = <?xml version="1.0" encoding="UTF-8"?> xmlmenu.10.postCObject = TEXT xmlmenu.10.postCObject.char = 10 # Сами данные дерева страниц xmlmenu.20 = HMENU xmlmenu.20 { wrap = <menu>|</menu> entryLevel = 0 1 = TMENU 1 { expAll = 1 NO { doNoShowLink = 1 allStdWrap.cObject = COA allStdWrap.cObject.10 = TEXT allStdWrap.cObject.10.typolink.parameter.field = uid allStdWrap.cObject.10.typolink.returnLast = url allStdWrap.cObject.10.noTrimWrap = |<item url="|" | allStdWrap.cObject.20 = TEXT allStdWrap.cObject.20.field = nav_title // title allStdWrap.cObject.20.wrap = title="|"/> } # отличается от NO тем, что нам надо обернуть под элементы в <item></item> IFSUB < .NO IFSUB = 1 IFSUB { # Добавляем завершающий </item> wrapItemAndSub = |</item> # Заменяем <item ... /> на <item ...> allStdWrap.cObject.20.wrap = title="|"> } } 2 < .1 3 < .1 4 < .1 5 < .1 } |
Flash приложение теперь может получать данные для меню по адресу “index.php?type=111″
При желании можно добавить и выгрузку контента из TYPO3, что может быть актуально для сайтов созданных полностью на Flash, но использующих TYPO3 в качестве системы управления. И без всяких расширений…
Источник: http://codeline.richmd.ru/?p=23
Разместить у себя на ресурсе или в ЖЖ:
На любом форуме в своем сообщении:



июля 12, 2008 at 1:14 pm
Довольно просто делается.