2017-12-14 9 views
0

Magento登録ページでajaxを使用して呼び出す外部PHPファイルがあります。このPHPコードは、テキスト入力フィールドの値が有効かどうかを検証するのに役立ちます。 PHPコードを参照してください:Magento Mageが外部PHPファイルから期待通りに動作しない

require_once ('app/Mage.php'); 
Mage::app()->getStore(); 
Mage::getSingleton('core/session', array('name' => 'frontend')); 
$request = Mage::app()->getRequest(); 
$customer = Mage::getModel('customer/customer'); 
$inviteCode = $request->getParam('code'); 

if (($inviteCode) && ($inviteCode != '')) { 
     $websiteId = Mage::app()->getWebsite()->getId(); 
     $customerId = $customer->setWebsiteId($websiteId)->loadByEmail($inviteCode)->getId(); 

     if ($customerId && ($customerId != '')) { 
       $account = Mage::getModel('affiliateplus/account')->getCollection()->addFieldToFilter('customer_id', $customerId)->getFirstItem(); 

       if ($account && ($account->getAccountId())) { 
       $result = "Valid Invite Code"; 
       } 
     } 
} 

//echo json_encode($result); 
echo ($account); 

私は複数のウェブサイトのインストールがあります。このコードは、サブフォルダyyyでホストされているアドオンドメインにあります。

  1. $websiteIdは "5"(xxx.com/yyy)を返す必要がありますが、それは "1"(xxx.com)帰国し続けます。
  2. 私は手動で「5」、$account戻り空の値

$websiteIdを設定した場合のコードは、モデル関数で正常に動作します。どんな助けもありがとう。

ありがとうございました。

答えて

0

まず、app/Mage.phpファイルを探し、それをあなたのPHPファイルで必要とする必要があります。 require_once 'app/Mage.php';

あなたのphpファイルのコードの下に追加します。

$mageFilename = 'app/Mage.php'; 
if (!file_exists($mageFilename)) { 
    echo $mageFilename." was not found"; 
    exit; 
} 
require_once $mageFilename; 
Mage::app(); 
+0

私が持っているのrequire_once( 'アプリ/メイジ/ PHPを')コードの先頭で...メイジ::アプリ() - >のGetRequest()正しい値を返しますが、Mage :: app() - > getWebsite() - > getId()は誤った値を返します –

関連する問題