私は Joomla 2.5 を使用しており、サイトの先頭に次のコードを含むモジュールがあります。
<?php
$user =JFactory::getUser()->guest;
if ($user->guest) {
echo 'Please sign up or sign in to view this'
}
else {
echo 'Here is the content';
}
?>
私が試したがうまくいかなかったのは、最初の if ステートメントに変数 $member を追加することです。その人がエコーを表示するためにログインしていない場合は、$member を == true に設定します。
なぜ私はこれをしたいのですか?ユーザーがログインしているかどうかを判断するために Joomla API を呼び出すよりも、$member のステータスを確認した方が、サイトの読み込みが速くなると思います。
訪問者がメンバーであるかどうかを判断するための呼び出しは、すべてのページで約 5 ~ 7 回です。JFactory::getUser() 関数 (上記のすべてのコード) を 5 ~ 7 回使用すると、Web サイトが少し遅くなります。そのため、最初の呼び出しで $member == true を作成することを考えました。これがサイトのパフォーマンス/速度の点で優れていると考えているのが間違っている場合は、修正してください。
私はこれを試しました:
<?php
$user =JFactory::getUser()->guest;
if ($user->guest) {
echo 'Please sign up or sign in to view this'
$member == true;
}
else {
echo 'Here is the content';
}
?>
ヘッダーモジュールに上記のコードがあります。しかし、後で同じページまたは記事の他のモジュールで php コードを使用すると、$member のステータスが認識されず、常にユーザーがログインしていないと判断されます。
私は何を間違っていますか?PHPの本をチェックしましたが、エラーが見つかりませんでした。どんな助けでも感謝します。