Skip to content

テンプレートで利用できる関数

Socialcastのテンプレートは、PHPテンプレートエンジンTwigを採用しています
Twigの関数やフィルタを利用することができます

また、開発フレームワークとしてPHPフレームワーク"Laravel 5.5"を採用しており、
rcrowe/TwigBridgeで使えるヘルパはすべて利用することができます。

Socialcast独自のテンプレート関数(ヘルパ)に関しては、こちらをご確認ください

Twigの関数、タグ等

Twigのリファレンスをご覧ください

Twig上で利用可能なLaravelの関数(ヘルパ)

rcrowe/TwigBridgeのリファレンスをご覧ください

Socialcast 独自のテンプレート関数

get_login_form

function get_login_form(?string $redirectTo = null)

概要
ログイン用フォームを取得する
引数
$redirectTo
ログイン後に遷移させるURL、https://{{契約時にご案内したホスト}} から始まる必要があります
戻り値
ログインフォームのオブジェクト
使用例
任意のページにログインフォームを表示する
1
{{ form(get_login_form(url().current()))|raw }}

get_freearea

function get_freearea(string $name)

概要
フリーエリアを表示する
引数
$name
フリーエリア名
戻り値
フリーエリア本文
戻り値はキャッシュされます
使用例
任意の箇所にフリーエリアを表示する
1
{{ get_freearea('some-freearea')|raw }}

get_latest_announces

function get_latest_announces(int $num=10)

概要
最新のお知らせを取得する
引数
$num
取得する件数(最大10件まで取得可能)
戻り値
お知らせのコレクション(lluminate\Support\Collection)
使用例
最新のお知らせを5件取得してそのタイトルを表示する
1
2
3
{% for announce in get_latest_announces(5) %}
    <p>{{announce.display_name}}</p>
{% endfor %}

get_announces_pager

function get_announces_pager(array $condition, int $page = 1, int $size = 12)

概要
特定の条件のお知らせをページャで取得する
引数
$condition
お知らせを取得するための条件
$page
表示するページ数
$size
1ページに表示する件数
戻り値
お知らせのページャ
使用例
お知らせを10件取得する
1
{% set paginator = get_announces_pager({}, input_get('page', 1), 10) %}

会員限定のお知らせを15件取得する

1
{% set paginator = get_announces_pager({search: {limit_type: [1]}}, input_get('page', 1), 15) %}

get_categories

function get_categories()

概要
最上位カテゴリをすべて取得する

引数

戻り値
カテゴリのコレクション(lluminate\Support\Collection)
使用例
最上位カテゴリをすべて取得して表示名を出力する
1
2
3
{% for category in get_categories() %}
    {{category.display_name}}
{% endfor %} 

最上位カテゴリとその子カテゴリをすべて取得して表示名を出力する   

1
2
3
4
5
6
{% for category in get_categories() %}
    {{category.display_name}}
    {% for child in category.descendants %}
        {{child.display_name}}
    {% endfor %}
{% endfor %} 

get_latest_contents

function get_latest_contents(int $num = 10, array $categoryIds = [], $type = null)

概要
最新のコンテンツとセットを取得する
引数
$num
取得する件数(最大10件まで取得可能)
$categoryIds
カテゴリIDの配列。特定のカテゴリで絞り込む場合に使用
$type
コンテンツまたはセットで縛りこむ場合に使用
"single" を指定するとコンテンツのみ
"set" を指定するとセットのみ
を絞り込み可能
戻り値
コンテンツとセットのコレクション(lluminate\Support\Collection)
使用例
最新のコンテンツとセットを10件取得
1
2
3
{% for content in get_latest_contents() %}
    {# 任意の処理 #}
{% endfor%}

最新のセットを5件取得

1
2
3
{% for content in get_latest_contents(5, [], 'set') %}
    {# 任意の処理 #}
{% endfor%}

IDが1と5のカテゴリが設定された最新のコンテンツを10件取得

1
2
3
{% for content in get_latest_contents(10, [1,5], 'single') %}
    {# 任意の処理 #}
{% endfor%}

get_contents_pager

function get_contents_pager(array $condition, int $page = 1, int $size = 12)

概要
特定の条件のコンテンツとセットをページャで取得する
引数
$condition
取得するための条件
$page
表示するページ数
$size
1ページに表示する件数
戻り値
コンテンツとセットのページャ
使用例
コンテンツとセットを1ページにつき30件取得する
1
{% set paginator = get_contents_pager({}, input_get('page', 1), 30) %}

セットだけを1ページにつき10件取得する

1
{% set paginator = get_contents_pager({search: {type: 'set'}}, input_get('page', 1), 15) %}

セットだけを1ページにつき10件取得する

1
{% set paginator = get_contents_pager({search: {type: 'single'}}, input_get('page', 1), 15) %}

get_favorites_pager

function get_favorites_pager(int $userId, int $page = 1, int $size = 12)

概要
任意の会員のお気に入りをページャで取得する
引数
$userId
取得対象となる会員のID
$page
表示するページ数
$size
1ページに表示する件数
戻り値
お気に入りのページャ
使用例
ログイン中の会員のお気に入りを15件づつ取得する
1
{% set paginator = get_favorites_pager(auth_user().id, input_get('page', 1), 15) %}

get_payment_history_pager

function get_payment_history_pager(int $userId, int $page = 1, int $size = 12)

概要
任意の会員の決済履歴をページャで取得する
引数
$userId
取得対象となる会員のID
$page
表示するページ数
$size
1ページに表示する件数
戻り値
決済履歴のページャ
使用例
ログイン中の会員の決済履歴を15件づつ取得する
1
{% set paginator = get_payment_history_pager(auth_user().id, input_get('page', 1), 15) %}

get_own_contents_pager

function get_own_contents_pager(int $userId, int $page = 1, int $size = 12)

概要
任意の会員の所有コンテンツをページャで取得する
引数
$userId
取得対象となる会員のID
$page
表示するページ数
$size
1ページに表示する件数
戻り値
所有コンテンツのページャ
使用例
ログイン中の会員の所有コンテンツを15件づつ取得する
1
{% set paginator = get_own_contents_pager(auth_user().id, input_get('page', 1), 15) %}