автодописование слов/фраз

Главные вкладки

Аватар пользователя andrey_bar andrey_bar 25 апреля 2014 в 10:16

Доброго времени суток!
Можно ли сделать так, чтобы пользователь на сайте вводит слово (в поле, вебформ), например - "Автомагнитола"
и вот пользователь ввёл "авто" и поле само дописывает "автомагнитола", "автомагазин" ?

Комментарии

Аватар пользователя andrey_bar andrey_bar 26 апреля 2014 в 22:45

macsol wrote:
Я это делал с помощью UI пример тут
заполнение городов
Посмотреть как сделано можно тут (Виджет autocomplete)

на главной странице слайды, если я вставляю код, то все слайды не слайды, а статичные картинки друг за другом.
+ это маленько не то, на сайте юзер вводит свой город, улицу, подъезд, квартиру и нужно чтобы и автозаполнение было + сразу проверка есть ли такая с таким домом и квартирой или нету?
вроде система кладр подходит, типо этого http://www.drupal.ru/node/109027
но в вебфор в текстовое поле хз как вставить автозаполнение

Аватар пользователя andrey_bar andrey_bar 27 апреля 2014 в 12:17

artemrrr wrote:
Вам с картой надо или без?

без карты. просто в веборме инпуты (текстовые поля) и надо чтобы в этих текстовых полях было автозаполнение и проверялось на актуальность.

Аватар пользователя artemrrr artemrrr 27 апреля 2014 в 12:46

"andrey_bar" wrote:
без карты. просто в веборме инпуты (текстовые поля) и надо чтобы в этих текстовых полях было автозаполнение и проверялось на актуальность.

Мое ламерское мнение, передумайте по другому, проверка если по адресам это жопа и груз для сайта, а если дом новый ? а если еще не сдан?.

Небольшое, (микро) удобство для юзера обернется Вам в большой головняк.

Аватар пользователя andrey_bar andrey_bar 27 апреля 2014 в 13:51

artemrrr wrote:
"andrey_bar" wrote:
без карты. просто в веборме инпуты (текстовые поля) и надо чтобы в этих текстовых полях было автозаполнение и проверялось на актуальность.

Мое ламерское мнение, передумайте по другому, проверка если по адресам это жопа и груз для сайта, а если дом новый ? а если еще не сдан?.

Небольшое, (микро) удобство для юзера обернется Вам в большой головняк.


как по другому?

Аватар пользователя artemrrr artemrrr 29 апреля 2014 в 11:09

"andrey_bar" wrote:
как по другому?
без автозавершения

p.s. А вообще я же не знаю что у вас за идея, может вообще структуру можно пересматреть подумайте, например Авито вообще не парились, у них большинство примочек на сайте появилось, когда количество уников шагнуло за 1 миллион, и это при их Шведских бабосах и целом IT отделе, я раньше тоже парился как дурак, за каждой херней, мой совет, сосредоточтись на маркетинге и продвижении. А всякие навороты вам прикрутят другие, за бабки или сами но позже.

Аватар пользователя andrey_bar andrey_bar 17 июня 2014 в 12:00

Спасибо.
1. захожу \sites\all\modules\webform\components\textfield.inc
2. после < php пишу
/**
* Form builder.
*/
function hook_form_edit_submitted_namebame_alter() {
$form['myfield'] = array(
'#type' => 'textfield',
'#title' => 'My field',
'#autocomplete_path' => 'mymodule/autocomplete', // <--
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
}

/**
* Implements hook_menu().
*/
function hook_form_edit_submitted_namebame_alter() {
$items['mymodule/autocomplete'] = array(
'page callback' => 'mymodule_autocomplete',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}

/**
* Autocomplete callback.
*/
function mymodule_autocomplete($string) {
// для примера, возвратим заголовки нод
$result = db_select('node', 'n')
->fields('n', array('title'))
->condition('title', '%' . db_like($string) . '%', 'LIKE')
->range(0, 10)
->execute();

$matches = array();
foreach ($result as $row) {
$matches[$row->title] = check_plain($row->title);
}

drupal_json_output($matches);
}

3. после этого иду ан страницу, где надо автозаполнение сделать - страница webform

< div class="content clearfix">
< form class="webform-client-form" enctype="multipart/form-data" action="/node/44" method="post" id="webform-client-form-44" accept-charset="UTF-8">< div>< div class="form-item webform-component webform-component-textfield" id="webform-component-namebame">
< label for="edit-submitted-namebame">< strong>имя
< input type="text" id="edit-submitted-namebame" name="submitted[namebame]" value="" size="10" maxlength="10" class="form-text" />

4. соответственно edit_submitted_namebame - formid ? и выше в первых двух кодах я заменил.
Подскажите пожалуйста, как реализовать автозаполнение то это?

Аватар пользователя sg85 sg85 17 июня 2014 в 17:16

омфг, короче, проще наймите кого-нибудь(не меня, у меня времени нет). Судя по тому, что вы ничего не поняли из статьи андеда, у вас нет знаний элементарных основ, например, про написание модуля, про то, что такое вообще хуки и т.д., не удивлюсь, если вы так же не знаете PHP, хотя всеми этими знаниями забита половина интернета, даже на drupal.org уже 100 раз разжевано все, что только можно.

Аватар пользователя sg85 sg85 18 июня 2014 в 13:42

https://api.drupal.org/api/drupal
внутри контента будут ссылки, вам нужно изучить и понять(в идеале все), для вашего конкретного случая нужно:
https://api.drupal.org/api/drupal/includes%21module.inc/group/hooks/7
https://api.drupal.org/api/drupal/includes%21database%21database.inc/gro...
https://api.drupal.org/api/drupal/includes%21menu.inc/group/menu/7
https://api.drupal.org/api/drupal/includes%21form.inc/group/form_api/7
https://api.drupal.org/api/drupal/modules%21system%21theme.api.php/group...
https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen...
это при условии, что вы уже знаете PHP и имеете хорошее представление о веб технологиях, тогда за вечер осилите и сможете с легкостью понять, что там имел ввиду андед, ибо более доступно, чем написано у него в посте, вам вряд-ли кто-то объяснит(по крайней мере бесплатно). На api.drupal.ru есть тоже самое на русском, но только для Drupal 6, хотя мое мнение - заниматься веб разработкой не зная английского, все равно, что преподавать русский язык в русской школе не зная русского языка.