Zend Framework 2-display eine Ansicht innerhalb einer Blick
Habe ich zwei Module Admin und Anmelden.
Ich soll zur Anzeige des Login-view " login.phtml' in der admin-Ansicht "index.html'
Habe ich Folgendes in der Admin-Module controller indexAction
public function indexAction()
{
$login = new LoginController();
$view = new ViewModel(array(
'theloginform' => $login->loginAction(),
));
return $view;
}
In der LoginAction-Methode in der Login-controller habe ich wieder das ViewModel für die 'login.phtml Datei.
public function LoginAction() {
$view = new ViewModel();
return $view;
}
Die indexAction wirft einen Fehler, da die variable 'theloginform' ist ein Objekt.
Catchable fatal error: Object of class Zend\View\Model\ViewModel could not be converted to string in...
Wenn ich Folgendes hinzufügen:
$authentication->loginAction()->captureTo('test')
'Index.phtml' zeigt einen string "Inhalt".
Habe ich gelesen, dass ich möglicherweise zum Rendern des ViewModel-bevor ich weisen Sie auf die anzeigen der variable 'theloginform', aber ich kann nicht scheinen, um es zu arbeiten, ich habe versucht, die folgenden mit kein Glück.
public function LoginAction() {
$view = new ViewModel();
$renderer = new PhpRenderer();
$resolver = new Resolver\AggregateResolver();
$map = new Resolver\TemplateMapResolver(array(
'login' => __DIR__ . '/../view/login.phtml'
));
$resolver->attach($map);
$view->setTemplate("login");
return $renderer->render($view);
}
Wenn die folgende Fehlermeldung erhalten:
Zend\View\Renderer\PhpRenderer::render: Unable to render template "login"; resolver could not resolve to a file
Ich habe sogar versucht, indem die DI ins autoload_classmap.php Datei aber immer noch die gleichen Fehler habe ich doppelt überprüft die Anmeldung.phtml Datei im richtigen Pfad:
'/Login/view/login/login/login.phtml' ich sogar kopiert es in '/Login/src/Login/view/login.phtml'
Sehr verwirrt haben, Lesen dann wieder Lesen in der Zend Dokumentation, ich will nur den pass einer Ansicht zu einer anderen Ansicht...
Im Admin-Modul ich hab 'index.phtml' , möchte ich hinzufügen, dass das Login-Modul 'login.phtml'. Das Login-Modul 'login.phtml' Ansicht wird auch Hinzugefügt werden, andere Ansichten in anderen Modulen wie Kunden-Konto-Modul.
Ich bin zu faul für eine Antwort, direkt vor der Mittagspause, aber schauen Sie um Rob Allens Spielplatz > github.com/akrabat/ZF2TestApp/blob/master/module/Application/..., wird Es Ihnen helfen, eine Menge. Sie könnten auch interessiert sein in der folgenden Frage > stackoverflow.com/questions/12451399/...
InformationsquelleAutor Blu Towers | 2012-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der ZF-1.x würde ich wahrscheinlich empfehlen Sie bauen einen action Helfer, auf die verwiesen wird, einer Ansicht Platzhalter oder ein controller-plugin, das die Anrufe wieder zu loginAction für die form der Logik.
In Zf2 es sieht aus wie action-Helfer wurden ersetzt durch controller plugins und scheint ausgelöst zu werden durch die event-manager und möglicherweise müssen sich bewusst sein, dass eine oder mehrere der "Manager". Aber die placeholder view Helfer ist noch vorhanden und scheint sogar ein wenig vertraut.
Ich würde vorschlagen, Sie schauen in den Aufbau/Anpassung ein controller-plugin für Ihre login-Formular angezeigt, kann dann angebracht werden, um ein placeholder view Helfer. Sie könnten in der Lage sein, um die erforderliche Funktionalität mit nur einem view Helfer, wenn Sie Glück haben.
Ich wünschte, ich könnte mehr helfen, aber ich bin immer noch waten durch diesen Schlamassel selbst.
Glück.
Gerade gelesen über die Dienste-Verwalter in Bezug auf die httpRequest....völliges Missverständnis der Rahmen was für ein Tier das Zend framework ist!
ZF2 ist schrecklich zu erfahren, ZF 1 nicht ganz so schlecht.
InformationsquelleAutor RockyFord
Wenn Sie brauchen, teilen Inhalte anzuzeigen, die Sie verwenden können, partials:
können Sie über Sie zu Lesen hier
Vielleicht finden Sie auch einige nützliche Informationen: Wie funktioniert Zend Framework 2 Rendern von partials in einem Modul?
Sie entwerfen Ihre Anwendung falsch, die Dateien anzeigen soll aufgerufen werden, indem Sie bestimmte controller:Aktion in den meisten Fällen. Wenn Sie sehen, dass Sie einige Teile Ihrer website, die Sie wiederverwenden möchten, erstellen teilweise. Wie in diesem Fall, könnte es sein login-Formular. Die dann Einreichen können, um einige controller-action, und dann auf controller-Sie entscheiden, was zu tun mit Ergebnissen, die Umleitung irgendwo oder zeigen einige Ergebnisse.
InformationsquelleAutor Aurimas Ličkus
Als pro diese zf2 documentaion Seite
Schreibe dies im login-Action:
Und in der indexAction :
Im index.phtml können Sie nur echo login
<? echo $this->login ?>
wo immer Sie wollen-display loginView.InformationsquelleAutor Saidulu Buchhala
In der Sie die admin-Ansicht verwenden Sie die render-view-helper und echo das Skript gerendert, so dass Sie tun können
echo $this->render($this->theloginform);
InformationsquelleAutor user2343706