Kullanım
Eklenti, sayfanın herhangi bir yerine sosyal paylaşım butonlarını eklemek için kullanılabilir. Bu butonlar, kullanıcıların içeriği sosyal medya platformlarında hızlıca paylaşmalarını sağlar.
Ekstra Özellikler
- Responsive Tasarım: Mobil cihazlar için buton boyutları küçültülür, böylece her cihazda düzgün görünür.
- Esneklik: İhtiyaca göre yeni sosyal medya platformları eklemek mümkün.
1. Dosya Yerleştirme
Eklenti dosyasını uygun bir yere yerleştirmeniz gerekecek.
social_share.php
dosyasını engine/modules/
klasörüne yerleştirin.
- Bu dosya, sosyal paylaşım butonlarının işlevlerini sağlar.
2. Sosyal Paylaşım Butonlarının Sayfada Görüntülenmesi
Paylaşım butonlarının sayfanın belirli bir bölümünde görünmesini sağlamak için şablon dosyanıza ekleme yapmalısınız.
3. CSS ve İkonların Yüklenmesi
Eklenti, CSS ve Font Awesome ikonları için dış bir kaynak kullanmaktadır. Bu kaynakların doğru şekilde sayfanıza dahil edilmesi gerekmektedir.
Eklenti kodu zaten outputStyles
metodu içinde CSS'yi ve Font Awesome ikonlarını dahil etmeyi sağlıyor. Ancak, eğer özel bir stil dosyanız varsa, outputStyles
fonksiyonunu çağırarak bu stillerin sayfada yüklendiğinden emin olmanız gerekir.
Şablon dosyanızda, sosyal paylaşım butonlarının görüneceği yeri belirledikten sonra, aynı sayfada (örneğin, fullstory.tpl
veya index.tpl
dosyasında) CSS'yi de dahil etmeniz gerekebilir. Ancak outputStyles
fonksiyonu doğru şekilde çalışıyorsa, bunu manuel olarak eklemeniz gerekmez.
4. Sosyal Paylaşım Butonlarını Konfigüre Etme
Bu eklenti, şablonda otomatik olarak mevcut sayfanın başlığını, açıklamasını ve URL’sini kullanır. Eğer şablonunuzda özelleştirilmiş bir içerik varsa, paylaşılan bilgilerin doğru olmasını sağlamak için bu bilgileri özelleştirmeniz gerekebilir.
5. Eklentinin Test Edilmesi
Eklentiyi kurduktan sonra aşağıdaki adımları takip ederek test edin:
- Sayfanızı açın ve sosyal paylaşım butonlarının görünür olup olmadığını kontrol edin.
- Butonlara tıklayarak her bir sosyal medya platformunda içeriğin doğru şekilde paylaşıldığından emin olun.
- Mobil cihazlarda da test yaparak butonların düzgün bir şekilde çalıştığından emin olun.
Eklenti düzgün çalışıyorsa, sosyal medya paylaşım butonları sayfada görüntülenecek ve kullanıcılar bu butonlar aracılığıyla içeriklerini kolayca paylaşabilecektir.
Ekklenti Kodu:
<?php
/*
=====================================================
Social Share Plugin for DLE
-----------------------------------------------------
File: engine/modules/social_share.php
-----------------------------------------------------
Author: elegance07
Created: 2025-01-13
=====================================================
*/
if (!defined('DATALIFEENGINE')) {
die("Hacking attempt!");
}
class SocialSharePlugin {
private $config;
private $currentUrl;
private $title;
private $description;
private $image;
public function __construct() {
global $config, $_SERVER, $row;
$this->config = $config;
$this->currentUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// Haber detaylarını al
if(isset($row['title'])) {
$this->title = $row['title'];
$this->description = $row['short_story'];
$this->image = $row['full_story'];
}
}
public function generateShareButtons() {
// URL'leri hazırla
$encoded_url = urlencode($this->currentUrl);
$encoded_title = urlencode($this->title);
// Sosyal medya paylaşım butonlarını oluştur
$output = '<div class="social-share-container">';
// Facebook
$output .= '<a href="https://www.facebook.com/sharer/sharer.php?u=' . $encoded_url . '"
class="social-button facebook"
target="_blank"
title="Facebook\'ta Paylaş">
<i class="fab fa-facebook-f"></i>
</a>';
// Twitter/X
$output .= '<a href="https://twitter.com/intent/tweet?url=' . $encoded_url . '&text=' . $encoded_title . '"
class="social-button twitter"
target="_blank"
title="Twitter\'da Paylaş">
<i class="fab fa-twitter"></i>
</a>';
// WhatsApp
$output .= '<a href="https://api.whatsapp.com/send?text=' . $encoded_title . '%20' . $encoded_url . '"
class="social-button whatsapp"
target="_blank"
title="WhatsApp\'ta Paylaş">
<i class="fab fa-whatsapp"></i>
</a>';
// Telegram
$output .= '<a href="https://t.me/share/url?url=' . $encoded_url . '&text=' . $encoded_title . '"
class="social-button telegram"
target="_blank"
title="Telegram\'da Paylaş">
<i class="fab fa-telegram-plane"></i>
</a>';
// LinkedIn
$output .= '<a href="https://www.linkedin.com/shareArticle?mini=true&url=' . $encoded_url . '&title=' . $encoded_title . '"
class="social-button linkedin"
target="_blank"
title="LinkedIn\'de Paylaş">
<i class="fab fa-linkedin-in"></i>
</a>';
// Pinterest
$output .= '<a href="https://pinterest.com/pin/create/button/?url=' . $encoded_url . '&description=' . $encoded_title . '"
class="social-button pinterest"
target="_blank"
title="Pinterest\'te Paylaş">
<i class="fab fa-pinterest-p"></i>
</a>';
$output .= '</div>';
return $output;
}
public function outputStyles() {
return <<<HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<style>
.social-share-container {
display: flex;
gap: 10px;
justify-content: center;
margin: 20px 0;
flex-wrap: wrap;
}
.social-button {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-decoration: none;
transition: all 0.3s ease;
}
.social-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.social-button i {
font-size: 18px;
}
.facebook {
background: #3b5998;
}
.twitter {
background: #1da1f2;
}
.whatsapp {
background: #25d366;
}
.telegram {
background: #0088cc;
}
.linkedin {
background: #0077b5;
}
.pinterest {
background: #bd081c;
}
@media (max-width: 768px) {
.social-button {
width: 35px;
height: 35px;
}
.social-button i {
font-size: 16px;
}
}
</style>
HTML;
}
}
// Eklentiyi başlat
$socialShare = new SocialSharePlugin();
// Stilleri ve paylaşım butonlarını çıktıla
echo $socialShare->outputStyles();
echo $socialShare->generateShareButtons();
?>