• 記事トレイ(53)
  • 返信トレイ(24)
ページランク
Powered by SEO Stats
SEO相互リンクの募集
相互リンクご希望の方は下記からお願いいたします。
相互リンクをする


相互リンクしていただいてるサイトを検索
検索キーワード
(半角スペース区切りでOR検索)
ADD
ADD

OPEN PNEで手軽に外部公開するには?

僕も最初悩みました。

OPEN PNEでSNS認証をしないで外部公開をするにはどうしたらよいのか??って。

一番いいのは、外部公開日記モジュールです。

公開日記 – OpenPNEカスタマイズ外部公開SNS」ここにお世話になった方も多いのでは?

しかし、最新の(OpenPNE2.13.7)に導入しようとしたんですがそのままでは厳しいようで・・。

ほなら、ってことで独自外部公開ページの作り方を紹介。

ベースはfh_diary.phpにしとくかぁ

基本的なとこでは、まず外部からのアクセスを可能とする。

ページアクションのファイルに下記のような関数を追加します(正確には追加ではないですね)

function isSecure()
{
return false;
}

これを付け加えることによって、ログインしなくてもこのページにアクセスできるようになります。

しかし、単純にこれをしてしまうと、外部公開したくないものも外部公開してしまったりと、セキュリティ的にも良くないだろうし、バグのもとになりそうです。

必要な情報だけを出力するようししたほうがいいと思います。

つぎに、例えば日記を公開するなら「公開」となってるものだけにしないといけませんね

SQLを書き換えればいいのですが、メンドクサイです(T_T)

ということで、とりあえず・・

if($target_c_diary['public_flag']!=’public’){
client_redirect_login();
}

こんなんで、いいか~

出力する日記の公開権限が「public」でなかったら、どうかする(今回はログイン画面に遷移)

あとは、SEOをすこし意識してtitleタグの書き換えですか

//title
if (SNS_TITLE) {
$title = SNS_TITLE;
} else {
$title = SNS_NAME;
}
$this->set(’INC_HEADER_title’, $target_c_diary['subject'].”|”.$title);

「日記タイトル|SNSタイトル」がページのタイトルになります。

コメントとか、あしあととかそのあたりの必要のなさそうなソースは消しとくといいかも

ああ、忘れていた

ファイル名とクラス名も忘れずに書き換えないとね

ファイル名を「fh_public_diary.php」にしたとする

クラス名は「{モジュール名pcよかktaiとか}_page_fh_public_diary」

class pc_page_fh_public_diary extends OpenPNE_Action
{

あと、「webapp/modules/pc/validate/page」に「fh_public_diary.ini」を作成する

内容は、最低限下記のとおり。

[target_c_diary_id]
type = “int”

最後にテンプレートを作成します。テンプレートファイル名は「fh_public_diary.tpl」

どうでしょ、とりあえず日記が外部公開されなんじゃないですかねヾ(●⌒(工)⌒●)ノワーイ!

こんな要領で、モジュールとして開発したらけっこう面白いのが作れそうですね^^

関連記事: