ログインの判定をテンプレートに記述する

Geeklog
投稿者: 表示回数1,708 印刷用ページ

ログインした時に、bodyタぐ等に特別なIDを当てる方法は、いくつかの方法が用意されています。

ログイン・非ログインで、bodyタぐ等に特別なIDを当てる方法

1.Geeklog標準機能のCaching_Template_Libraryを活用する場合

<body id="{!if onlyloggedinusers}
  <body id="member">
{!else}
  <body id="guest">
{!endif}

くわしくはWikiをご覧ください。

2.Geeklog標準機能のテンプレートにPHPを記述する場合

<body id="<?php
    if (COM_isAnonUser()){
        echo "guest";
    } else {
        echo "member";
    }
?>">

くわしくはWikiをご覧ください。

3.Assistプラグイン 自動タグを活用する場合

<body id="{!!autotag assit:login_status !!}">

{!!autotag assit:login_status !!}は、 member または guest (言語ファイルで変更可)

Twitter cardを追加する

Geeklog
投稿者: 表示回数1,802 印刷用ページ

Twitterカードを使用すると、写真や動画などのリッチメディアをツイートに添付してウェブサイトへのトラフィックを促進できます。

https://dev.twitter.com/ja/cards/overview

Geeklogに追加する場合は、Assistプラグインを活用します。

Assistプラグインはテンプレートをカスタマイズしたい場合、テンプレートをテーマのディレクトリに置きます。これはGeeklogの共通ルールです。/layout/***/assist/template/... のように配置します。そのなかの、headercode/defaultの3つのソースに、以下の1行を追加します。なお、テンプレートに、customディレクトリを作成してそこにカスタマイズテンプレートをアップロードすることでカスタマイズできるのもGeeklog共通ルールです。

<meta name="twitter:card" content="summary">
コードを追加したうえで、以下のサイトでURLを申請します。

https://cards-dev.twitter.com/validator

Assistプラグインのダウンロード:
Geeklog 1.8以降 で活用できるアドオン

dataBoxなどで、テンプレートにアクセス制限を追加する

Geeklog
投稿者: 表示回数2,777 印刷用ページ

テンプレートにはこのようにPHPで、セキュリティーグループ別に表示・非表示を制御できます。

<?php if(SEC_inGroup('DataBox Admin')){ ?>
    DataBox Admin向けコンテンツをここに記述。
<?php } else { ?>
このページは公開していません。
<?php } ?>
if (COM_isAnonUser()){
    このページはログインが必要です。
} else {
    ログインユーザー向けコンテンツをここに記述。
}

特に、dataBox の非公開領域のテンプレートのうち、データやカテゴリ、検索のlist_detail.thtmlは、上記のようなPHPで内容を囲んでおくと、公開したくないデータをURLを操作して公開されてしまうことを避けることができます。

Geeklog 自動タグ(Autotags)をPHPで実行する

Geeklog
投稿者: 表示回数13,873 印刷用ページ

自動タグをPHPで実行する場合は、次のように記述します。

[tagname:item]
これをPHPで実行するなら
<?php echo PLG_replaceTags('[tagname:item]'); ?>
テーマ変数を引数にしたければ通常はPHPで記述の必要はありません。
[tagname:{var}]
これを
{!!autotag tagname:'.{var}.' !!}
と表示。 これをPHPで実行するなら
<?php echo PLG_replaceTags('[tagname:'.$this->get_var('var').']'); ?>

自動タグをテンプレート内に記述するとき、引数をテーマ変数ではなく、自由な変数を使ってセットしたければ、以下のようにPHPで記述します。

<?php echo PLG_replaceTags('[tagname:'.$var.']'); ?>
なお、テーマ変数は、PHPでは以下のようにすればテンプレート内でも参照できます。 テーマ変数titleを取得したければ以下。
$this->get_var('title');
PHPで、ログインしているかどうかの判定は以下。COM_isAnonUser()を使います。
    if (COM_isAnonUser()){
        echo CUSTOM_getStaticpage('_login' );
    } else {
        echo CUSTOM_getStaticpage('_logout' );
    }

くわしくはWiki

テーマ変数をトリミングする場合は、テンプレートに以下のように記述します。

<?php
$var = $this->get_var('data_description'); 
$length = 140; $encoding = 'utf-8'; echo mb_strimwidth( stripslashes( $var ), 0, $length, '...', $encoding);
?>
1

Geeklog Mapsプラグイン ツールのレイアウト対策

Geeklog
投稿者: 表示回数2,882 印刷用ページ

Geeklog Mapsプラグインの表示で、左上のZOOMなどのツールが表示くずれを起こす場合、以下のスタイルを追加してください。

div#centerblocks div#centerblocks-content div.gm-style img {
  max-width: none;
}

請求書発行から送付までをクラウドサービスで MFクラウド請求書

Geeklog
投稿者: 表示回数1,602 印刷用ページ
請求書作成から送付まで。定期発行も。

MFクラウド請求書
https://invoice.moneyforward.com/

10.27リリースしたばかりのこのサービスを使い始めました。
とても便利です。
定期発行、PDF作成、PDFダウンロードURLのメール送信、郵送など、面倒な作業をクラウドでカンタンに行えるようになりました。

Weebly研究

Geeklog
投稿者: 表示回数1,637 印刷用ページ
無料からスタートできるWeeblyを使ってサイトをひとつ立ち上げてみました。
http://patagonianlife.weebly.com/

デザインを選べて、すぐに始められるのが便利です。
Eコマースとも連携しています。
予約システムのウィジェットは、BookFreshがすぐに使えるようプラグイン化されているので、タグを埋め込むことなくすぐにドラッグして使えます。
アドセンスとの連携もすぐに設定できます。
ちょっと日本語対応はおそまつというかまだ考えられていないところ、姓名がお問い合わせフォームで逆、とかも今の時点ではあります。

サブドメインではじめるだけなら無料で使えるので、ちょっとしたサイトならGeeklogなどのCMSをインストールするまでもなく、これで十分ですね。
さくさく更新しようとか、メールで投稿しようとか、クラウドのデータをインポートしようとか、数万件のユーザー情報とか記事をとか、難しいことを考えないのなら、ですけど。

じゃ、Geeklogはどういう道を進むのかっていうと、こういうSaasサービスはすでに十分やられているのでGeeklogでサービスする必要性は今さらないかも。今の路線のままよそ見せず、より高機能に進化していくことで差別化されるんじゃないかと。

Weebly勉強会もやってみますか。