Monday, March 30, 2015

Re: Error linking forum titles to individual posts.

Thanks. It works perfectly now. You guys are quite nice here, unlike the people on Stackoverflow that are fond of banning me for some days just because I incorrectly asked a question.  

On Sunday, 29 March 2015 20:49:57 UTC+1, Odedere Ayokunle wrote:
Greetings everyone here. I am combining one Andrew Perkin video tutorial (which explains cakephp in a step by step manner but quite stale) with the official cake forum example (more current but less explanatory) in learning cakePHP. The first thing I learnt how to do was to view all posts on the index page, which works very fine. Then I proceeded to using "id's" to view individual posts through the "view" action, this also works perfectly. My challenge started when I wanted to link titles on the index page to their individual forum posts. I do not seem to get the link class well. I tried Andrew Perkin's approach but I was showed errors. Then I updated his version to the official cake example style (adding helpers, exception for null id's, etc), but still I am being told that "

Fatal Error

Error: Cannot access empty property
File: C:\xampp\htdocs\cakephp\lib\Cake\View\View.php

Line: 867"         

The surprising thing about this error is that I have never edited the contents on the ../lib directory. So I do not know how to rectify it. I am only used to the ../app directory. 

Kindly find my code below and the associated file paths:

 MODEL 
cakephp/app/Model/Writeup.php

<?php
class Writeup extends AppModel {
var $name='Writeup';
}
?>

CONTROLLER
cakephp/app/Controller/WriteupsController.php

class WriteupsController extends AppController {
public $helpers = array('Html','Form');

public function index() {
$this->set('writeups',$this->Writeup->find('all'));
}

public function view($id = null) {
$this->set('writeup',$this->Writeup->findById($id));
}

public function hello_world() {
}
}
?>

VIEW
cakephp/app/Views/Writeups/index.ctp
<h2> View All Posts</h2>

<table>
   <tr>
        <th>Title</th>
        <th>Body</th>
   </tr>
<?php foreach ($writeups as $writeup): ?>
   <tr>
         <td><?php echo $this->$Html->link($writeup['Writeup']['title'],
 array('controller'=>'writeups', 'action'=>'view',$writeup['Writeup']['id']));?> </td>
         <td><?php echo $writeup['Writeup']['body'];?> </td>

   </tr>
<?php endforeach; ?>     
</table>

######################################################################
cakephp/app/Views/Writeups/view.ctp

<h2> <?php echo $writeup['Writeup']['title'];?></h2>
<p><?php echo $writeup['Writeup']['body'];?></p>

<p><small>Created on: <?php echo $writeup['Writeup']['created']; ?>
 Last modified on: <?php echo $writeup['Writeup']['modified']; ?></small></p>
#######################################
Once again, the error being provided by the debugger is that "Cannot access empty property" and the file path of the error is "C:\xampp\htdocs\cakephp\lib\Cake\View\View.php", a path that I have never edited. 

Thank you.






















--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: