2

Drupal Commons プロファイルを使用する what-i.com に Web サイトがあります。「whati」というカスタム テーマを作成し、/sites/all/themes フォルダーに配置しました。私の page-front.tpl.php は私のフロントページを駆動することになっています。

ログインしているユーザーとログインしていないユーザーの 2 つのシナリオの if-else ステートメントがあります。ログインしているユーザーの場合、すべてがうまく機能します。ログインすると、ユーザーにはカスタム フロント ページが表示されます。ログインしていない(匿名の)ユーザーの場合、常にhttp://what-i.com/user?destination=homeに転送します。そのリダイレクトをオーバーライドする方法がわかりません: page-front.tpl.php の if ステートメントを検出しません。frontpage モジュールを使用してみましたが成功しませんでした。また、フロントページの設定を変更しようとしました役に立たないサイト情報。

この問題の解決を手伝ってくれる人はいますか?つまり、user?destination=home にリダイレクトされるのではなく、作成したカスタム フロント ページを匿名ユーザーに表示したいのです。

4

1 に答える 1

2

これは、TPL ファイルまたはモジュール init() から実行できます。

x.tpl.php から:

if (drupal_is_frontpage()) {
   global $user;
   if ($user->uid == 0) {
       drupal_goto('some page');
   }
 }

モジュールから:

mymodule_init() {
   global $user;
   if ($user->uid == 0 && drupal_is_frontpage()) {
      drupal_goto('some page');
   }
}
于 2010-08-18T18:59:31.770 に答える