2009-07-08 14 views
9

私のウェブサイトの別の部分のMagentoカスタマーセッションにアクセスしようとしています。Magento外からMagentoユーザーのセッションにアクセスするには?

domain.com/shop/ <- Magento 
domain.com/test.php 

店自体は、しかし、顧客がログインしている場合はtest.phpを内部に決定しようとイムので、私は彼のカートへのリンクで彼の名前を表示することができ、魔法のように動作します。これまでtest.phpを

内容:

<?php 
require_once dirname(__FILE__).'/shop/app/Mage.php'; 
umask(0); 
Mage::app('default'); 
Mage::getSingleton('core/session', array('name' => 'frontend')); 
var_dump(Mage::getSingleton('customer/session')->isLoggedIn()); 
?> 

私はが返さブール値(false)を得続けます。私はmagentoにdomain.com/shop/でログインしていますので、 'true'が必要です。

何か忘れていますか?

+0

>「例外:警告:含み(DoppelGangerView.phpが)......」私の推測では、それが何らかの形でファイルDoppelGangerView.phpを見つけることができないだろう。.. - 現在のディレクトリに置かれていない。.. - あなたのインクルードパスに含まれていない –

答えて

14

Magentoが設定するクッキーのパスを確認することをお勧めします。おそらく、それは/shopに設定されているため、その上のファイルからクッキーにアクセスすることはできません。

あなたはそれがMagentoの版にconfuguration-> web下にあるSystem -> Configuration -> Web (under the General heading) -> Session cookie management

+0

私はこれを/に設定しました。これは完全に機能します!ありがとう。 –

+0

なぜjoomlaで動作しないのですか?動作している別のページでテストしましたが、joomlaで動作しないのは常にbool(false)を返します –

+1

@PositiveこのMAGENTOの質問はjoomlaではなくMAGENTOに関するものです。 – Benubird

0

下Magentoのは、コントロールパネルでそのクッキーを設定するために使用するパスを変更することができます。 1.10.1.1

0

同じ問題が私を怒らせていました。

  • 正しいMageストアID(現在のストア)が設定されていますか?
  • Magentoと同じセッションパスを使用していますか?
  • Cookieの目的で同じ(サブ)ドメインを使用していますか?
  • Magentoの内部と外部の両方でHTTPまたはHTTPSを使用していますか?

あなたは上記のすべてを確認した場合、あなたはこのような独自の最初のコア「フロントエンド」のセッションを初期化します

// Initialise the core "frontend" session 
Mage::getModel('core/session', array('name' => 'frontend')); 

その後、あなたは、このような顧客/セッションにアクセスすることができます。

$customer = Mage::getSingleton("customer/session", array('name' => 'frontend'))->getCustomer(); 
関連する問題