Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 03.12.2007, 14:02   #1
Elenka
Новенький
 
Аватар для Elenka
 
Регистрация: 08.05.2007
Сообщений: 29
По умолчанию Как сделать форму поиска

Помогите пожалуиста, как сделать, чтобы поиск выглядел как окошечко для ввода слова и рядом кнопка Искать( стандартно как на всех сайтах), у меня поиск только расширенный получается, когда просто есть кнопка поиск и при нажатии на нее в поле CONTENTа появляется форма поиска расширенного( подкл. расширение search в typo3)
Elenka вне форума   Ответить с цитированием
Старый 04.12.2007, 22:19   #2
gunner
Продвинутый
 
Регистрация: 12.10.2004
Адрес: Severodonetsk, Ukraine
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Elenka Посмотреть сообщение
Помогите пожалуиста, как сделать, чтобы поиск выглядел как окошечко для ввода слова и рядом кнопка Искать( стандартно как на всех сайтах), у меня поиск только расширенный получается, когда просто есть кнопка поиск и при нажатии на нее в поле CONTENTа появляется форма поиска расширенного( подкл. расширение search в typo3)
для расширения Indexed Search в html-шаблон достаточно добавить что-то вроде:
Код:
<form action="index.php?id=999" id="quicksearch" name="quicksearch" method="post">
  <input type="hidden" value="0" name="tx_indexedsearch[_sections]" />
  <input type="hidden" value="_" name="tx_indexedsearch[_freeIndexUid]" />
  <input type="hidden" value="0" name="tx_indexedsearch[pointer]" />
  <input type="hidden" value="" name="tx_indexedsearch[ext]" />
  <input type="hidden" value="1" name="tx_indexedsearch[type]" />
  <input type="hidden" value="0" name="tx_indexedsearch[defOp]" />
  <input type="hidden" value="-1" name="tx_indexedsearch[media]" />
  <input type="hidden" value="rank_flag" name="tx_indexedsearch[order]" />
  <input type="hidden" value="flat" name="tx_indexedsearch[group]" />
  <input type="hidden" value="0" name="tx_indexedsearch[lang]" />
  <input type="hidden" value="0" name="tx_indexedsearch[desc]" />
  <input type="hidden" value="10" name="tx_indexedsearch[results]" />
  <input class="search_input" type="text" value="" name="tx_indexedsearch[sword]" size="10" />
  <input type="image" name="tx_indexedsearch[submit_button]" src="fileadmin/templates/images/icon-glass.gif" class="search_submit" />
</form>
где 999 - id страницы с результатами поиска

удачи =)
gunner вне форума   Ответить с цитированием
Старый 04.08.2008, 12:46   #3
HardRock
Senior Member
 
Регистрация: 23.07.2008
Сообщений: 136
Exclamation

Форма работает, но вот контент с альтернативных языков не ищет

помогите разобратся, в чём проблема , чт оя еще не указал ?

после установки зашол на каждую страницу, извсех существующих, создал страницу Search result, для отображения результатов поиска, подставил выше приведённый код, подкоректировал его под свой сайт, больше ничего не делал, поиск с ангийским языком работает, русский(альтернативный язык) не ищет

и еще вот такой вопрос, страницапоиска не переводится при смене языков, подскажите как это зделать ?
HardRock вне форума   Ответить с цитированием
Старый 05.08.2008, 12:36   #4
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

значится так... с реалурл'ом этот трюк не проходит. придется прописывать действующий путь до страницы с выводом результатов поиска (здесь ведущий слэш будет НЕОБХОДИМ!). если параметр L не скрыт - то проще этот код вынести в отдельный PHP файл и подключить в замапленную область, а всё, что стояло за "?" перекинуть в строку запросв. Примерно так
Код:
<form action="/здесь-путь-до-страницы-поиска/searsh.html?<? $s = explode("?", $_SERVER["REQUEST_URI"]);
echo $s[1]; ?>" id="ваш-идентификатор-класса-для-создания-стиля-оформления" name="quicksearch" method="post">
  <input type="hidden" value="0" name="tx_indexedsearch[_sections]" />
  <input type="hidden" value="_" name="tx_indexedsearch[_freeIndexUid]" />
  <input type="hidden" value="0" name="tx_indexedsearch[pointer]" />
  <input type="hidden" value="" name="tx_indexedsearch[ext]" />
  <input type="hidden" value="1" name="tx_indexedsearch[type]" />
  <input type="hidden" value="0" name="tx_indexedsearch[defOp]" />
  <input type="hidden" value="-1" name="tx_indexedsearch[media]" />
  <input type="hidden" value="rank_flag" name="tx_indexedsearch[order]" />
  <input type="hidden" value="flat" name="tx_indexedsearch[group]" />
  <input type="hidden" value="0" name="tx_indexedsearch[lang]" />
  <input type="hidden" value="0" name="tx_indexedsearch[desc]" />
  <input type="hidden" value="10" name="tx_indexedsearch[results]" />
  <input class="search_input" type="text" value="" name="tx_indexedsearch[sword]" size="10" />
  <input type="image" name="tx_indexedsearch[submit_button]" src="путь-к-вашей-картринке-с-иконкой-поиска" class="search_submit" />
</form>
Alex Podusov вне форума   Ответить с цитированием
Старый 05.08.2008, 16:27   #5
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

вынес форму поиска в отдельный php файл, так как добавил туда немного динамики плюс проверка на то, является ли это страница с поиском или нет, чтобы не выводить форму минипоиска на странице с основным поиском...
в setup
Код:
includeLibs.something1 = fileadmin/template/setup/form_searsh_mini.php 
lib.minisearsh = USER
lib.minisearsh {
  userFunc = PrintFormSearsh 
}
в файле form_searsh_mini.php
Код:
<?php
function PrintFormSearsh ($content) {
$content = 'формирование формы..........';
return $content;
}
?>
и вот не могу понять, почему в замапленный элемент... ничего не выводится...
Alex Podusov вне форума   Ответить с цитированием
Старый 06.08.2008, 09:36   #6
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Цитата:
Сообщение от Alex Podusov Посмотреть сообщение
вынес форму поиска в отдельный php файл, так как добавил туда немного динамики плюс проверка на то, является ли это страница с поиском или нет, чтобы не выводить форму минипоиска на странице с основным поиском...
в setup
Код:
includeLibs.something1 = fileadmin/template/setup/form_searsh_mini.php 
lib.minisearsh = USER
lib.minisearsh {
  userFunc = PrintFormSearsh 
}
в файле form_searsh_mini.php
Код:
<?php
function PrintFormSearsh ($content) {
$content = 'формирование формы..........';
return $content;
}
?>
и вот не могу понять, почему в замапленный элемент... ничего не выводится...
там кажется надо через класс->PrintFormSearsh

в tsref пример для userfunc
shuman вне форума   Ответить с цитированием
Старый 06.08.2008, 12:02   #7
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Сделал по анологии с подключением языкового меню. Там тоже просто функция в отдельном файле...
Код:
includeLibs.something = fileadmin/template/setup/tt_news_languageMenu.php 
lib.menu_langselector = USER
lib.menu_langselector {
  userFunc = user_languageMenu 
}
Alex Podusov вне форума   Ответить с цитированием
Старый 06.08.2008, 12:44   #8
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Сделал так:
Код:
includeLibs.something1 = fileadmin/template/setup/form_searsh_mini.php 
lib.minisearsh = USER
lib.minisearsh {
  userFunc = myFuncClass->PrintFormSearsh 
}
в файле form_searsh_mini.php
Код:
<?php
class myFuncClass {
  function PrintFormSearsh ($content) {
    .....
    $c = '...';
    return $c;
  }
}
?>
и всё равно ничего
Alex Podusov вне форума   Ответить с цитированием
Старый 06.08.2008, 15:31   #9
HardRock
Senior Member
 
Регистрация: 23.07.2008
Сообщений: 136
Smile

Цитата:
Сообщение от Alex Podusov Посмотреть сообщение
Сделал так:
и всё равно ничего
вот как зделао у меня

includeLibs.cheta = fileadmin/templates/cms/getSearch.php
page.1.subparts.SEARCH = USER
page.1.subparts.SEARCH.userFunc = user_getSearch

а в index стоит :
<!-- ###SEARCH### -->|<!-- ###SEARCH### -->

всё работает

P.S. помоему называть функцию начиная с user_ обязятельно
HardRock вне форума   Ответить с цитированием
Старый 06.08.2008, 16:10   #10
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

ха! И верно... в первоначальный вариант, без класса, добавил user_ к названию функции - и всё заработало. Спасибо! Теперь кажется, что где-то я это читал, но видимо тогда оно не отлажилось в голове
Alex Podusov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ссылку на несколько страниц назад? Илья Общие вопросы 0 24.09.2007 17:58
Хочу сделать корзину для TYPO3 такую же, как у Windows. thebat Общие вопросы 6 14.05.2007 12:00
Как сделать чтобы новый пункт меню имел свой id Manas TypoScript практикум 2 23.12.2006 16:19
Подскажите как правильней сделать Владимир Умнов Общие вопросы 2 12.10.2005 11:44
Как сделать чтоб для каждой страницы адрес был бы уникальным? MercurieVV Общие вопросы 3 14.09.2004 08:37


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория