![]() |
Дополнительные поля для текстовых страниц
Добрый день!
Вопрос такой. Сделал сайт для тур фирмы, они вводят информацию о турах в виде обычных текстовых страниц. Теперь хотят ввести поиск по турам, по следующим критериям:
У меня в голове есть два потенциальных решения:
Есть еще вариант - сделать обычный индексированный поиск и не париться, вот только в таком варианте - как сделать, чтобы не выбирались "левые" страницы вроде "о нас", а именно только туры? Подскажите, пожалуйста, возможные варианты решения. Или, проще говоря, куда копать? Неделю ползаю по описаниям экстеншнсов, ничего путного не нашел. |
На мой взгляд индексированный поиск тебе не помежет - это поиск по тексту, а тебе надо по определенным критериям.
Если ты не хочешь писать все с нуля, то думаю тебе надо копать в сторону екстеншенов типа tt_products...... |
Спасибо, Grank.
Да, действительно, индексированный поиск использовать не удалось. Зато помогло расширение pageflexform, которое позволяет для страницы добавить дополнительные поля (в моем случае это были поля "is_tour", "дата с", "дата по", "цена", "страна"), и задавать значения этих полей для определенного типа записей. Хранится это все в дополнительном поле таблицы pages, а из фронтенда поиск был чисто кастомным кодом (страница с содержанием типа "PHP script"). Получилось коряво и медленно, но это работает. К сожалению, функция-то довольно востребованная и популярная, а цивилизованных методов найти не удалось. Посмотрим еще, как поведет себя данное решение в жизни... Спасибо за отклик! |
@Pash
Мне пришлось столкнуться с точно такой же проблемой - нужно дабавить несолько дополнительных полей к странице. Ты мог бы рассказать, как ты добавил несколько полей? По умолчанию pageflexform добавляет только одно поле, я не пойму, как добавить несколько и как потом вывести в FE их содержимое. И может быть ты знаешь, как заставить это поле понимать HTML? Мне нужно, чтобы в тексте можно было ввести <br />. Сейчас в FE это выводится как <br />, перенос строки не происходит А также, можно ли использовать другой тип для этого поля, например textarea. Заранее спасибо за подсказку! |
@stoun
pageflexform настраивается в файле \typo3conf\ext\pageflexform\flexform_ds.xml Например, у меня в этом файле такие записи: Код:
<T3DataStructure> Другой тип поля, полагаю, использовать можно. Для этого нужно изменить экстеншн, заменив поле в темплейте. Где, что и как конкретно -- нужно смотреть, сходу не отвечу. По поводу <br /> в коде -- можно не делать htmlspecialchars, однако это не всегда безопасно, да и, думаю, хлопотно это будет. Проще либо какой-то признак конца строки сделать (типа сочетакние "%%%" означает перенос на новую строку), либо использовать textarea. Так что все возможно, все реально. Успехов! Привет! |
Часовой пояс GMT +4, время: 16:22. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot