Los TrustBoxes son nuestros widgets. Puedes integrar uno en tu sitio web para mostrar las opiniones más recientes, tu TrustScore y tu valoración en estrellas. Este artículo muestra cómo añadir un widget utilizando JavaScript o el framework correspondiente de tu aplicación.
Cómo añadir un TrustBox con JavaScript
Para añadir un widget con JavaScript:
- Inserta el script del widget en tu aplicación, preferiblemente en la etiqueta head.
<!-- TrustBox script --> <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script> <!-- End TrustBox script -->
- Inserta el código HTML del widget en tu aplicación.
- Añade una referencia al elemento HTML del widget en JavaScript. Por ejemplo, puedes añadir un atributo '
id
' personalizado en el elemento<div>
.<div id="trustbox" class="trustpilot-widget" [larga lista de atributos...]> <a href="https://es.trustpilot.com/review/ejemplo.es" target="_blank" rel="noopener"> Trustpilot </a> </div>
- Haz referencia al elemento HTML del widget y cárgalo .
const trustbox = document.getElementById('trustbox'); window.Trustpilot.loadFromElement(trustbox);
Cómo añadir un TrustBox con una aplicación React
Para incluir un widget en una aplicación React:
- Inserta el script del widget en tu aplicación, preferiblemente en la etiqueta head.
<!-- TrustBox script --> <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script> <!-- End TrustBox script -->
- Crea un componente para mostrar el widget. Hay dos formas de hacerlo: una, utilizando un componente de clase y la otra, con un componente funcional y los nuevos hooks API de la versión React 16.8 o posterior.
- Ejemplo utilizando un componente de clase:
import React, { Component } from 'react'; const TrustBox = ({ trustBoxRef }) => ( <div ref={trustBoxRef} // Necesitamos una referencia a este elemento para cargar el TrustBox en componentDidMount. className="trustpilot-widget" // Cambia el nombre 'class' a 'className'. // [larga lista de atributos...] > <a href="https://es.trustpilot.com/review/ejemplo.es" target="_blank" rel="noopener noreferrer" > Trustpilot </a> </div> ); class TrustBoxContainer extends Component { constructor(props) { super(props); this.trustBoxRef = React.createRef(); } componentDidMount() { // Si 'window.Trustpilot' está disponible, debes utilizar nuestra referencia para cargar el TrustBox. // Si no, significa que el código introducido en <head /> aún no se ha cargado. // Cuando esté listo, el TrustBox se cargará automáticamente. if (window.Trustpilot) { window.Trustpilot.loadFromElement(this.trustBoxRef.current, true); } } render() { return <TrustBox trustBoxRef={this.trustBoxRef} />; } } export default TrustBoxContainer;
- Ejemplo utilizando un componente funcional y los hooks API de React (versión 16.8 o posterior):
import React from 'react'; const TrustBox = () => { // Crea una referencia al elemento <div>, que representa el TrustBox const ref = React.useRef(null); React.useEffect(() => { // Si 'window.Trustpilot' está disponible, debes utilizar nuestra referencia para cargar el TrustBox. // Si no, significa que el código introducido en <head /> aún no se ha cargado. // Cuando esté listo, el TrustBox se cargará automáticamente. if (window.Trustpilot) { window.Trustpilot.loadFromElement(ref.current, true); } }, []); return ( <div ref={ref} // Necesitamos una referencia a este elemento para cargar el TrustBox en el efecto 'hook'. className="trustpilot-widget" // renombra 'class' a 'className'. // [larga lista de atributos...] > <a href="https://es.trustpilot.com/review/ejemplo.es" target="_blank" rel="noopener"> Trustpilot </a> </div> ); }; export default TrustBox;
- Ejemplo utilizando un componente de clase:
Si deseas reutilizar el componente del widget y mostrar varios widgets en tu aplicación, puedes convertir el atributo data-template-id en un prop y pasar los diferentes IDs de las plantillas que quieras utilizar. El ID de la plantilla es el identificador exclusivo del TrustBox y puedes encontrarlo en su código HTML.
Cómo añadir un TrustBox con una aplicación Angular
Para incluir un widget en una aplicación Angular:
- Inserta el script del widget en tu aplicación, preferiblemente en la etiqueta head.
<head> <!-- TrustBox script --> <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async> </script> <!-- End TrustBox script --> </head>
- Crea un componente para mostrar el widget con el componente
ng g c trustbox
. - Pega el código HTML del widget en el archivo de la plantilla y añade un atributo
id
personalizado en el elemento<div>
.// file: trustbox.component.html <div id="trustbox" // el atributo 'id' personalizado class="trustpilot-widget" [larga lista de atributos...] > <a href="https://es.trustpilot.com/review/ejemplo.es" target="_blank" rel="noopener"> Trustpilot </a> </div>
- En el Componente de clase tienes que:
- Implementar OnInit.
- Tener una referencia al elemento previamente pegado.
- Activar la función loadFromElement.
// file: trustbox.component.ts import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-trustbox', templateUrl: './trustbox.component.html' }) export class TrustboxComponent implements OnInit { constructor() {} ngOnInit() { const trustboxRef = document.getElementById('trustbox'); window.Trustpilot.loadFromElement(trustboxRef); } }
- Inserta el componente en tu aplicación, en el lugar en el que quieras que aparezca el widget.
<app-trustbox></app-trustbox>
Si para tu aplicación utilizas un framework que no tratamos aquí, considera la posibilidad de incluir el TrustBox utilizando JavaScript y luego ajustarlo a tu framework.
'Routing' en las aplicaciones de página única
Nuestro 'bootstrapper script' entra en funcionamiento cuando se carga la página. Buscar todos los TrustBoxes en la página y los carga basándose en el "markup" de su HTML. No obstante, hay pequeñas diferencias en el comportamiento de las estructuras de las diversas aplicaciones de página única con el routing y no existe un método universal para detectar cuándo se ha producido un cambio de ruta.
Por lo tanto, nuestro 'bootstrapper script' no siempre puede detectar el cambio de ruta en las aplicaciones de página única. Por ejemplo, si colocas un widget en una ruta en una aplicación de una sola página que se abre después de que se haya cargado el script "bootstrapper", es posible que el widget no se cargue.
Si esto ocurre, utiliza la función loadFromElement
para cargar el widget cuando la ruta haya cambiado. La función 'loadFromElement
' precisa de un elemento DOM como input.
Anterior Introducción a los TrustBoxes
Siguiente TrustBox-widgets - Preguntas frecuentes