J'essaie d'apprendre codeigniter (suite à un livre), mais ne comprends pas pourquoi la page Web sort vide.newbie problèmes avec codeigniter
mon contrôleur est
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
}
function index()
{
$data['title'] = "Welcome to Claudia's Kids";
$data['navlist'] = $this->MCats->getCategoriesNav();
$data['mainf'] = $this->MProducts->getMainFeature();
$skip = $data['mainf']['id'];
$data['sidef'] = $this->MProducts->getRandomProducts(3, $skip);
$data['main'] = "home";
$this->load->vars($data);
$this->load->view('template');
}
la vue est:
<--doctype declaration etc etc.. -->
</head>
<body>
<div id="wrapper">
<div id="header">
<?php $this->load->view('header');?>
</div>
<div id='nav'>
<?php $this->load->view('navigation');?>
</div>
<div id="main">
<?php $this->load->view($main);?>
</div>
<div id="footer">
<?php $this->load->view('footer');?>
</div>
</div>
</body>
</html>
Maintenant, je sais que le modèle passe en arrière les bonnes variables, mais la page apparaît complètement vide. Je m'attendrais au moins à voir une erreur, ou la structure html de base, mais la page est juste vide. De plus, le contrôleur ne fonctionne pas même si je le modifie comme suit:
function index()
{
echo "hello.";
}
Qu'est-ce que je fais de mal? Tout fonctionnait jusqu'à ce que je fasse quelques changements au modèle - mais même si je supprime tous ces nouveaux changements, la page est toujours vide .. je suis vraiment confus!
merci, P.
J'ai isolé la fonction qui me donne des problèmes. voici:
function getMainFeature()
{
$data = array();
$this->db->select("id, name, shortdesc, image");
$this->db->where("featured", "true");
$this->db->where("status", "active");
$this->db->orderby("rand()");
$this->db->limit(1);
$Q = $this->db->get("products");
if ($Q->num_rows() > 0)
{
foreach($Q->result_arry() as $row)
{
$data = array(
"id" => $row['id'],
"name" => $row['name'],
"shortdesc" => $row['shortdesc'],
"image" => $row['image']
);
}
}
$Q->free_result();
return $data;
}
Je suis tout à fait convaincu qu'il doit y avoir une erreur de syntaxe quelque part - mais ne comprends toujours pas pourquoi il ne montre aucune erreur, même si je l'ai mis en place error_reporting E_ALL dans la fonction d'index ..
Q-> result_arry() - right est result_array(). (ou c'est juste une faute de frappe?) – DCrystal
bien repéré :) C'était une erreur réelle dans le code, mais je l'avais déjà repéré moi-même et n'ai pas résolu le problème .. – Patrick
Si vous avez isolé à une fonction dans un modèle pourquoi ne pas le poster afin que nous puissions être en mesure de repérer l'erreur. – Eric