Campo en contenido que incremente de forma automatica

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
davidcordero's picture

Hola a todos y gracias por su colaboración, por adelantado.

El problema es el siguiente, estoy desarrollando un sitio web el cual estoy proyectando incluirle un contenido en el que me muestre datos de alojamiento, pero quiero agregarle un campo personalizado de tipo numero el cual se incremente cada vez que me den click en un boton que agregare alli en dicho contenido como puedo realizar ese incremento en el campo que he puesto en este contenido.

Saludos y espero me ayuden

Comments

Incremento

Alexrt's picture

David te puedo decir que utilices si quieres una vista y luego pongas el campo de tipo integer en el tipo de contenido y con codigo php modifiques su valor para luego almacenarlo en la base de datos. Espero que te sirva de ayuda

No PHP

jts86's picture

Usar los PHP plugins es una muy mala práctica. Estos fuerzan el uso de eval(), cuyo código es sumamente difícil de debuguear.

Solo comentario

Alexrt's picture

Estoy de acuerdo contigo, js posee mejor rendimiento y demas. Yo solo le comunique una ayuda para que hiciera un modulo propio. Al final en drupal muchas cosas avanzadas se realizan en codigo. No necesita ningun plugin de php. Saludos.

PHP Filters

jts86's picture

No me expresé bien, me refiero a los filtros de PHP que te permiten ingresar código desde la interfaz de usuario de administración, como hay por ejemplo para Views a través del submódulo Views PHP.

No problem

Alexrt's picture

Tranquilo man, estamos aqui para debatir y aprender, gracias por la sugerencia yo voy a probarla tambien. Saludos cordiales

Tal vez exista ya algún

daneelcm's picture

Tal vez exista ya algún módulo que haga eso tendrías que buscar bien. Si no existe vas a tener que crear el botón y su comportamiento a través de jquery, creó que es lo más aconsejable y rápido. Puedes agregar el script inline o crear un .js e incluirlo en la carga de tu página.

AJAX

jts86's picture

No creo que puedas hacer eso por UI. Puedes crearte el campo normalmente en el content type e implementar con AJAX el botón que irá actualizándolo. Aquí un buen y sencillo ejemplo https://www.drupal.org/node/2046693 de uso de AJAX en Drupal.

Ajax

davidcordero's picture

Muchisimas gracias por tu respuesta, pero tengo un problemita, no soy muy ducho en este tema de ajax y drupal, como puedo hacer eso que me comentas por aqui

saludos

Guidelines

jts86's picture

Eso depende en gran medida de cómo estés poniendo el botón, o de qué sea el botón en cuestión (custom form por ejemplo), pero en cualquier caso necesitarás tirar código. Fíjate en el link que te pasé anteriormente. En general la idea es que definas una url a donde irá el llamado de ajax con un hook_menu ('node/get/ajax/%' en el ejemplo), a la cual vas a asociar un page callback (myModule_ajax_get_ajax) en donde vas a cargar el nodo, le vas a asignar el nuevo valor al campo y lo vas a guardar. Luego en el HTML del botón necesitas introducir JS que llame asíncronamente (sin recargar la página) a tu url y por tanto a tu callback y se haga lo que quieres:

<a class="btn" href="#" onclick="$.ajax('/node/get/ajax/11');">Ajax Test</a>

Fíjate que en el path al que vas a llamar deberías incluir algo como el nid del nodo, para que el page callback después sepa a qué nodo hay que incrementarle el valor.
En este caso a diferencia del ejemplo no deberías necesitar hacer un jQuery load() ni usar un delivery callback porque no estás cambiando markup, solamente quieres hacer un llamado al backend para que haga procesamiento sobre la base de datos.
Analiza el ejemplo y googlea! xD.

Cuba

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: