¿Cómo imprimir la última consulta ejecutada en CakePHP2?

Siga los siguientes pasos para imprimir la última consulta ejecutada en CakePHP2:

Para imprimir la última consulta ejecutada:

Agregue el siguiente código en el archivo app_model.php que se encuentra en root / cake / libs / model.

función pública getLastQuery () {Configure :: write ('debug', '2'); $ dbo = $ this-> getDatasource (); $ logs = $ dbo-> getLog (); $ lastLog = end ($ logs ['log']); devuelve $ lastLog ['consulta']; }

Agregue la siguiente línea en su modelo donde desee imprimir consulta.

$ last_query = $ this-> ModelName-> getLastQuery ();

Como hemos guardado la última consulta ejecutada en la variable $ last_query, utilice esto para imprimir la última consulta ejecutada.

Nota: el código anterior solo funcionará si su modelo amplía appModel porque hemos definido la función en app_model.php

Para imprimir todas las consultas ejecutadas:

Escriba debajo el código en el modelo para mostrar todas las consultas que se ejecutaron en el código:

$ log = $ this-> Model-> getDataSource () -> getLog (false, false); depuración ($ log);


¿Cómo enviar una copia del correo de confirmación del pedido al propietario de la tienda (administrador) en Opencart?

En Opencart hay una funcionalidad para automatizar el envío de correos electrónicos de pedidos al administrador que enviamos al cliente después de realizar un pedido.

Para Opencart 2.2

Siga los siguientes pasos para automatizar el envío de correos electrónicos de pedidos al administrador:

  • Abra el panel de administración y vaya a Sistema -> Configuración. En esta página, verá una lista de tiendas.
  • Abra una tienda en modo de edición haciendo clic en el icono de edición.
  • Abre el “Optión“pestaña y busca”Correo de alerta de nuevo pedido” en la sección de pago. Seleccione el ‘Sí‘ botón de radio y guardar.

Consulte las siguientes capturas de pantalla

Nota: Función agregar historial de pedidos() en el archivo catalog/model/checkout/order.php se usa para enviar correo a correo al administrador. Si desea realizar algún cambio en el correo electrónico, puede realizar esta función. Buscar ‘if ($this->config->get(‘config_order_mail’)) {‘ para encontrar el código para enviar correo al administrador.

Para Opencart 2.3

Siga los siguientes pasos para automatizar el envío de correos electrónicos de pedidos al administrador:

  • Abra el panel de administración y vaya a Sistema -> Configuración. En esta página, verá una lista de tiendas.
  • Abra una tienda en modo de edición haciendo clic en el icono de edición.
  • Abre el ‘mail‘ pestaña y verifique “Correo de alerta” en el “Alertas de correo” sección. Marque la casilla de verificación ‘en pedidos de venta.‘ y guardar.

Consulte las siguientes capturas de pantalla

Nota: Función añadirOrderHistory() in catálogo/modelo/pago/pedido.php El archivo se utiliza para enviar correo a correo a administrador. Si desea realizar algún cambio en el correo electrónico, puede realizar esta función. Buscar ‘if (in_array(‘order’, (array)$this->config->get(‘config_mail_alert’))) {‘ para encontrar el código para enviar correo al administrador.

En el final:

Con el fin de mejorar la funcionalidad de su tienda OpenCart, Knowband ofrece una gran selección de productos gratuitos y de pago. Extensiones de OpenCart. Con una gran variedad de características disponibles en estos módulos, el administrador de la tienda puede lanzar, desarrollar y hacer crecer su negocio fácilmente. Para obtener más información sobre la funcionalidad y las características de los módulos OpenCart, no dude en comunicarse con nosotros en support@Knowband.com.

Mostrar todos los productos cuando la búsqueda está en blanco (Opencart 2.3.x)

Objetivos del blog.

Después de leer este blog, podrá mostrar todos los productos cuando la búsqueda esté en blanco.

Planteamiento del problema

Actualmente en Opencart, cuando el usuario busca cualquier cadena con la función de búsqueda, no se devuelve ningún producto si no se ha encontrado ningún producto de búsqueda en la base de datos. Queremos que devuelva todos los productos cuando la búsqueda esté vacía.

Implementación de Código

Para lograr esto, tendremos que hacer algunos cambios en la función de modelo que estamos usando para obtener productos de la base de datos en base a la palabra clave de búsqueda ingresada. Aquí estamos haciendo cambios en getProducts () ?function of model catálogo / modelo / catálogo / producto.php ya que estamos utilizando esta función para mostrar los resultados en base a la palabra clave de búsqueda.

Nota: puede hacer los mismos cambios en la función de modelo que está utilizando para obtener productos. Aquí está el código que hemos añadido en el modelo:

/ * Se verificó si el resultado estaba vacío (filas 0 afectadas) de la consulta que se está ejecutando para recuperar datos en base a la palabra clave de búsqueda. * Si es así, entonces se agrega una nueva consulta para obtener nuevos productos agregados y se ejecuta igual. * Al hacer esto, mostraremos nuestros nuevos productos en la página de búsqueda en lugar de mostrar una página en blanco. * / if ($ query-> num_rows == 0) {$ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "producto p ÚNICA IZQUIERDA". DB_PREFIX. "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN". DB_PREFIX. "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "'GROUP BY p.product_id ORDEN POR p.product_id DESC LIMIT 20"; $ query = $ this-> db-> query ($ sql); }

Agregue este código justo después de ejecutar la consulta principal o justo después de la línea ($ consulta = $ esto-> db-> consulta ($ sql)). En este código, primero hemos verificado el número de filas afectadas por la consulta principal (utilizada para obtener datos en función de la palabra clave de búsqueda). Si la fila afectada es 0 ($ query-> num_rows == 0) Luego agregamos nuestra consulta para buscar nuevos productos añadidos. Al hacer esto, mostraremos nuestros nuevos productos en la página de búsqueda en lugar de mostrar una página en blanco.

Nota: Aquí hemos escrito una consulta para obtener nuevos productos agregados de la base de datos si la búsqueda está vacía. También puede agregar consultas para obtener productos más vendidos o especiales de acuerdo con sus requerimientos.

Resumen

Después de realizar los siguientes cambios en el archivo modelo, los nuevos productos agregados se mostrarán cuando la búsqueda esté vacía.


Obtén los últimos productos sin precios especiales (Opencart 2.3)

Objetivos del blog.

Después de leer este blog, podrá obtener productos de la base de datos de Opencart sobre la base del parámetro que se pasa desde la URL.

Requisito

Tenemos que mostrar los últimos productos sobre la base del parámetro pasado en la URL. Usando este parámetro, tenemos que decidir si debemos mostrar productos especiales o no.

Implementación de Código

Para implementar esto necesitamos hacer cambios en nuestro controlador y modelo. En el controlador, agregamos la condición para pasar el parámetro y en el modelo realizaremos cambios en la consulta de acuerdo con el parámetro pasado. Para manejar la condición estamos usando show_special Parámetro en el código. A continuación se muestra el código que tenemos que añadir en el controlador (catálogo / controlador / extensión / módulo / latest.php):

/ * Comprobación de la clave show_special en el parámetro get * Esta clave ($ show_special) se utilizará para recuperar condicionalmente datos de la base de datos. * es decir, si $ show_special = 1 muestra productos que * special $ show_special = 0 muestra productos que no tienen especial * else * muestra todos los productos independientemente de special * / if (isset ($ this-> request-> get [' show_special '])) {// pasando el valor en la variable si se establece en la URL $ show_special = $ this-> request-> get [' show_special ']; } else {// De lo contrario, se pasará una cadena vacía $ show_special = ''; } // Crear una variable para pasar al modelo $ filter_data = array ('start' => ($ page - 1) * $ limit, 'limit' => $ limit, 'show_special' => $ show_special); // Llamando a la función de modelo para obtener datos de la base de datos de acuerdo con los datos pasados ​​en la matriz filter_data. $ results = $ this-> model_catalog_product-> getProductLatest ($ filter_data);

En este código primero hemos comprobado que si 'show_special'parámetro está configurado en la URL o no. Si es así, establezca el valor del parámetro en una variable $ show_special y si no, entonces establezca la variable como en blanco. Entonces hemos creado una matriz ($ default_data) con los valores en nombre de los cuales tenemos que buscar productos de la base de datos. Entonces hemos llamado función de modelo. getProductLatest () para obtener los últimos productos de acuerdo con la variable pasada ($ filter_data) en la función. Aquí está la función que tenemos que agregar en el modelo (catálogo / modelo / catálogo / producto):

función pública getProductLatest ($ data = array ()) {// Configurando los parámetros $ join y $ condition para obtener datos de productos especiales si ($ data ['show_special'] == '1') {$ join = "LEFT JOIN" . DB_PREFIX. "product_special ps ON (ps.product_id = p.product_id)"; $ condition = "AND ps.customer_group_id = '". (int) $ this-> config-> get ('config_customer_group_id'). "'AND ((ps.date_start =' 0000-00-00 'OR ps.date_start <NOW ()) AND (ps.date_end =' 0000-00-00 'OR ps.date_end> NOW () O ps.date_end = '0001-01-01')) "; } // Configurando los parámetros $ join y $ condition para obtener datos de productos que no son específicos ($ data ['show_special'] == '0') {$ join = "LEFT JOIN". DB_PREFIX. "product_special ps ON (ps.product_id = p.product_id)"; $ condition = "AND ps.product_id IS NULL"; } else {// Estableciendo los parámetros $ join y $ condition para obtener datos de todos los productos, independientemente de la especial $ join = ''; $ condición = ''; } // Consulta para obtener datos de productos de la base de datos. Se agregaron los parámetros $ join y $ condition en la consulta para obtener datos en consecuencia $ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "producto p ÚNICA IZQUIERDA". DB_PREFIX. "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN". DB_PREFIX. "product_to_store p2s ON (p.product_id = p2s.product_id) $ join WHERE p.status = '1' AND p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "'$ condition GROUP BY p.product_id ORDER BY p.product_id DESC"; // Establecer el límite en la consulta si se pasa LIMIT desde el controlador. if (isset ($ data ['start']) || isset ($ data ['limit'])) {if ($ data ['start'] <0) {$ data ['start'] = 0; } if ($ data ['límite'] <1) {$ data ['límite'] = 20; } $ sql. = "LIMIT". (int) $ datos ['inicio']. ",". (int) $ datos ['límite']; } $ product_data = array (); // Ejecutar consulta $ consulta = $ esto-> db-> consulta ($ sql); // Bucle para establecer los datos recuperados en la variable para pasar en el controlador. foreach ($ consulta-> filas como $ resultado) {$ product_data [$ resultado ['product_id']] = $ this-> getProduct ($ result ['product_id']); } // Devolver los datos de los productos al controlador. devuelve $ product_data; }

En el modelo hemos establecido variables. $ unirse y $ condición Sobre la base de las siguientes tres condiciones:

  1. Si show_special es 1: En este caso solo hemos mostrado productos que son especiales. Como en Opencart, los datos de productos especiales se almacenan en la tabla oc_product_special, por lo que hemos agregado la combinación de oc_product table con la tabla oc_product_secial para obtener datos de productos especiales únicamente.
  2. Si show_special es 0: En este caso, hemos mostrado productos que no están configurados como especiales. Entonces, para encontrar productos que no sean especiales, tenemos que buscar productos que están en una tabla especial pero en la tabla oc_product_special. Para esto hemos agregado la combinación IZQUIERDA de la tabla oc_product con la tabla oc_product_secial y la condición agregada "ps.product_id IS NULL".
  3. Si show_special es distinto de 0 y 1: En este caso, tenemos que buscar todos los productos, ya sean especiales o no. Así que para esto hemos obtenido directamente datos de la tabla oc_product.

Después de agregar las tres condiciones posibles, hemos escrito la consulta y la ejecutamos. Entonces hemos puesto todos los datos recuperados en $ product_data Array y devuelve lo mismo al controlador.

Nota: aquí para obtener los últimos productos que acabamos de utilizar 'Ordenar por product_id DESC' en la consulta. Si desea obtener datos de productos que se agregaron en los últimos días, puede agregar una condición más en la cláusula WHERE, es decir, fecha_added> 'cualquier fecha'.

Resumen

Después de seguir el procedimiento anterior, podrá obtener los últimos productos especiales sobre la base del parámetro pasado para productos especiales en la URL.


¿Cómo crear URL amigables con SEO en Opencart 2.x?

Introducción

Este documento le dará una idea sobre cómo crear URL amigables con SEO en Opencart (versión 2.x). También explicará cómo personalizar la función Opencart para crear URL de SEO que no sean páginas predeterminadas (página de producto, página de categoría, etc.). Este documento también explicará cómo redirigir 301 las URL de la URL antigua a la nueva URL y las URL eliminadas. El objetivo principal de este documento es aprender a crear URL amigables con SEO en Opencart (versión 2.x) y redirecciones de URL para mantener nuestra clasificación de SEO en Google. Las URL compatibles con SEO son URL bien diseñadas que brindan tanto a los humanos como a los motores de búsqueda una indicación fácil de entender de qué se tratará la página de destino.

Paso predeterminado en Opencart para habilitar la URL de SEO

En Opencart hay configuraciones que debemos administrar desde el panel de administración para activar las URL amigables con SEO.

Los siguientes son los pasos para habilitar:

  • Abra el panel de administración. Vaya a Sistema > Configuración. Luego haga clic en el botón de edición correspondiente a la tienda desde la página de listado de tiendas.
  • En la página de edición de configuración del sistema, abra la pestaña ‘Servidor’.
  • En el servidor, la pestaña selecciona el botón de radio ‘Sí’ correspondiente a ‘Usar URL de SEO’ y luego hace clic en el botón Guardar.

Al hacer esto, el administrador podrá usar las URL de SEO.

Lectura recomendada: Las 10 mejores extensiones de Opencart para mejorar la experiencia del cliente

Las páginas en Opencart tienen la opción de agregar URL amigables con SEO

En Opencart hay una opción predeterminada para crear URL compatibles con SEO para la siguiente página:

  • página del producto
  • Página de categoría
  • Página del fabricante
  • Página de información

Para todas estas páginas anteriores, hay una opción en su respectiva página de edición para ingresar la URL de SEO.

Lectura recomendada: Las 10 características principales a tener en cuenta al crear un mercado en la plataforma OpenCart

Página del producto

Para guardar la URL de SEO de cualquier página de producto, vaya a Catálogo > Productos en el panel de administración. Haga clic en el botón editar correspondiente al nombre del producto. En la página de edición del producto, haga clic en ‘Datos‘ pestaña. En la pestaña Datos, hay una opción para ‘Palabra clave SEO‘. Ingrese la URL de SEO del producto y luego guarde.
Consulte la siguiente pantalla:

Categoría Página

Para guardar la URL de SEO de cualquier página de categoría, vaya a Catálogo > Categorías en el panel de administración. Haga clic en el botón editar correspondiente a la categoría. En la página de edición de categoría, haga clic en ‘Datos‘ pestaña. En la pestaña Datos, hay una opción para ‘URL de SEO“. Ingrese la URL de SEO de la categoría y luego guarde.
Consulte la siguiente pantalla:

fabricante Página

Para guardar la URL de SEO de cualquier página de fabricante, vaya a Catálogo > Fabricantes en el panel de administración. Haga clic en el botón editar correspondiente al fabricante. En la página de edición del fabricante, hay una opción para ‘URL de SEO“. Ingrese la URL de SEO del fabricante y luego guarde.

Consulte la siguiente pantalla:

Lectura recomendada: ¿Cuáles son las ventajas y desventajas de usar una plataforma OpenCart?

Página de información

Para guardar la URL de SEO de cualquier página de información, vaya a Catálogo > Información en el panel de administración. Haga clic en el botón editar correspondiente a la página de información. En la edición, la página de información hace clic en la pestaña ‘Datos’. En la pestaña Datos, hay una opción para ‘URL de SEO”. Ingrese la URL de SEO de la página de información y luego guarde.

Consulte la siguiente pantalla:

Nota: El administrador también puede guardar la URL de SEO mientras agrega un nuevo producto, categoría, fabricante y página de información. Si el administrador desea crear una URL de SEO para cualquier página personalizada, debe realizar los cambios correspondientes (se explica a continuación en el mismo documento).

Flujo técnico para URL

En Opencart (versión 2.x), cuando el usuario accede a cualquier URL (SEO o no SEO), llama al archivo del controlador seo_url.php ubicado en catalogue/controller/startup. Este archivo se llama para encontrar la URL de SEO.

Nota:�La URL de SEO de cada página se almacena en la tabla ‘url_alias’ en la base de datos. Si el cliente accede a cualquier URL que no sea SEO, llamará al archivo seo_url.php. En este archivo, hay un código que busca la URL SEO de la URL no SEO en la columna ‘palabra clave’ de la tabla url_alias correspondiente a la columna ‘consulta’

Tabla url_alias en la base de datos

La tabla url_alias se utiliza para guardar las URL de SEO de todas las páginas. Hay las siguientes 3 columnas en la tabla por defecto:

  • url_alias_id: Clave principal de la tabla.
  • Consulta: contiene la identificación de diferentes páginas como product_id, category_id y otras páginas.
  • Palabra clave: contiene la palabra clave URL de SEO de la página correspondiente

Creación de URL de SEO para otras páginas que no sean las predeterminadas

Si el administrador ha creado páginas de destino y desea publicar una URL de SEO para la página. Para ello primero hay que hacer una entrada de la página en la tabla url_alias.

Ejemplo 1:
Si el administrador ha creado la página de inicio de ‘Deportes’, entonces tiene que hacer una entrada en la tabla url_alias como:

  • En la columna de consulta: sport_id=1
  • En la columna de palabras clave: deportes

El administrador también debe realizar cambios en el archivo del controlador seo_url.php para sport_id. El administrador debe agregar una condición para sport_id igual que product_id y category_id. Ahora, si el administrador ingresa la URL “host/index.php?route=product/landing_page&sport_id=1”, entonces el código buscará la palabra clave seo en la tabla url_alias correspondiente a sport_id=1 y luego servirá la URL ‘host/sports’.

Ejemplo 2:

En este ejemplo, crearemos una URL de SEO para la página del blog. Para esto, debemos agregar una condición en el archivo del controlador y hacer una entrada en la tabla url_alias correspondiente a blog_id: Consulte la captura de pantalla a continuación del archivo seo_url.php:

Lectura recomendada: ¿Cómo se puede cambiar el formato de moneda en una plataforma OpenCart?

Captura de pantalla de la tabla url_alias

Redirecciones de URL en Opencart

En Opencart, si el administrador desea crear nuevas URL de SEO y desea una redirección 301 (redireccionamiento permanente) o 302 (redireccionamiento temporal) en una nueva URL, entonces el administrador debe realizar los siguientes cambios en el archivo del controlador y en la tabla url_alias.

  1. Cree una nueva columna old_keyword en la tabla url_alias de tipo ‘varchar‘.
  2. Condición Handel en el archivo del controlador para buscar en la columna old_keyword si el usuario busca una URL antigua.

Ejemplo: Para redirigir desde la antigua URL del ‘terminos y condiciones‘ página a la nueva URL. Si el administrador desea redirigir cualquier página de información de la URL anterior a la nueva, debe realizar una entrada en la tabla url_alias. Consulte la siguiente captura de pantalla:

Aquí

  • la palabra clave anterior es: shop/terms-conditions.html
  • nueva palabra clave: ayuda/términos-condiciones

Cambios en el archivo del controlador: en seo_url.php, el administrador del controlador tiene que manejar las condiciones si no se encuentra la URL ingresada en la columna de palabras clave. El primer sistema buscará la URL ingresada en la columna de palabra clave. Si no se encuentra, buscará en la columna old_keyword. Si lo encuentra, lo redirigirá a la nueva URL correspondiente. Por favor, consulte la siguiente captura de pantalla:

Redirecciones de URL en Opencart para páginas eliminadas

Si el administrador desea redirigir la URL de categorías eliminadas, productos o cualquier otra página en la página de inicio, puede realizar los cambios correspondientes en el archivo del controlador.

Ejemplo: Aquí redireccionaremos 301 las URL de las categorías eliminadas Pasos para redirigir la URL de las categorías eliminadas:

  • Cree un archivo y defina una matriz con la clave como URL de categoría eliminada y el valor como URL a la que el administrador desea redirigir. Consulte la siguiente captura de pantalla para crear una matriz de categorías eliminadas.

��� Nota: Aquí hemos definido un valor en blanco porque queremos redirigir las URL de las categorías eliminadas a la página de inicio

  • Agregue una condición en el controlador seo_url.php para redirigir desde la URL de la categoría eliminada a la nueva URL.

Primero, en este código, hemos incluido un archivo que contiene URL de categorías eliminadas y luego verificamos si la URL ingresada está en la matriz definida o no. En caso afirmativo, se redirigirá a una nueva URL; de lo contrario, se redirigirá a la página no encontrada.

En el final:

Una variedad de módulos y extensiones de OpenCart, tanto gratuitos como de pago, están disponibles en Knowband para impulsar el funcionamiento de su tienda. Para conocer en detalle las plataformas OpenCart, los módulos disponibles o cualquier funcionalidad relacionada con la plataforma, no dude en enviarnos un correo electrónico a support@Knowband.com.

Implementando la funcionalidad de reacciones como Facebook usando PHP, jQuery y HTML

Introducción

Las reacciones son más expresivas en comparación con los simples botones Me gusta y No me gusta. Usando reacciones, el usuario puede expresar fácilmente su pensamiento porque los emoticones son básicamente una forma de mostrar las emociones. Por otro lado, si usamos el botón Me gusta y No me gusta, el usuario no puede mostrar la emoción exacta. Usando emoticones podemos hacer que nuestro sitio sea más expresivo para el usuario.

Objetivos del blog

En este blog, encontrará una manera fácil y rápida de implementar la funcionalidad Reacciones. Después de revisar el blog, podrá crear un sistema de reacción para su sitio web igual que el botón Me gusta de Facebook.

Acoplar

Habrá un botón Me gusta y el resto de los botones de Reacción. Al enfocar el botón Me gusta, se mostrarán los botones de Reacción. JQuery se usará para manejar los toques en los botones de reacción. Al tocar el botón de reacción, se envía una solicitud de Ajax en la página like.php. La lógica para guardar/actualizar datos en la base de datos se puede escribir en la página del controlador. Al volver a tocar el texto de la reacción, la reacción se deshace y esta vez estamos enviando Ajax en la página undo_like.php. Toda la funcionalidad para mostrar/ocultar los botones de reacción y la animación se agrega a través de JavaScript y CSS.

Crear la estructura HTML

Antes de trabajar en la lógica, tendremos que crear el diseño. El HTML para el diseño es el siguiente:

Reacciones de Facebook  Reacciones de Facebook  Me gusta  Knowband y 4.3.0k más

Agregar estilo

Estamos usando dos archivos CSS (style.css y reacción.css) para agregar estilo en la página.

Nota: Puede encontrar los archivos CSS en la compilación completa del proyecto.

Adición de funcionalidad

Una vez que nuestro diseño esté listo, podemos trabajar en las funcionalidades. Primero manejaremos los toques en los botones Me gusta y Reacción. Para eso, usaremos jQuery y agregaremos los eventos de clic. El código para agregar los eventos de clic se proporciona a continuación:

// Agregar el evento de clic tan pronto como el documento esté listo $(document).ready(function () { // Agregar el evento de clic en el botón de reacción usando el nombre de clase $(".emoji").on("click ", función () { // Me gusta hacer clic // Aquí escribiremos el código, que se ejecutará al tocar el botón de reacción }); });

Al enfocar el botón de reacción, enviaremos la solicitud de Ajax en la página php. La solicitud de Ajax se proporciona a continuación:

// Envío de solicitud Ajax en la página del controlador (like.php) para realizar las operaciones de la base de datos $.ajax({ tipo: "POST", url: "php/like.php", datos: "", éxito: función (respuesta) { // Este código se ejecuta después de que Ajax tenga éxito } })

Luego tendremos que crear una página de controlador. Esto puede ser un simple archivo php.

Nota: El usuario puede realizar cambios en la base de datos en el archivo del controlador de acuerdo con el requisito. Todo lo que se devuelve/imprime en ese archivo se devuelve a la solicitud de Ajax y podemos actualizar el diseño en consecuencia. Aquí hemos agregado el código para actualizar el diseño para mostrar la reacción guardada actualmente. El código completo del archivo de reacción.js es el siguiente:

$(document).ready(function () { $(".emoji").on("click", function () { // Aquí obtenemos la reacción que se utiliza mediante el atributo data-reaction definido en main página var data_reaction = $(this).attr("data-reaction"); // Enviando una solicitud Ajax en la página del controlador para realizar las operaciones de la base de datos $.ajax({ type: "POST", url: "php/like.php ", data: "data_reaction=" + data_reaction, success: function (response) { // Este código se ejecutará después de que Ajax tenga éxito $(".like-details").html("You, Knowband y 10k más") ; $(".reaction-btn-emo").removeClass().addClass('reaction-btn-emo').addClass('like-btn-' + data_reaction.toLowerCase()); $(".reaction- btn-text").text(data_reaction).removeClass().addClass('reaction-btn-text').addClass('reaction-btn-text-' + data_reaction.toLowerCase()).addClass("active") ; if (data_reaction == "Me gusta") $(".like-emo").html(' '); else $(".como-emo").html('  '); } }) }); $(".reaction-btn-text").on("click", function () { // deshacer clic en me gusta if ($(this).hasClass("active")) { // Enviando solicitud Ajax en la página del controlador para realizar las operaciones de la base de datos $.ajax({ tipo: "POST", url: "php/undo_like.php", datos: "", éxito: función (respuesta) { // Manejar cuando el Ajax es exitoso $(". reacción-btn-text").text("Me gusta").removeClass().addClass('reacción-btn-text'); $(".reaction-btn-emo").removeClass().addClass('reacción -btn-emo').addClass("like-btn-default"); $(".like-emo").html(' '); $(".like-details").html("Knowband y 1k más"); } }) } }) });

Resumen

Puede descargar el proyecto completo desde la siguiente ubicación:

Click aquí para descargar el proyecto completo

En este tutorial no hemos cubierto la conexión y las operaciones de la base de datos, ya que la lógica de la base de datos puede ser diferente según sus necesidades. Con la ayuda de este proyecto, puede implementar fácilmente la funcionalidad de reacciones igual que Facebook en su página web.