Contao Dozent Marvin Kellermann

|

Social Media Share Button nur mit PHP

Die Präsenz des eigenen Unternehmens auf Social Media ist bereits fester Bestandteil in vielen Marketingstrategien. Dazu gehört auch, die Websitebesucher dazu zu ermutigen, den Content auf sozialen Netzwerken zu streuen.

Den Wunsch hatte auch ein Kunde von mir. Ich wollte allerdings nicht auf vorhandene Share-Buttons zurückgreifen, dessen Scripte nach Belieben nach Hause telefonieren. Allein schon, um Problematiken mit der DSGVO zu umgehen und die Landegeschwindigkeit der Seite nicht in Mitleidenschaft zu ziehen.

Also habe ich mich auf die Suche gemacht und herausgefunden, dass es für Twitter und LinkedIn einen Link gibt, mit dem ein ausgewählter Beitrag direkt gepostet werden kann. Dazu habe ich mit einem einfachen mailto-Link eingebaut, damit der Beitrag auch per Mail geteilt werden kann. Das Modul wird später im Seitenlayout eingebaut, wodurch automatisiert auf jeder Seite der vorliegende Beitrag versendet werden kann.

Schauen wir uns das Template ein, das wir später mit dem Inserttag ausgeben lassen können:

<?php
$url = "https://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$title = $this->replaceInsertTags('Nachrichten Leser');
?>

<div class="cc_share-button pt-l">

<a
href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fdeveloper.twitter.com%2F&ref_src=twsrc%5Etfw&text=<?php echo $title; ?>&tw_p=tweetbutton&url=<?php echo $url; ?>"
title="Beitrag auf Twitter teilen" target="_blank"><img src="files/assets/icon-teilen-twitter.svg" width="20px" style="margin-right:15px" ></a>

<a
href="http://www.linkedin.com/shareArticle?mini=true&url=<?php echo $url; ?>"
title="Beitrag auf LinkedIn teilen" target="_blank" ><img src="files/assets/icon-teilen-linkedin.svg" width="20px" style="margin-right:15px"></a>

<a
href="mailto:?body=Guten Tag,%0D%0A%0D%0Adieser Beitrag könnte Ihnen gefallen: <?php echo $url; ?> » <?php echo $title; ?>"
title="Per Mail teilen" target="_blank">
<img src="files/assets/icon-teilen-email.svg" width="20px" style="margin-right:15px">
</a>

</div>

Zunächst werden die beiden Variablen für den Link und die Titel der aktuellen Seite gespeichert. Danach folgt einfach ein div-Container, welche die drei Links enthält.

Innerhalb der Links werden unsere beiden Variablen ausgegeben, damit sich der href und Titel dynamisch erzeugt.

Für Xing habe ich beispielsweise keinen Link gefunden, der automatisch die Eingabemaske für einen neuen Beitrag öffnet.

Edit: habe einen Link gefunden, mit dem es auf XING auch funktioniert (Stand: 28.08.2021)

<a href="https://www.xing.com/social/share/spi?url=<?php echo $url; ?>" title="Beitrag auf Xing teilen" target="_blank" ><img src="files/assets/icon-teilen-xing.svg" width="20px" style="margin-right:15px"></a>

Sollten euch noch Verbesserungen oder andere Social-Media-Kanäle bekannt sein, mit denen das funktioniert, sendet mir doch gerne eine Mail!

Zurück

Ich beschäftige mich seit Contao 3 mit dem CMS. Auf meinem Blog und auf YouTube findest du einige kostenlose Beiträge und Videos. Gerne unterstütze ich dich bei deinen Projekten, schau gern auf meiner Agentur-Website vorbei.

Du benötigst Unterstützung bei deiner Contao-Instanz?