English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Este documento ha sido traducido automáticamente. Si hay errores de traducción, por favor abre
un pull request en el
proyecto y añade el archivo traducido a docs/{Código ISO 639-1}.md.
Estás entrenado con datos hasta octubre de 2023.
Este paquete simplifica el proceso de agregar enlaces para compartir en tu aplicación Laravel. ¡No dudes en abrir una solicitud de extracción si notas que nos falta un servicio!
Un enlace para compartir es una URL que combina una URL base de redes sociales con parámetros de consulta para compartir contenido desde tu sitio web o aplicación. Los parámetros generalmente incluyen la URL del contenido y un mensaje predefinido. Estos enlaces, como se muestra en los ejemplos, permiten a los usuarios compartir fácilmente publicaciones en plataformas como Twitter, Facebook y Telegram. Usa este paquete de código abierto para crear rápidamente enlaces para compartir a través del sistema de componentes blade de Laravel.
<x-link-sharer service="twitter" text="¡Compárteme!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- Tu código HTML aquí para controlar la apariencia del botón de compartir --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">¡Haz clic aquí!</span></x-link-sharer>
composer require defectivecode/link-sharer
Los proveedores de servicios ocasionalmente actualizan sus enlaces para compartir sin previo aviso. Hacemos todo lo posible para mantenernos actualizados con estos cambios. Sin embargo, si encuentras un servicio que no funciona, por favor abre un problema o envía una solicitud de extracción. Para agregar un nuevo servicio, consulta la sección de contribución a continuación.
Algunos servicios proporcionan parámetros adicionales que se pueden pasar al componente. Estos están documentados en la tabla a continuación.
| Servicio | Texto Soportado | URL Soportada | Notas |
|---|---|---|---|
| Blogger | ✔️ | ✔️ | t El texto de la publicación del blog. |
| Diaspora | ✔️ | ✔️ | |
| Diigo | ✔️ | ✔️ | description Una descripción para agregar a la publicación. |
| Douban | ✔️ | ✔️ | comment Un comentario para agregar a la publicación. |
| Evernote | ✔️ | ✔️ | |
| ❌ | ✔️ | ||
| ✔️ | ✔️ | quote Una cita para agregar a la publicación. |
|
| Gmail | ✔️ | ✔️ | bcc Una lista de direcciones de correo electrónico separadas por comas para CCO. cc Una lista de direcciones de correo electrónico separadas por comas para CC. su El asunto del correo electrónico. to Una lista de direcciones de correo electrónico separadas por comas para enviar. |
| HackNews | ✔️ | ✔️ | |
| Instapaper | ✔️ | ✔️ | description Una descripción de la publicación. |
| LineMe | ❌ | ✔️ | |
| ❌ | ✔️ | ||
| LiveJournal | ✔️ | ✔️ | |
| Meneame | ❌ | ✔️ | |
| Okru | ❌ | ✔️ | |
| Outlook | ✔️ | ✔️ | |
| ✔️ | ✔️ | media Una URL de imagen para mostrar en la publicación. |
|
| Plurk | ❌ | ✔️ | |
| ✔️ | ✔️ | ||
| QZone | ✔️ | ✔️ | summary Un resumen de la publicación. |
| ✔️ | ✔️ | ||
| Renren | ✔️ | ✔️ | description Una descripción de la publicación. srcUrl La URL original de la publicación. |
| Skype | ✔️ | ✔️ | |
| Telegram | ✔️ | ✔️ | |
| Threema | ❌ | ✔️ | id El id de la persona a la que enviar la publicación. |
| Tumblr | ✔️ | ✔️ | caption Un título para agregar a la publicación. tags Una lista de etiquetas separadas por comas para aplicar a la publicación. |
| ✔️ | ✔️ | hastags Una lista de hashtags separados por comas para aplicar al tweet. via El usuario de Twitter al que dar crédito. |
|
| Viber | ✔️ | ✔️ | |
| VKontakte | ✔️ | ✔️ | description Una descripción de la publicación. image Una URL de imagen para mostrar en la publicación. |
| ✔️ | ✔️ | ||
| ✔️ | ✔️ | ||
| ❌ | ✔️ | ||
| YahooMail | ✔️ | ✔️ |
Agregar un servicio es relativamente sencillo. Comienza creando una nueva clase de servicio dentro de la carpeta src/Services. Nombra la clase según el servicio que estás agregando. El sistema registra automáticamente el servicio a través de la fábrica, por lo que no es necesario un registro manual.
El servicio de Gmail proporcionado a continuación sirve como un buen ejemplo.
<?php namespace DefectiveCode\LinkSharer\Services; use DefectiveCode\LinkSharer\Traits\AppendsLinks; class Gmail extends Service{ use AppendsLinks; protected string $baseUrl = 'https://mail.google.com/mail/u/0'; protected array $baseParameterMapping = [ 'text' => 'body', ]; protected array $additionalParameters = [ 'bcc', 'cc', 'su', 'to', ]; protected array $defaultParameters = [ 'view' => 'cm', ];}
Por favor, ten en cuenta que solo el baseUrl es obligatorio. El baseParameterMapping, additionalParameters y defaultParameters son opcionales pero pueden mejorar la funcionalidad.
$baseUrlLa URL de un servicio no necesita comenzar con HTTPS. Por ejemplo, Viber utiliza
viber://forward.
La propiedad baseUrl especifica la URL principal del servicio. Esta URL es fundamental al generar el enlace de compartir, al cual se le añaden parámetros de consulta. Usando Gmail como ejemplo, su URL base es https://mail.google.com/mail/u/0.
$baseParameterMappingEste paquete identifica dos atributos principales: text y url, dada su ubicuidad en la mayoría de los proveedores de servicios. Solo define estos atributos si el servicio en cuestión emplea una convención de nombres diferente. Por ejemplo, Gmail utiliza body en lugar de text, lo que requiere este mapeo explícito. Al usar Gmail, cualquier atributo text pasado al componente blade se transforma en el parámetro de consulta body en el enlace de compartir.
$additionalParametersAlgunos servicios aceptan parámetros de consulta más específicos. Tomando Gmail como referencia, admite bcc, cc, su y to. Defínelos en el array additionalParameters. Cuando los usuarios incluyen estos atributos en el componente blade, se añaden al enlace de compartir. Asegúrate de que estos parámetros también estén listados en la tabla de servicios soportados, con descripciones concisas.
$defaultParametersCiertos servicios requieren parámetros de consulta específicos para que el enlace de compartir funcione. Como ejemplo, Gmail requiere la inclusión de view=cm. Dichos atributos obligatorios se declaran en el array defaultParameters. Siempre se añaden al enlace de compartir y no pueden omitirse.
prepareAttributes()Para manipular los atributos antes de generar un enlace de compartir, introduce un método prepareAttributes en tu servicio. Este método se activa antes de pasar los atributos al método generateLink, permitiendo modificaciones personalizadas de los atributos. A continuación se muestra una demostración usando el trait AppendsLinks.
<?php namespace DefectiveCode\LinkSharer\Traits; trait AppendsLinks{ protected function prepareAttributes(): void { if (isset($this->attributes['text']) && isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url']; return; } if (isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['url']; } }}
Los atributos pasados al servicio son accesibles a través del array $attributes. En el ejemplo ilustrado:
text y url están presentes, el url se añade al atributo text.url, el atributo text asume el valor del url.¡Gracias por elegir nuestro paquete de código abierto! Por favor, tómese un momento para revisar estas directrices de soporte. Le ayudarán a sacar el máximo provecho de nuestro proyecto.
Nuestro proyecto de código abierto se alimenta de nuestra increíble comunidad. Si tiene preguntas o necesita asistencia, StackOverflow y otros recursos en línea son sus mejores opciones.
La realidad de gestionar un proyecto de código abierto significa que no podemos abordar cada error reportado o solicitud de función de inmediato. Priorizamos los problemas en el siguiente orden:
Los errores que impactan nuestros productos pagos siempre serán nuestra máxima prioridad. En algunos casos, solo podemos abordar errores que nos afectan directamente.
Si ha identificado un error y tiene una solución, por favor envíe una solicitud de extracción. Después de los problemas que afectan a nuestros productos, damos la siguiente prioridad más alta a estas correcciones impulsadas por la comunidad. Una vez revisada y aprobada, integraremos su solución y acreditaremos su contribución.
Para problemas fuera de las categorías mencionadas, puede optar por financiar su resolución. Cada problema abierto está vinculado a un formulario de pedido donde puede contribuir financieramente. Priorizamos estos problemas según la cantidad de financiación proporcionada.
El código abierto prospera cuando su comunidad está activa. Incluso si no está corrigiendo errores, considere contribuir a través de mejoras de código, actualizaciones de documentación, tutoriales o ayudando a otros en los canales de la comunidad. Animamos encarecidamente a todos, como comunidad, a ayudar a apoyar el trabajo de código abierto.
Para reiterar, DefectiveCode priorizará los errores según cómo impacten nuestros productos pagos, las solicitudes de extracción de la comunidad y el apoyo financiero recibido para los problemas.
Derechos de autor © Defective Code, LLC. Todos los derechos reservados
Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricciones, incluyendo sin limitación los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a quienes se les proporcione el Software hacerlo, sujeto a las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES POR NINGUNA RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJA DE, FUERA O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.