2012-04-13 5 views
0

Meine Apps erfordern Vernetzung Anwendung und nach genau den Blog Folgendes an http://symfony.com/blog/cross-application-linksSymfony 1.4 Kreuz APplication Link scheitern

bekam ich einen von ihnen zu arbeiten und eine von ihnen nicht funktioniert. Der Link zur Backend-Anwendung vom Frontend funktioniert gut, aber nicht die Verbindung zum Frontend auf dem Backend-Code? Im Prinzip habe ich auf meiner backendConfiguration.class.php Datei:

protected $frontendRouting = null ; 

    public function generateFrontendUrl($name, $parameters = array()) 
    { 
    return 'http://localhost:8080/frontend_dev.php'.$this->getFrontendRouting()->generate($name, $parameters); 
    } 

    public function getFrontendRouting() 
    { 
    if (!$this->frontendRouting) 
    { 
     $this->frontendRouting = new sfPatternRouting(new sfEventDispatcher()); 

     $config = new sfRoutingConfigHandler(); 
     $routes = $config->evaluate(array(sfConfig::get('sf_apps_dir').'/frontend/config/routing.yml')); 

     $this->frontendRouting->setRoutes($routes); 
    } 

    return $this->frontendRouting; 
    } 

In meiner Vorlage Ich habe:

echo link_to('Log out', sfContext::getInstance()->getConfiguration()->generateFrontendUrl('dashboard/login')) 

Armaturenbrett/login ein gültiger Pfad ist aber zurückgibt: Die Route existiert nicht. ..500 interner Server Fehler

Was meinst du Jungs?

Auch meine routing.yml Datei als Referenz veröffentlichen:

# default rules 
homepage: 
    url: /
    param: { module: dashboard, action: index } 

# generic rules 
# please, remove them by adding more specific rules 
default_index: 
    url: /:module 
    param: { action: index } 

default: 
    url: /:module/:action/* 

Antwort

1

Haben Sie versucht, in Ihrem Frontend routing.yml eine echte Route mit dem dasboard/login URL zu setzen?

echo link_to('Log out', $sf_context->getConfiguration()->generateFrontendUrl('dashboard_login')) 

Ps: anstelle des Moduls/action

dashboard_login: 
    url: /dashboard/login 
    param: { module: dashboard, action: login } 

# default rules 
homepage: 
    url: /
    param: { module: dashboard, action: index } 

# generic rules 
# please, remove them by adding more specific rules 
default_index: 
    url: /:module 
    param: { action: index } 

default: 
    url: /:module/:action/* 

Und dann den Routennamen rufen Sie $sf_context in einer Vorlage statt sfContext::getInstance() verwenden können.

+0

das war krank! es hat funktioniert, und ich frage mich, warum der Blog das nie erwähnt hat! Prost! – user1020069

Verwandte Themen