Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ZEND] Andere template aanroepen

Pagina: 1
Acties:

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Tweakers,

Ik zit helemaal klem. Ik heb een website overgenomen van iemand om te onderhouden. Draait op ZEND, licht aangepast.
Nu moet ik voor 1 pagina een andere template inladen. De standaard template is "/application/layouts/frontend.phtml".

Nu heb ik heel Google al afgezocht en de enige optie die ik tegenkwam was :
PHP:
1
$this->_helper->viewRenderer('showOther');

Helaas werkt dit natuurlijk weer niet, zoals verwacht.

Zit er hier toevallig een ZEND kenner die mij hier even bij kan helpen ? Ik kom er echt niet meer uit :(

Owner of DBIT Consultancy | DJ BassBrewer


  • Cartman!
  • Registratie: April 2000
  • Niet online
Kijk eens naar de layout helper, ik begrijp dat je namelijk de layout wilt wijzigen ipv. de view. Dat zijn 2 verschillende onderdelen.

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Cartman! schreef op maandag 11 april 2011 @ 10:54:
Kijk eens naar de layout helper, ik begrijp dat je namelijk de layout wilt wijzigen ipv. de view. Dat zijn 2 verschillende onderdelen.
Ja, ik wil een andere layout inladen voor 1 enkele pagina.
Probleem is dat lijkt alsof de vorige beheerde de layout helper eruit heeft gesloopt? Kan dat zomaar?

Owner of DBIT Consultancy | DJ BassBrewer


  • mithras
  • Registratie: Maart 2003
  • Niet online
De layout view helper is niet beschikbaar in alle versies van ZF afaik, hij is later dan Zend_Layout toegevoegd in ieder geval. Wat je altijd kan gebruiken is een static call naar Zend_Layout:

PHP:
1
$layout = Zend_Layout::getMvcInstance();

Je hebt dan het Zend_Layout object die gekoppeld is aan je MVC stack te pakken. De method Zend_Layout::setLayout() is vervolgens wat je zoekt :)

PS. Als je in je action controller de layout wil veranderen en Zend_Layout instantieert met een resource plugin voor Zend_Application, is dit nog wel netter:

PHP:
1
$layout = $this->getInvokeArg('bootstrap')->getResource('layout');

[ Voor 23% gewijzigd door mithras op 11-04-2011 11:08 ]


  • DennusB
  • Registratie: Mei 2006
  • Niet online
mithras schreef op maandag 11 april 2011 @ 11:06:
De layout view helper is niet beschikbaar in alle versies van ZF afaik, hij is later dan Zend_Layout toegevoegd in ieder geval. Wat je altijd kan gebruiken is een static call naar Zend_Layout:

PHP:
1
$layout = Zend_Layout::getMvcInstance();

Je hebt dan het Zend_Layout object die gekoppeld is aan je MVC stack te pakken. De method Zend_Layout::setLayout() is vervolgens wat je zoekt :)

PS. Als je in je action controller de layout wil veranderen en Zend_Layout instantieert met een resource plugin voor Zend_Application, is dit nog wel netter:

PHP:
1
$layout = $this->getInvokeArg('bootstrap')->getResource('layout');
Dankjewel voor je hulp maar zelfs dat werkt op de een of andere vage manier niet.
Warning: include_once(Zend/Layout.php) [function.include-once]: failed to open stream: No such file or directory in /home/admin/domains/dev.yorcom.nl/public_html/library/Zend/Loader.php on line 146
Volgens mij heeft de vorige beheerder ZEND zover omgebouwd dat zelfs zulke standaard functies niet meer werken! Ik denk dat ik die vorige devver maar even ga contacten :P

Owner of DBIT Consultancy | DJ BassBrewer


  • mithras
  • Registratie: Maart 2003
  • Niet online
Welke versie van ZF draai je (kijk naar Zend_Version in Zend/Version.php)? Misschien heb je wel een enorm oude setup (pre 1.5) want toen bestond Zend_Layout nog niet eens :P

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024

Thomasje

Semacode

PHP:
1
$this->_helper->layout->setLayout('   HIER JE LAYOUT NAAM    ');


Werkt dat ook niet?
Pagina: 1