[ZF] action pakt de function niet? (Opgelost)
shibble - 17/09/2008 00:27 (laatste wijziging 17/09/2008 09:25)
MySQL interesse
hallo,
ik zit met het volgende probleem nu mijn array probleem opgelost is en het werkte heb ik nu maar bedacht me blocks in een aparte controller te zetten, nou komt het niet op me pagina te staan.
ik heb in me IndexController:
$this->view->blockActions = array(
'block_action' => array('lopendeProjecten', 'afgerondeProjecten'),
'block_controller' => array('blocks', 'blocks'),
'block_module' => array('projects', 'projects')
);
$this -> view -> blockActions = array ( 'block_action' => array ( 'lopendeProjecten' , 'afgerondeProjecten' ) , 'block_controller' => array ( 'blocks' , 'blocks' ) , 'block_module' => array ( 'projects' , 'projects' ) ) ;
in me layout:
<?php
for($i = 0; $i < count($this->blockActions['block_action']); $i++)
{
$this->action(
$this->blockActions['block_action'][$i],
$this->blockActions['block_controller'][$i],
$this->blockActions['block_module'][$i]
);
}
?>
<?php
for ( $i = 0 ; $i < count ( $this -> blockActions [ 'block_action' ] ) ; $i ++ ) {
$this -> action (
$this -> blockActions [ 'block_action' ] [ $i ] ,
$this -> blockActions [ 'block_controller' ] [ $i ] ,
$this -> blockActions [ 'block_module' ] [ $i ]
) ;
}
?>
en in me BlocksController:
<?php
/*
* Includes
*/
include ('./application/modules/projects/models/projecten.php');
class Projects_BlocksController extends Zend_Controller_Action
{
public function lopendeProjectenAction()
{
$projects = new Projecten();
$this->view->lopendeprojecten = $projects->fetchAll(
$projects->select()
->setIntegrityCheck(false)
->from(array('projects' => 'projecten'),
array('*', 'DATE_FORMAT(projects.projecten_start_datum, "%d/%m/%Y") AS projecten_datum'))
->join(array('category' => 'projecten_categorieen'),
'projects.projecten_categorieid = category.projecten_categorieenid',
array('category.projecten_categorieen_naam'))
->order(array('projects.projecten_start_datum DESC'))
->where('projects.projecten_fase != "Opgeleverd"')
->limit(6)
);
}
public function afgerondeProjectenAction()
{
$projects = new Projecten();
$this->view->afgerondeprojecten = $projects->fetchAll(
$projects->select()
->setIntegrityCheck(false)
->from(array('projects' => 'projecten'),
array('*', 'DATE_FORMAT(projects.projecten_eind_datum, "%d/%m/%Y") AS projecten_datum'))
->join(array('category' => 'projecten_categorieen'),
'projects.projecten_categorieid = category.projecten_categorieenid',
array('category.projecten_categorieen_naam'))
->where('projects.projecten_fase = "Opgeleverd"')
->order(array('projects.projecten_eind_datum DESC'))
->limit(6)
);
}
}
<?php
/*
* Includes
*/
include ( './application/modules/projects/models/projecten.php' ) ;
class Projects_BlocksController extends Zend_Controller_Action
{
public function lopendeProjectenAction( )
{
$projects = new Projecten( ) ;
$this -> view -> lopendeprojecten = $projects -> fetchAll (
$projects -> select ( )
-> setIntegrityCheck ( false )
-> from ( array ( 'projects' => 'projecten' ) , array ( '*' , 'DATE_FORMAT(projects.projecten_start_datum, "%d/%m/%Y") AS projecten_datum' ) ) -> join ( array ( 'category' => 'projecten_categorieen' ) , 'projects.projecten_categorieid = category.projecten_categorieenid' ,
array ( 'category.projecten_categorieen_naam' ) ) -> order ( array ( 'projects.projecten_start_datum DESC' ) ) -> where ( 'projects.projecten_fase != "Opgeleverd"' )
-> limit ( 6 )
) ;
}
public function afgerondeProjectenAction( )
{
$projects = new Projecten( ) ;
$this -> view -> afgerondeprojecten = $projects -> fetchAll (
$projects -> select ( )
-> setIntegrityCheck ( false )
-> from ( array ( 'projects' => 'projecten' ) , array ( '*' , 'DATE_FORMAT(projects.projecten_eind_datum, "%d/%m/%Y") AS projecten_datum' ) ) -> join ( array ( 'category' => 'projecten_categorieen' ) , 'projects.projecten_categorieid = category.projecten_categorieenid' ,
array ( 'category.projecten_categorieen_naam' ) ) -> where ( 'projects.projecten_fase = "Opgeleverd"' )
-> order ( array ( 'projects.projecten_eind_datum DESC' ) ) -> limit ( 6 )
) ;
}
}
tot de plek waar de blocks moeten komen word de website geshowed
3 antwoorden
Gesponsorde links
Kr4nKz1n - 17/09/2008 08:45
Onbekend
Ik wordt afgeleid en wordt geack van de manier van tabs die je gebruikt, en in de 2de code van ?> en <?php
Stijn - 17/09/2008 08:52
PHP expert
@krankzin: ik voel met je mee.
ontopic: een action begint met een kleine letter
shibble - 17/09/2008 09:31 (laatste wijziging 17/09/2008 10:49)
MySQL interesse
@krankzin:
Heb de tabs wat geprobeerd te verbeteren.
en ook de coding van de 2e even verbeterd.
@stijn:
Heb ook de eerste letter in een kleine letter veranderd.
Het probleem is hier nog niet mee opgelost.
blijf hetzelfde probleem behouden.
UPDATE:
Ik ben al iets verder gekomen.
Als ik naar me website ga dan word er rechts het block neergezet wat er zou moeten komen, als ikdan bijvoorbeeld naar /projecten/ ga dan stopt die met het weergeven van de site op de plek waar die de blokken neer zou moeten zetten.
de script die in me layout staat is nog hetzelfde.
In de IndexController van de default module:
$this->view->blockActions = array(
'block_action' => array('lopende_projecten'),
'block_controller' => array('blocks'),
'block_module' => array('projects')
);
$this -> view -> blockActions = array ( 'block_action' => array ( 'lopende_projecten' ) , 'block_controller' => array ( 'blocks' ) , 'block_module' => array ( 'projects' ) ) ;
in de IndexController van module projecten:
$this->view->blockActions = array(
'block_action' => array('lopende_projecten'),
'block_controller' => array('blocks'),
'block_module' => array('projects')
);
$this -> view -> blockActions = array ( 'block_action' => array ( 'lopende_projecten' ) , 'block_controller' => array ( 'blocks' ) , 'block_module' => array ( 'projects' ) ) ;
en de BlocksController van me projecten module:
<?php
/*
* Includes
*/
include ('./application/modules/projects/models/projecten.php');
class Projects_BlocksController extends Zend_Controller_Action
{
public function lopendeprojectenAction()
{
$projects = new Projecten();
$this->view->lopendeprojecten = $projects->fetchAll(
$projects->select()
->setIntegrityCheck(false)
->from(array('projects' => 'projecten'),
array('*', 'DATE_FORMAT(projects.projecten_start_datum, "%d/%m/%Y") AS projecten_datum'))
->join(array('category' => 'projecten_categorieen'),
'projects.projecten_categorieid = category.projecten_categorieenid',
array('category.projecten_categorieen_naam'))
->order(array('projects.projecten_start_datum DESC'))
->where('projects.projecten_fase != "Opgeleverd"')
->limit(6)
);
}
public function afgerondeprojectenAction()
{
$projects = new Projecten();
$this->view->afgerondeprojecten = $projects->fetchAll(
$projects->select()
->setIntegrityCheck(false)
->from(array('projects' => 'projecten'),
array('*', 'DATE_FORMAT(projects.projecten_eind_datum, "%d/%m/%Y") AS projecten_datum'))
->join(array('category' => 'projecten_categorieen'),
'projects.projecten_categorieid = category.projecten_categorieenid',
array('category.projecten_categorieen_naam'))
->where('projects.projecten_fase = "Opgeleverd"')
->order(array('projects.projecten_eind_datum DESC'))
->limit(6)
);
}
}
<?php
/*
* Includes
*/
include ( './application/modules/projects/models/projecten.php' ) ;
class Projects_BlocksController extends Zend_Controller_Action
{
public function lopendeprojectenAction( )
{
$projects = new Projecten( ) ;
$this -> view -> lopendeprojecten = $projects -> fetchAll (
$projects -> select ( )
-> setIntegrityCheck ( false )
-> from ( array ( 'projects' => 'projecten' ) , array ( '*' , 'DATE_FORMAT(projects.projecten_start_datum, "%d/%m/%Y") AS projecten_datum' ) ) -> join ( array ( 'category' => 'projecten_categorieen' ) , 'projects.projecten_categorieid = category.projecten_categorieenid' ,
array ( 'category.projecten_categorieen_naam' ) ) -> order ( array ( 'projects.projecten_start_datum DESC' ) ) -> where ( 'projects.projecten_fase != "Opgeleverd"' )
-> limit ( 6 )
) ;
}
public function afgerondeprojectenAction( )
{
$projects = new Projecten( ) ;
$this -> view -> afgerondeprojecten = $projects -> fetchAll (
$projects -> select ( )
-> setIntegrityCheck ( false )
-> from ( array ( 'projects' => 'projecten' ) , array ( '*' , 'DATE_FORMAT(projects.projecten_eind_datum, "%d/%m/%Y") AS projecten_datum' ) ) -> join ( array ( 'category' => 'projecten_categorieen' ) , 'projects.projecten_categorieid = category.projecten_categorieenid' ,
array ( 'category.projecten_categorieen_naam' ) ) -> where ( 'projects.projecten_fase = "Opgeleverd"' )
-> order ( array ( 'projects.projecten_eind_datum DESC' ) ) -> limit ( 6 )
) ;
}
}
Hij zou gewoon op de /projecten/ pagina ook moeten parsen toch? want het is precies dezelfde arrays als in de default module...
UPDATE #2:
Ik heb het probleem opgelost, ik had in de blocks ook includes naar de models. nu hgeb ik de includes uit me blocks controllers gehaald, en heb ik in de indexcontroller van de default module de model van project en news geinclude. en zo heb ikhet bij elke indexcontroller gedaan en is zo is het ook opgelost!
hartstikke bedankt allemaal !
Gesponsorde links
Dit onderwerp is gesloten .