Модуль проверки уникальности заголовка ноды

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

Аватар пользователя andreystrelkov andreystrelkov 4 августа 2014 в 18:24

Существует ли такой модуль, который в процессе создания ноды проверял на схожесть с другими заголовками материалов
Т.е. если я создаю базу организаций, то есть вероятность что через 500 созданных я случайно начну снова создавать ту которую уже создал

На toster.ru подобное что хочу, т.е. вводя заголовок он начинает показывать похожее

Комментарии

Аватар пользователя sergeybelya sergeybelya 4 августа 2014 в 18:39

andreystrelkov wrote:
Как оцените модуль, дата релиза под семёрку, старовата :(

Так проверьте, заодно и напишите результат.

Аватар пользователя drupby drupby 4 августа 2014 в 19:25

примерно так

duplicates.module

/**
 * Implementation of hook_menu()
 */

function duplicates_menu() {
  $items = array();
  $items['duplicates/check'] = array(
    'title' => 'Check for duplicates',
    'page callback' => 'duplicates_autocomplete',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );
  return $items;
}

/**
 * Implementation of hook_form_alter()
 */

function duplicates_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'article_node_form') {
    $form['title']['#autocomplete_path'] = 'duplicates/check';
  }
}

function duplicates_autocomplete($string) {
  $result = db_select('node', 'n')
    ->fields('n', array('title'))
    ->condition('title', '%' . db_like($string) . '%', 'LIKE')
    ->condition('type', 'article')
    ->range(0, 10)
    ->execute();

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

  drupal_json_output($matches);
}

"andreystrelkov" wrote:
одну букву поменял и уже всё

ну если вместо "пример" начнете писать "прымер", то тут уже никакой модуль не спасет

Аватар пользователя webpavilion webpavilion 4 августа 2014 в 21:46

Сфинкс для такого - как из пушки по мухам. Триграммный индекс и расстояние Левенштейна классика для решения задач подобного рода. Делов часов на 5-6 максимум с админкой для настройки весов.

Аватар пользователя drupby drupby 4 августа 2014 в 19:58

"ХулиGUN" wrote:
думаю в таком случае и логику проверки уникальности настроить можно

это уже будет совсем другая история, если ТС не может добавить для поля обычный autocomplete, то данный вопрос придется перемещать в другой раздел

Аватар пользователя andreystrelkov andreystrelkov 4 августа 2014 в 22:42

"drupby" wrote:
это уже будет совсем другая история, если ТС не может добавить для поля обычный autocomplete, то данный вопрос придется перемещать в другой раздел

"ХулиGUN" wrote:
Ну это понятно что возможность реализации прямопропорциональна высоте крепления рук относительно туловища

Тролли вы! =))))))))) я не спорю, с PHP и API у меня туго, поэтому всегда стараюсь найти какое нибудь решение из коробки

В идеале, как я это вижу, это добавление автокомплита и что то вроде русского стемминга.