■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません…

ignix > Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません… @ 2013/7/1 0:03
固定ページとブログの各記事に以下のメタタグを入れたいのですが
関数の知識がとぼしくて…どなたか知恵を貸していただけないでしょうか?

必要なメタタグは
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="twitterID">
<meta name="twitter:url" content="コンテンツのURL">
<meta name="twitter:title" content="コンテンツのタイトル(70文字)">
<meta name="twitter:description" content="コンテンツの概要(200文字)">

FacebookのOGPのにも対応させたいので、ある程度柔軟に変更できると
うれしいのですが…

※現在のバージョン状況
・baserCMSコア のバージョン: 2.1.1
・レンタルサーバ:さくらのレンタルサーバ

■ BaserCMSのバージョン:2.1.1
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用: OFF
■ 設置フォルダ: ?
■ 利用しているデータベース:CSV
■ PHPスキル 全くわ

goichi > Re: Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません… @ 2013/7/2 22:52
試してないので、どこか間違ってるかもしれませんが、
考え方としては、正しいと思いますので参考までに書いてみます。

以下のソースをレイアウトテンプレートファイルを開いて、
そこに書かれているHTML内に追記してください。

<?php
//このページのURLを取得
$url =  "http://".$_SERVER["HTTP_HOST"].$bcBaser->getHere();
//このページタイトルを70文字目まで取得
$title =  mb_substr($bcBaser->getTitle(), 0, 70);
//このページの説明文を200文字目まで取得
$description = mb_substr($bcBaser->getDescription(), 0, 200);
?>
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="twitterID">
<meta name="twitter:url" content="<?php echo $url; ?>">
<meta name="twitter:title" content="<?php echo $title; ?>">
<meta name="twitter:description" content="<?php echo $description; ?>">


■テンプレートファイルの位置
/app/webroot/themed/ご利用のテーマフォルダ/layouts/default.php

できなかったらすみません。
ignix > Re: Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません… @ 2013/7/13 5:09
ありがとうございます。
PHP自体ほとんどわからないような質問でもうしわけないです(´;ω;`)ブワァ

$descriptionは改行をなくすことはできるでしょうか?

$description = str_replace(array("\r\n","\n","\r"), '', $str);
こんな感じのを追加したんですがダメでした…


あともう一つ、重要なメタタグが抜けてました…
<meta name="twitter:image:src" content="画像URL">
ページごとの「概要」から一番最初にある画像URLだけを
取得してメタタグに書き込むというのも可能なんでしょうか?

ページが遅くなるだけかなあ…

もし上の方法がダメならば、ブログのアイキャッチ画像で我慢するべきか…
そうすると固定ページの画像が表示されないんですよね…
アイキャッチ画像を入れるにしても、URLだけ貼り付けるというのがわからず……
<?php $blog->eyeCatch($post, $option) ?>
これだとタグも一緒についてきちゃって…
goichiさんのを参考にして
$eyeCatch = mb_substr($bcBaser->geteyeCatch(), 0, 200);
を追加したのですが何も起こらず…

無知すぎてすみません。

■ BaserCMSのバージョン:2.1.1
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用: OFF
■ 設置フォルダ: ?
■ 利用しているデータベース:CSV
■ PHPスキル 全くわ

goichi > Re: Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません… @ 2013/7/13 18:04
どうもです(^^

引用:
$descriptionは改行をなくすことはできるでしょうか?

サイトの管理画面で改行を入れて説明文を書いてらっしゃると思うので、それが原因だと思いますが、基本的にソース内での改行は特に問題ないと思います。もうしどうしても改行コードを消す必要があるならば、
$description = str_replace(array("\r\n","\n","\r"), '', $description);

とすれば消えるはずです。

引用:
ページごとの「概要」から一番最初にある画像URLだけを
取得してメタタグに書き込むというのも可能なんでしょうか?

可能ですよ。(^^
ただ、さすがにプログラムの知識が必要です。手前味噌で恐縮ですが、参考になりそうな関連記事を自分のブログで書いたので、参考にしてみてください。TwitterCards用に書き換えることもできると思います。


ignix > Re: Twitter Cardsに対応させたいのですがmataタグの入れ方がわかりません… @ 2013/9/6 0:29
ブログの
[baserCMS]Facebookなどで使われるOGPに対応するヘルパーを自作する
を参考にして導入しました。

正常にツイッター側に表示されました!

ありがとうございました。

■ BaserCMSのバージョン:2.1.1
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用: OFF
■ 設置フォルダ: ?
■ 利用しているデータベース:CSV
■ PHPスキル 全くわ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
17 人のユーザが現在オンラインです。 (17 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 17