ソーシャルリンクブロックのカスタマイズ

対象:バージョン7.5以降

カスタムテンプレートの作例

<?php
defined('C5_EXECUTE') or die("Access Denied.");
?>
<ul>
<?php foreach($links as $link) {
    $service = $link->getServiceObject();
    
    // サービスのハンドル名を取得
    $handle = $service->getHandle();
    
    // サービス名を取得
    $name = $service->getDisplayName();
    
    // サービスのアイコン(Font Awesome)を取得
    $icon = $service->getServiceIconHTML();
    
    // リンクを取得
    $url = $link->getURL();
    ?>
    <li class="social-<?php echo $handle ?>"><a href="<?php echo h($link->getURL()) ?>">
        <?php echo $icon ?>
        <span class="service-name"><?php echo $name ?></span>
    </a></li>
<?php } ?>

ソーシャルサービスの追加方法

application/config/concrete.php に下記のように設定を追加すると、concrete5 に登録されていないソーシャルサービスも登録できるようになります。

concrete5の設定ファイルは、連想配列で記述しますので、既存の設定を加えている場合は、一つの連想配列として記述する必要がありますので、ご注意ください。詳しくは、設定ファイルの使い方をご覧ください。

<?php 

return [
    'social' => [
        'additional_services' => [
            [
                'mixcloud', // サービスハンドル
                'Mixcloud', // サービス名
                'mixcloud', // アイコンハンドル(fa-mixcloud)
            ],
            [
                'custom_service',
                'カスタムサービス',
                'custom-service',
                '<b>custom</b>', // アイコンの代わりに表示するHTML
            ],
        ],
    ],
];