2011-01-30 1 views
2

私はFacebookを初めて使っています。私は自分のウェブサイトにFacebookのようなボタンを追加しようとしています。 Facebookの開発者のセクションからは、私のようなボタンを追加するには、次のコードを得た:Facebook Like box - 動的URLを使用して現在のページを好きになる

<iframe src="http://www.facebook.com/plugins/likebox.php?href=http://www.mysite.com&width=292&colorscheme=light&show_faces=false&stream=false&header=false&height=62" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:62px;" allowTransparency="true"></iframe> 

は今、私は私のウェブサイトの各ページにようにボタンを配置することができるようにしたいです。このため、上記のコードで静的リンクを使用することは役に立たないと思います。したがって、私はと呼ばれる定数で(URLに存在する可能性のある変数を含む)、現在のページのURLを移入し、私自身の機能を持っています。CURRENT_URL

だからと同様にボタンの私の改訂版のコードは以下のようになります。

<iframe src="http://www.facebook.com/plugins/likebox.php?href=<?php echo CURRENT_URL; ?>&width=292&colorscheme=light&show_faces=false&stream=false&header=false&height=62" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:62px;" allowTransparency="true"></iframe> 

私のウェブサイトで上記の改訂コードを使用すると、Likeボックスが表示されません。その代わり、私が言うiframe内にエラーページを参照してください。

The page you requested was not found. 
You may have clicked an expired link or mistyped the address. Some web addresses are case sensitive. 

私は一般的な<?php echo CURRENT_URL; ?をすれば、それは正しいURLを示しています。定数の値に問題はありません。これは、iframeが単に定数値を解析せずにウェブサイト名をロードしようとしていると感じさせる。私は自分のウェブサイトの各ページのLikeボタンの値を手動で変更することなく、ウェブサイト全体で使用できるコードを作成したいだけです。

だから私の質問は次のとおりです。

どのように私はこれはiframeが(私はURL経由で渡しすることができる任意の変数を含む)、現在のページのURLを検出し、現在のページのURLに同様のボタンURL値を移入することができますユーザーはこのページを気に入ることができます。

すべてのご協力をお願いいたします。ありがとうございました。

UPDATE(ソリューション):

私はすべてこのことについては大きな混乱をtheresのが分かりました。実際には2種類のLike機能があります。 1つは普通のLikeボタンで、もう1つはLikeボックスです。ここにリンクがあります:ボタンのように

ボックスのよう http://developers.facebook.com/docs/reference/plugins/like

http://developers.facebook.com/docs/reference/plugins/like-box

あなたがの個々のページを好きに人になりたい場合は同様ボタンコードを使用しますあなたのウェブサイトLike Boxからあなたを求めています:Facebook Page URL。これは、あなたのウェブページを好きにするためにあなたのユーザーのためにそれを使用することはできませんことを意味します。 (私はまだFacebookのページのURLについての理解に取り組んでおり、どのように動作し、いつ失敗するか)

この情報は、誰もが同じトラブルや混乱を経験するのに役立ちます。

答えて

3

あなたが好きなボタンを単にエコーすることができますし、この問題を持っていません - そのような何か:

function likeButton($url_to_like, $action = "like") { 
    return sprintf('<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="%s" show_faces="true" width="450" action="%s"></fb:like>', 
$url_to_like, $action); 
} 

私はjavascriptのバージョンを使用していますが、それはIFRAMEと同じだ:)

+0

返信いただきありがとうございます。私は可能な解決策で私の投稿を更新しました。私はLike Boxのコードを使用していましたが、実際にLikeボタンのコードを使用する必要がありました。あなたのコードは私の解決策の指針でした。したがって私は私の解決策としてあなたの答えを選んでいます。私を助けてくれてありがとう。 – Devner

+0

ところで、FacebookのページのURLとその使い方を知っていますか?私はwww.facebook.com/mycompanyにアクセスしようとしましたが、404エラーを返しました。これは、自分のページが作成されているにもかかわらず、そのページが見つからないことを意味します。ビジネスページにアクティベーションが必要ですか?私はこれについて非常に新しく、それを進める方法を(まだ)知らない。あなたが持っている可能性のある入力を感謝します。ありがとう。 – Devner

+0

私はFacebookのページには、ページ名の後にいくつかのランダムなIDがあると思う (すなわち - http://www.facebook.com/pages/WTF-Test-Page/142187565841842) あなたのページを作成した後のリンクを確認:) –

0

この関数を使うのは良い考えです。当サイトでは同じ問題が発生しています(TAPNET Online Backup)。右側のバーのすべてのページに共通のコードスニペットが使用されているためです。私はhref=""の値を取り除こうとしました、そして、それは働いているので、現在のURLを引っ張っているに違いありません。私は以前と同じ#のものを見ていて、期待した通りに数字が増える前に好きでなかったページが好きなときは。それを試してください。

+1

私に知らせてくれてありがとう。それを試みます。 – Devner

関連する問題