Ahoj,

potreboval bych se nalogovat bez pouziti komponenty, tedy jen volanim nejake konkretni url. Pokud pouziju nasledujici a volam “/account/login/facebook/”, vraci se mi v uvedenem dumpu “0”.

public function actionFacebook(){
    $dialog = $this->facebook->createDialog('login');
    $dialog->onResponse[] = $this->onFacebookResponse($dialog);
    $this->presenter->terminate();
}

private function onFacebookResponse(\Kdyby\Facebook\Dialog\LoginDialog $dialog){
    $fb = $dialog->getFacebook();
    $user = $fb->getUser();
    dump($user);
}

Tusite nekdo co s tim?

Diky,

@flexroad

To je prosté, tvůj kód totiž nedělá vůbec nic.

  • vytvoříš instanci komponenty ve vzduchu
  • nastavíš jí callback
  • zabiješ presenter

Udělej to tak, jak je to v dokumentaci a když pak budeš chtít otevřít ten dialog pomocí akce, tak můžeš takto

public function actionFacebook(){
    $this['fbLogin']->open();
}

Diky, uz to jede. Problem je, ze pokud tam nedam nasledujici “prasarnu”, tak se to zacykli…

public function actionFacebook(){
    if (count($this->getSignal()) > 0 && in_array('response', $this->getSignal())) {
        $this['loginControl-fbLogin']->handleResponse();
    } else {
        $this['loginControl-fbLogin']->open();
    }
}

No a přesně proto je v dokumentaci napsané, že máš používat {plink fbLogin-open!} a né akci :)

No to je presne to co nechci. Kdyz pak posilam marketingovy mail, aby se uzivatel prihlasil pres facebook a ze to je easy, tak ten link na to prihlaseni pak nevypada moc pekne. Ja potrebuju: http://example.com/…gin/facebook a ne http://example.com?…. Proto to :).

Od toho je přece router, ne?


You must first log in to participate in this discussion