English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Dieses Dokument wurde automatisch übersetzt. Wenn es Übersetzungsfehler gibt, öffnen Sie bitte
einen Pull Request auf dem
Projekt und fügen Sie die übersetzte Datei zu docs/{ISO 639-1 Code}.md
hinzu.
Dieses Paket vereinfacht den Prozess des Hinzufügens von Freigabe-Links zu Ihrer Laravel-Anwendung. Fühlen Sie sich frei, einen Pull-Request zu öffnen, wenn Sie feststellen, dass uns ein Dienst fehlt!
Ein Freigabe-Link ist eine URL, die eine Basis-URL für soziale Medien mit Abfrageparametern kombiniert, um Inhalte von Ihrer Website oder App zu teilen. Die Parameter umfassen normalerweise die Inhalts-URL und eine voreingestellte Nachricht. Diese Links, wie in den Beispielen gezeigt, ermöglichen es Benutzern, Beiträge auf Plattformen wie Twitter, Facebook und Telegramm einfach zu teilen. Verwenden Sie dieses Open-Source-Paket, um schnell Freigabe-Links über das Blade-Komponentensystem von Laravel zu erstellen.
<x-link-sharer service="twitter" text="Teile mich!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- Ihr HTML-Code hier, um das Aussehen und Verhalten der Freigabe-Schaltfläche zu steuern --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klick mich!</span></x-link-sharer>
composer require defectivecode/link-sharer
Dienstleister aktualisieren gelegentlich ihre Share-Links ohne vorherige Ankündigung. Wir bemühen uns, mit diesen Änderungen auf dem neuesten Stand zu bleiben. Wenn Sie jedoch auf einen nicht funktionierenden Dienst stoßen, öffnen Sie bitte ein Problem oder senden Sie einen Pull-Request. Um einen neuen Dienst hinzuzufügen, beachten Sie den Abschnitt Beitragen unten.
Einige Dienste bieten zusätzliche Parameter, die an die Komponente übergeben werden können. Diese sind in der folgenden Tabelle dokumentiert.
Dienst | Text unterstützt | URL unterstützt | Hinweise |
---|---|---|---|
Blogger | ✔️ | ✔️ | t Der Text des Blog-Beitrags. |
Diaspora | ✔️ | ✔️ | |
Diigo | ✔️ | ✔️ | description Eine Beschreibung, die dem Beitrag hinzugefügt werden soll. |
Douban | ✔️ | ✔️ | comment Ein Kommentar, der dem Beitrag hinzugefügt werden soll. |
Evernote | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | quote Ein Zitat, das dem Beitrag hinzugefügt werden soll. |
|
Gmail | ✔️ | ✔️ | bcc Eine kommagetrennte Liste von E-Mail-Adressen für BCC. cc Eine kommagetrennte Liste von E-Mail-Adressen für CC. su Der Betreff der E-Mail. to Eine kommagetrennte Liste von E-Mail-Adressen zum Senden. |
HackNews | ✔️ | ✔️ | |
Instapaper | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. |
LineMe | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media Eine Bild-URL, die im Beitrag angezeigt werden soll. |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary Eine Zusammenfassung des Beitrags. |
✔️ | ✔️ | ||
Renren | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. srcUrl Die ursprüngliche URL des Beitrags. |
Skype | ✔️ | ✔️ | |
Telegram | ✔️ | ✔️ | |
Threema | ❌ | ✔️ | id Die ID der Person, an die der Beitrag gesendet werden soll. |
Tumblr | ✔️ | ✔️ | caption Eine Bildunterschrift, die dem Beitrag hinzugefügt werden soll. tags Eine kommagetrennte Liste von Tags, die dem Beitrag zugewiesen werden sollen. |
✔️ | ✔️ | hastags Eine kommagetrennte Liste von Hashtags, die dem Tweet zugewiesen werden sollen. via Der Twitterer, dem Anerkennung gebührt. |
|
Viber | ✔️ | ✔️ | |
VKontakte | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. image Eine Bild-URL, die im Beitrag angezeigt werden soll. |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
Das Hinzufügen eines Dienstes ist relativ einfach. Erstellen Sie zunächst eine neue Serviceklasse im Ordner src/Services
. Benennen Sie die Klasse nach dem Dienst, den Sie hinzufügen möchten. Der Dienst wird automatisch über die Factory registriert, daher ist keine manuelle Registrierung erforderlich.
Der unten bereitgestellte Gmail-Dienst dient als gutes Beispiel.
<?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', ];}
Bitte beachten Sie, dass nur die baseUrl
Pflicht ist. Die baseParameterMapping
, additionalParameters
und defaultParameters
sind optional, können jedoch die Funktionalität verbessern.
$baseUrl
Die URL eines Dienstes muss nicht mit HTTPS beginnen. Zum Beispiel verwendet Viber
viber://forward
.
Die Eigenschaft baseUrl
gibt die primäre URL des Dienstes an. Diese URL bildet die Grundlage für die Generierung des Freigabelinks, zu dem Abfrageparameter hinzugefügt werden. Als Beispiel verwendet Gmail die Basis-URL https://mail.google.com/mail/u/0
.
$baseParameterMapping
Dieses Paket erkennt zwei Hauptattribute: text
und url
, da sie bei den meisten Dienstanbietern weit verbreitet sind. Definieren Sie diese Attribute nur, wenn der betreffende Dienst eine andere Benennungskonvention verwendet. Gmail verwendet beispielsweise body
anstelle von text
, was diese explizite Zuordnung erforderlich macht. Wenn Sie Gmail verwenden, wird jedes text
-Attribut, das an das Blade-Komponente übergeben wird, in den Abfrageparameter body
im Freigabelink umgewandelt.
$additionalParameters
Einige Dienste akzeptieren spezifischere Abfrageparameter. Nehmen wir Gmail als Referenz, es unterstützt bcc
, cc
, su
und to
. Definieren Sie diese in einem Array additionalParameters
. Wenn Benutzer diese Attribute in der Blade-Komponente angeben, werden sie dem Freigabelink hinzugefügt. Stellen Sie sicher, dass diese Parameter auch in der Tabelle der unterstützten Dienste aufgeführt sind und mit prägnanten Beschreibungen versehen sind.
$defaultParameters
Bestimmte Dienste erfordern bestimmte Abfrageparameter, damit der Freigabelink funktioniert. Zum Beispiel erfordert Gmail die Angabe von view=cm
. Solche obligatorischen Attribute werden im Array defaultParameters
deklariert. Sie werden immer dem Freigabelink angehängt und können nicht weggelassen werden.
prepareAttributes()
Um die Attribute vor der Generierung eines Freigabelinks zu manipulieren, fügen Sie Ihrer Serviceklasse eine Methode prepareAttributes
hinzu. Diese Methode wird aktiviert, bevor die Attribute an die Methode generateLink
übergeben werden, und ermöglicht benutzerdefinierte Attributmodifikationen. Im Folgenden finden Sie eine Demonstration unter Verwendung des Traits 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']; } }}
Die in den Dienst übergebenen Attribute sind über das Array $attributes
zugänglich. Im dargestellten Beispiel:
text
als auch url
Attribute vorhanden sind, wird die url
an das text
-Attribut angehängt.url
-Attribut verfügbar ist, nimmt das text
-Attribut den Wert des url
-Attributs an.Vielen Dank, dass Sie sich für unser Open-Source-Paket entschieden haben! Bitte nehmen Sie sich einen Moment Zeit, um diese Support-Richtlinien zu lesen. Sie helfen Ihnen, das Beste aus unserem Projekt herauszuholen.
Unser Open-Source-Projekt wird von unserer großartigen Community angetrieben. Wenn Sie Fragen haben oder Unterstützung benötigen, sind StackOverflow und andere Online-Ressourcen Ihre besten Anlaufstellen.
Die Realität der Verwaltung eines Open-Source-Projekts bedeutet, dass wir nicht jeden gemeldeten Fehler oder Feature-Anfrage sofort bearbeiten können. Wir priorisieren Probleme in folgender Reihenfolge:
Fehler, die sich auf unsere kostenpflichtigen Produkte auswirken, haben immer oberste Priorität. In einigen Fällen werden wir möglicherweise nur Fehler beheben, die uns direkt betreffen.
Wenn Sie einen Fehler identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull-Antrag ein. Nach Problemen, die unsere Produkte betreffen, geben wir den nächsten höchsten Stellenwert für diese von der Community getriebenen Fixes. Nach Überprüfung und Genehmigung werden wir Ihre Lösung zusammenführen und Ihren Beitrag anerkennen.
Für Probleme außerhalb der genannten Kategorien können Sie sich dafür entscheiden, ihre Lösung finanziell zu unterstützen. Jedes offene Problem ist mit einem Bestellformular verknüpft, über das Sie finanziell beitragen können. Wir priorisieren diese Probleme basierend auf dem bereitgestellten Betrag.
Open Source gedeiht, wenn seine Community aktiv ist. Auch wenn Sie keine Fehler beheben, sollten Sie in Betracht ziehen, durch Code-Verbesserungen, Aktualisierungen der Dokumentation, Tutorials oder durch Unterstützung anderer in Community-Kanälen beizutragen. Wir ermutigen alle, als Community, die Open-Source-Arbeit zu unterstützen.
Zur Klarstellung: DefectiveCode priorisiert Fehler basierend darauf, wie sie sich auf unsere kostenpflichtigen Produkte auswirken, Community-Pull-Anfragen und die finanzielle Unterstützung, die für Probleme erhalten wird.
Urheberrecht © Defective Code, LLC. Alle Rechte vorbehalten
Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, die Software uneingeschränkt zu nutzen, einschließlich und ohne Einschränkung der Rechte zur Verwendung, zum Kopieren, zur Änderung, zum Zusammenführen, zur Veröffentlichung, zur Verteilung, zur Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software bereitgestellt wird, dies unter den folgenden Bedingungen zu gestatten:
Der obige Urheberrechtsvermerk und dieser Genehmigungsvermerk sind in allen Kopien oder wesentlichen Teilen der Software enthalten.
DIE SOFTWARE WIRD "WIE SIE IST" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG. IN KEINEM FALL HAFTEN DIE AUTOREN ODER COPYRIGHT-INHABER FÜR ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, OB IN EINER VERTRAGS- ODER HAFTUNGSAKTION, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHT.