レイアウトベースページがあります。このページには、ポップアップを開くための link_to があります。
<?php $options = 'left=100,top=10,width=650,height=375,location=no,scrollbars =yes,resizable=yes,directories=no,status=no,toolbar=no,menub ar=no' ?>
<?php echo link_to(image_tag($profile_picture, 'size=25x25') .' ' .$sf_user->getAttribute('user')->getUsername(), '/frontend_dev.php/user/' .$sf_user->getAttribute('user')->getId(),
array(
'popup' => array('popupWindow', $options)
)
); ?>
リンクをクリックすると、ユーザー ページが開きますが、ポップアップ ウィンドウには表示されません。しかし、ユーザー ページで同じリンクをクリックすると、ポップアップ ウィンドウでユーザー ページが開きます。onclick を使用して、プレーンな HTML リンクを試してみました。
<a href="http://google.com" onclick="window.open(this.href, 'popupWindow', 'width=500, height=500')">Google</a>
また、レイアウトからはまだポップアップ ウィンドウが開きませんが、ユーザー ページからは開きます。
誰かが私が間違っていることを説明してもらえますか?
たぶん、次のように、ユーザーページをどのようにロードしているかを尋ねているかもしれません:
<?php echo $sf_content ?>
また、ユーザー ページは PHP で単純な HTML を実行するため、特別なことは何もありません。
編集:
それは sfGuestBookPlugin のインデックス ページと関係がありました。
<script type="text/javascript">
$(document).ready(function() {
});
</script>
一部であり、ファイルの下部にある別のスクリプトタグに JS の独自の部分がありました。
<script type="text/javascript">
var open = true;
$(".form-title").click(function() {
if(open) {
$(".openClose").text("▼");
open = false;
} else {
$(".openClose").text("▲");
open = true;
}
});
</script>
この部分を $(document).ready() 部分内に移動したことが役に立ちました。しかし、なぜこれが役立つのかについてはまだ興味があります。説明していただけますか?