Magento Web-Service를 처음 사용하고 있으며,이를 확장해야합니다. Webservice 셸은 고객에게 로그인 할 수있게되어 세션 쿠키를 다시 돌려서 쿠키를 다시 설정하고 리디렉션하는 파일로 리디렉션 할 수있게되어 장바구니를보고 Magento Store에서 체크 아웃 할 수 있습니다.PHP -> SOAP -> Magento Webservice : Magento에서 쿠키를 설정하십시오.
문제는 :. 젠토 쿠키 (즉, 필자가이 쿠키 설명서를 설정하려고하고는 메신저 로그인, 세션 ID 또는 무엇이든을 포함) 대신에 세션을 설정을 생성에서 고객 로그 나는 시도했습니다 때 이제 Magento 웹 서비스에서 magento로 설정된이 쿠키를 가져 오는 데 몇 시간 동안 걸립니다. 이 쿠키는 내가
$session = Mage::getSingleton('customer/session');
return $session->getCookie()->get('frontend');
를 호출 할 때 설정되어 있지 않은 것 같습니다 Heres는 내 완전한 코드 : 젠토 Webservice를 API 광고 : PHP에서
<?php
class Customapi_Model_Core_Api
{
public function __construct()
{
}
public function checkout($user, $cart)
{
$ret['cookie'] = $this->login($user);
//$coreCookie = Mage::getSingleton('core/cookie');
//$ret['cookie'] = $_COOKIE['frontend'];
return $ret;
}
function login($user)
{
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
try
{
$session->loginById($user['id']);
}
catch (Exception $e)
{
}
return $session->getCookie()->get('frontend');
}
}
?>
Heres는 내 API 호출 :
<?php
$teambook_path = 'http://localhost/magento/';
$soap = new SoapClient('http://localhost/magento/api/?wsdl');
$soap->startSession();
$sessionId = $soap->login('ApiUser', 'ApiKey');
$userSession = $soap->call(
$sessionId,
'customapi.checkout',
array(
array(
'id' => 1,
'username' => '[email protected]',
'password' => '***'
),
array(
)
)
);
echo '<pre>';
var_dump($userSession)."\n";
if(isset($userSession['sid']))
echo '<a href="'.$teambook_path.'session.php?sid='.$userSession['sid'].'" target="_blank">'.$userSession['sid'].'</a>'."\n";
echo '</pre>';
$soap->endSession($sessionId);
?>
감사합니다 모든 도움을! MRU
내가 답을 쓰고 있지만, 주석 상자가 나를 ...보다 문자를 더 쓸 거부 죄송합니다.
내가 올린 코드를 모두 시도했는데 그 중 하나가 빈 Array 또는 Bool false입니다. 나는 정적 함수를 썼다 : Mage_Core_Model_Session_Abstract_Varien에라고
private static $cookie = array();
public static function cookie($key, $value)
{
if($key == 'frontend') {
self::$cookie['key'] = $key;
self::$cookie['value'] = $value;
}
}
시작 ::와 나는 프론트 엔드 쿠키 값 있어요 : 라인 (125)
에서
Customapi_Model_Core_Api::cookie($sessionName, $this->getSessionId());
을하지만 didnt가 해결할 내 기본 문제 : Api 호출에서 생성 된 세션은 올바른 값으로 설정되었지만 복원 할 수 없습니다.
도움 주셔서 감사합니다.
다음과 같은 명령을 사용하여 모든 쿠키의 배열을 얻을 수
hello @Mru, 나는 magento에서 똑같은 일을하고 있습니다. 친절하게도 제게 안내해 주시겠습니까? magento 단계로 고객 로그인을위한 webservice를 어떻게 만들 수 있습니까? – Deep