Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $form['node_items'] = array(
- '#type' => 'textfield',
- '#autocomplete_route_name' => 'mymodulenode.autocomplete',
- '#autocomplete_route_parameters' => array('skip_node_id_string' => $skip_node_id_string),
- );
- public function autocomplete(Request $request,$skip_node_id_string) {
- $skip_node_id = explode("&", $skip_node_id_string);
- $string = $request->query->get('q');
- if ($string) {
- $nids = Drupal::entityQuery('node')
- ->condition('status', 'NODE_PUBLISHED')
- ->condition('nid', $skip_node_id , 'NOT IN')
- ->condition('title', $string, 'CONTAINS')
- ->execute();
- $nodes = Node::loadMultiple($nids);
- foreach($nodes as $node){
- $path_alias = 'node/'.$node->get('nid')->value;
- $alias = Drupal::service('path.alias_manager')->getPathByAlias($path_alias);
- //$alias = drupal_get_path_alias('node/'.$type['nid']);
- $alias = (strlen($alias) > 23) ? substr($alias,0,20).'...' : $alias;
- $matches[] = array('label' => $node->get('title')->value.'['. $node->get('nid')->value .', '.$alias .']', 'value' => $node->get('title')->value . '[nid:' . $node->get('nid')->value . ']');
- }
- }
- return new JsonResponse($matches);
- }
Add Comment
Please, Sign In to add comment