Я хотел бы сделать форму, которую я имею на своем собственном веб-сайте. Или, если это не вариант, как мне пойти, например, показывая результаты поиска, который я делаю на своем сайте?
У меня есть сайт, на котором вы ищете места, и он возвращает список мест для ваших предпочтений. В настоящий момент мой скрипт создает новый узел каждый раз, когда пользователь ищет, но это уже не удобно. Как изменить его так, чтобы содержимое страницы было изменено, и я вижу результаты вместо формы поиска?
Благодаря,
Вы должны перенаправить свою форму на страницу, передающую строку запроса, с строкой поиска пользователя, а затем используйте $ _GET ['search_param'] на странице поиска / restuls для обработки того, что будет отображаться для пользователя.
function yourform_form($form_state) { $form = array(); //$form['your_search_field'] $form['#submit'][] = 'yourform_form_submit'; return $form; } function yourform_form_submit(&$form, $form_state) { $query = 'search_param='. $form_state['values']['your_search_field']; drupal_goto('search/results', query); }
Если вы используете Drupal 7, ваша функция отправки должна выглядеть так:
function yourform_form_submit(&$form, $form_state) { $options['query']['search_param'] = $form_state['values']['your_search_field']; drupal_goto('search/results', $options); }
После отправки вы должны быть перенаправлены на сайт http://yoursite.com/search/results?search_param=my_search_value
Обратите внимание, что этот метод используется популярными поисковыми системами:
Ваша форма должна включать $form['#action']
чтобы привести вас к определенной странице после отправки:
function example_form($form_state) { $form = array(); //your form code //... $form['#action'] = url('search/results'); return $form; }
При отправке формы ( example_form_submit
) вы должны взять все свои значения и сохранить их в куки, используя функцию user_cookie_save
и на своей странице вы можете использовать эти файлы cookie. Вы также можете serialize
свои значения, чтобы иметь дело только с одним файлом cookie, если хотите, а затем unserialize
их на своей странице. Вы можете удалить cookie с user_cookie_delete
функции user_cookie_delete
.
Вы должны определить search/results
где вы можете взять данные cookie и управлять им.