Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
17.01.2008, 15:06 | #1 |
Новенький
Регистрация: 17.01.2008
Сообщений: 3
|
Дополнительные поля для текстовых страниц
Добрый день!
Вопрос такой. Сделал сайт для тур фирмы, они вводят информацию о турах в виде обычных текстовых страниц. Теперь хотят ввести поиск по турам, по следующим критериям:
У меня в голове есть два потенциальных решения:
Есть еще вариант - сделать обычный индексированный поиск и не париться, вот только в таком варианте - как сделать, чтобы не выбирались "левые" страницы вроде "о нас", а именно только туры? Подскажите, пожалуйста, возможные варианты решения. Или, проще говоря, куда копать? Неделю ползаю по описаниям экстеншнсов, ничего путного не нашел. |
25.01.2008, 20:45 | #2 |
Продвинутый
Регистрация: 10.10.2005
Сообщений: 92
|
На мой взгляд индексированный поиск тебе не помежет - это поиск по тексту, а тебе надо по определенным критериям.
Если ты не хочешь писать все с нуля, то думаю тебе надо копать в сторону екстеншенов типа tt_products...... |
26.01.2008, 01:04 | #3 |
Новенький
Регистрация: 17.01.2008
Сообщений: 3
|
Спасибо, Grank.
Да, действительно, индексированный поиск использовать не удалось. Зато помогло расширение pageflexform, которое позволяет для страницы добавить дополнительные поля (в моем случае это были поля "is_tour", "дата с", "дата по", "цена", "страна"), и задавать значения этих полей для определенного типа записей. Хранится это все в дополнительном поле таблицы pages, а из фронтенда поиск был чисто кастомным кодом (страница с содержанием типа "PHP script"). Получилось коряво и медленно, но это работает. К сожалению, функция-то довольно востребованная и популярная, а цивилизованных методов найти не удалось. Посмотрим еще, как поведет себя данное решение в жизни... Спасибо за отклик! |
15.11.2008, 17:02 | #4 |
Продвинутый
Регистрация: 01.10.2004
Сообщений: 48
|
@Pash
Мне пришлось столкнуться с точно такой же проблемой - нужно дабавить несолько дополнительных полей к странице. Ты мог бы рассказать, как ты добавил несколько полей? По умолчанию pageflexform добавляет только одно поле, я не пойму, как добавить несколько и как потом вывести в FE их содержимое. И может быть ты знаешь, как заставить это поле понимать HTML? Мне нужно, чтобы в тексте можно было ввести <br />. Сейчас в FE это выводится как <br />, перенос строки не происходит А также, можно ли использовать другой тип для этого поля, например textarea. Заранее спасибо за подсказку! |
16.11.2008, 03:08 | #5 |
Новенький
Регистрация: 17.01.2008
Сообщений: 3
|
@stoun
pageflexform настраивается в файле \typo3conf\ext\pageflexform\flexform_ds.xml Например, у меня в этом файле такие записи: Код:
<T3DataStructure> <meta> </meta> <sheets> <sDEF> <ROOT> <TCEforms> <sheetTitle>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.default.title</sheetTitle> </TCEforms> <type>array</type> <el> <tourInput> <TCEforms> <label>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.tour.input</label> <config> <type>input</type> <size>20</size> </config> </TCEforms> </tourInput> <countryInput> <TCEforms> <label>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.country.input</label> <config> <type>input</type> <size>20</size> </config> </TCEforms> </countryInput> <date_fromInput> <TCEforms> <label>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.date_from.input</label> <config> <type>input</type> <size>20</size> </config> </TCEforms> </date_fromInput> <date_toInput> <TCEforms> <label>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.date_to.input</label> <config> <type>input</type> <size>20</size> </config> </TCEforms> </date_toInput> <priceInput> <TCEforms> <label>LLL:EXT:pageflexform/locallang_tca.php:pageflexform.price.input</label> <config> <type>input</type> <size>20</size> </config> </TCEforms> </priceInput> </el> </ROOT> </sDEF> </sheets> </T3DataStructure> Другой тип поля, полагаю, использовать можно. Для этого нужно изменить экстеншн, заменив поле в темплейте. Где, что и как конкретно -- нужно смотреть, сходу не отвечу. По поводу <br /> в коде -- можно не делать htmlspecialchars, однако это не всегда безопасно, да и, думаю, хлопотно это будет. Проще либо какой-то признак конца строки сделать (типа сочетакние "%%%" означает перенос на новую строку), либо использовать textarea. Так что все возможно, все реально. Успехов! Привет! |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Один элемент контента для нескольких страниц | MVH | Общие вопросы | 3 | 16.02.2010 17:56 |
Изменить значение поля в админке для fe_users | Tod | TypoScript практикум | 0 | 22.06.2007 02:43 |
Разные файлы стилей css для разных страниц в TS | filippoff | Общие вопросы | 1 | 25.12.2006 14:39 |
разный контент для разных типов страниц | eater | Общие вопросы | 14 | 16.12.2006 15:30 |
tt_news, дополнительные поля | ursula1000 | Общие вопросы | 3 | 09.03.2006 18:19 |