En un proyecto reciente para un cliente (la mayoría de mis buenas ideas provienen de la solución de los problemas del cliente), que tenía el dilema de la exposición de una referencia de entidad con-en una forma estándar de Drupal FAPI. Necesitaba tener auto funcionalidad completa para buscar un producto de Comercio por SKU. Agrupé una solución de varias piezas de información encontradas en varios blogs y groups.drupal.org y del módulo de EntityReference.
Como requisito para que esto funcione, debe existir un campo EntityReference para almacenar los datos del autocompletar. Sólo necesitaba almacenar un valor único (campo de cardinalidad 1). Sin embargo, alguien podría fácilmente intercambiar por varios valores y reemplazar 'single' con "etiquetas". Para este ejemplo, el código FAPI es super simple.
$form['product_line_item_ref'] = array(
'#type' => 'textfield',
'#title' => t('Product Line Item Reference'),
'#description' => t('Enter the product line item.'),
// The last 4 URL parameters are important.
// 4: Use <NULL> as a placeholder in the URL when we don't have an entity.
// 3: Bundle, in our case the specific type of commerce line item but for node, that could page, etc.
// 2: Entity type, commerce line item in our example but node is also a valid type.
// 1: Field name that is the entityreference field.
'#autocomplete_path' => 'entityreference/autocompelete/single/commerce_product_line_item_ref/commerce_line_item/related_lines/NULL',
'#size' => 60,
'#maxlength' => 255,
'#required' => FALSE,
);
¿Desea mantener su sitio Drupal funcionando sin problemas, sin preocuparse por el mantenimiento? Podemos darle a su sitio ajustes ocasionales o ayudarle a mantenerlo al día a largo plazo.
Escríbanos sobre su proyecto y nos pondremos en contacto con usted dentro de 48 horas.