Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
26.09.2006, 16:54 | #1 |
Senior Member
|
tt_news categories в <select>
В общем требуется вывести определенные категории новостей в блоки формы <select> допустим подкатегории категории1 в одном блоке, категории2 во втором и т.д.
Может кто-то сталкивался с этим и есть готовое решение? а то уже второй день копаюсь в коде((
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
26.09.2006, 17:21 | #2 | |
Administrator
|
Цитата:
тогда можно пропатчить tt_news либо написать экст, который расширяет tt_news Если это нужно за чем-то еще, то можно просто через TS сдеать Код:
search_more = COA search_more{ 10 = TEXT 10.value = 50 = CONTENT 50 { wrap = <select name="tx_ttnews[cat]" ><option value="">Все категории</option>|</select> table = tt_news_cat select { # the category folder(s) pidInList = 104 andWhere = parent_category = 2 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.dataWrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } } } |
|
26.09.2006, 17:38 | #3 |
Senior Member
|
Это не для поиска, а для такой задачи. Есть 3 типа категорий новостей. Пользователь заходит на страницу сайта и видит 3 блока select, выбирает в трех этих полях определенные категории, нажимает submit и ему выводятся все новости, которые принадлежат к трем категориям, выбранных в блоках select. Благо в последних новостях появилась возможность связывать новость с несколькими категориями.
С вашим кодом сейчас попробую поэксперементировать, а что делать с submit? в данном случае. Я так понимаю нужно будет создать подстраницу, куда поместить элемент tt_new-LIST и чтобы там были требуемые мне параметры... а именно id категорий, выбраных пользователем в select... как тут быть?
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
27.09.2006, 15:17 | #4 |
Senior Member
|
Когда все начало получаться появилась такая фигня. Пишу типа для выборки категории:
Код:
categorySelection = TEXT categorySelection.data = GPvar:menu1 categorySelection = menu1, menu2, menu3. Через COA не хочет работать... как мне объединить в одно три переменные? еще и через запятую...
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
27.09.2006, 16:42 | #6 |
Senior Member
|
void, огромнейшее спасибо!!!
Как все доделаю опубликую код полностью для решения поставленной задачки.
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
27.09.2006, 18:44 | #7 |
Senior Member
|
В общем, вот код, решающий поставленную задачу. производится выборка по трем категориям с помощью <select> на форме. Выводятся новости, принадлежащие к этим 3м категориям.
Код:
lib.cat_choose = COA lib.cat_choose.wrap = <form action="index.php?id=16" method="post" name="Form1"><table width="630px" border="0" cellpadding="0" cellspacing="0"><tr valign="top"> | <td><input name="submit1" type="submit" value="Выбрать" class="button_style"></td></tr></table></form> lib.cat_choose{ 10 = TEXT 10.value = 50 = CONTENT 50 { wrap = <td><select name="menu1" class="list_style"><option value="">Типы подарков</option>|</select></td> table = tt_news_cat select { # the category folder(s) pidInList = 2 andWhere = parent_category = 3 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.wrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:menu1 } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } } 52 = CONTENT 52 { wrap = <td><select name="menu2" class="list_style"><option value="">Категория2</option>|</select></td> table = tt_news_cat select { # the category folder(s) pidInList = 2 andWhere = parent_category = 23 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.wrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:menu2 } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } } 53 = CONTENT 53 { wrap = <td><select name="menu3" class="list_style"><option value="">Категория3</option>|</select></td> table = tt_news_cat select { # the category folder(s) pidInList = 2 andWhere = parent_category = 24 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.wrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:menu3 } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } } } [PIDinRootline = 9] lib.choose_goods < plugin.tt_news lib.choose_goods { code > code = LIST listOrderBy = title asc categoryMode = 1 categorySelection = 27 pid_list = 15 templateFile = fileadmin/templates/podarki_template2.tmpl } [PIDinRootline = 16] lib.choose_goods < plugin.tt_news lib.choose_goods { code > code = LIST listOrderBy = title asc categoryMode = 2 categorySelection = TEXT categorySelection.dataWrap = {GPvar:menu1},{GPvar:menu2},{GPvar:menu3} pid_list = 15 templateFile = fileadmin/templates/podarki_template2.tmpl } [end] !!!!А еще такая проблема. Все работает, но когда на странице, с отображаемыми результатами мы нажимае в браузере ссылку "назад", то вылазит сообщение об ошибке: Database Error The current username, password or host was not accepted when the connection to the database was attempted to be established! Потом значит обновляем страницу и все работает. Почему так, кто-то может подсказать? Может я в коде где-то ошибся... зы. у меня там блоки новостей на 2х страницах. Изначально выводятся одни, а после выборки попадаем на другую страницу, где выводятся новости с учетом результатов этой выборки. Может Database Error можно избежать, если выводить все это на одну страницу. но как?
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress Последний раз редактировалось Tod; 27.09.2006 в 18:48 |
27.09.2006, 19:18 | #8 |
Senior Member
|
в общем, то был какой-то непонятный глюк от типо3. создал новую страницу, с теми же самыми настройками - все работает.
спасибо всем за помощь))
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress |
21.12.2009, 16:48 | #9 |
Senior Member
|
Спасибо огромное за код! Для именно этих задач подошел.
|