hello,
i just baked an application that displays my posts in /views/posts/
index.ctp and the comments in  /views/comments/index.ctp.
What i am shooting for is displaying the comments and the posts on the
same page.

Any ideas?
Thanks

****I have set a relationship inside the post model like this:
<?php
class Post extends AppModel {
        var $name = 'Post';
        var $displayField = 'title';
        var $actsAs = array('Containable');
        var $validate = array(
                'title' => array(
                        'notempty' => array(
                                'rule' => array('notempty'),
                        ),
                ),
        );
        var $hasMany = array(
                'Comment' => array(
                        'className' => 'Comment',
                        'foreignKey' => 'post_id',
                        'dependent' => false,
                        'conditions' => array('Comment.class'=>'Post')
                )
        );
}


****the views/posts/index.ctp looks like this:

<div class="procon_container">
<div class="pro_container">
<div class="actions">
        <h3><?php __('Actions'); ?></h3>
        <div >
                <div><?php echo $this->Html->link(__('New Post', true),
array('action' => 'add'), array('class'=>'alllink black')); ?></div>
                <div><?php echo $this->Html->link(__('List Comments', true),
array('controller' => 'comments', 'action' => 'index'),
array('class'=>'alllink black')); ?> </div>
                <div><?php echo $this->Html->link(__('New Comment', true),
array('controller' => 'comments', 'action' => 'add'),
array('class'=>'alllink black')); ?> </div>
        </div>
</div>
<div class="posts index">
        <h2>Pro</h2>
        <div>
        <div class="arrange">
                        <div class="sort">Arrange by </div>
                        <div class="sort"><?php echo 
$this->Paginator->sort('title');?></
div>
                        <div class="sort"><?php echo 
$this->Paginator->sort('body');?></
div>
                        <div class="sort"><?php echo 
$this->Paginator->sort('created');?></
div>
                        <div class="actions"><?php //__('Actions');?></div>
        </div>
<?php
        $i = 0;
        foreach ($posts as $post):
                $class = null;
                if ($i++ % 2 == 0) {
                        $class = 'class="altrow"';
                }else {
                        $class = 'class="altrow_second"';
                }
        ?>
<?php if($post['Post']['set_postsid'] == 1){?>
        <div <?php echo $class;?>>
        <div class="post_image">
        <img src="http://placehold.it/50x50"/>
        </div>
        <div class="post_content">
                <div class="content_title"><?php echo $post['Post']['title']; 
?></
div>
                <div class="date_created"><?php echo date('M j Y, h:i',
strtotime($post['Post']['created'])); ?> added by <?php echo
$users_username?></div>
                <div class="content_body"><?php echo $post['Post']['body']; 
?></div>
                <div class="actions">
                        <?php echo $this->Html->link(__('View', true), 
array('action' =>
'view', $post['Post']['id']), array('class'=>'alllink black')); ?>
                        <?php if ($admin){ echo $this->Html->link(__('Edit', 
true),
array('action' => 'edit', $post['Post']['id']),
array('class'=>'alllink black')); }?>
                        <?php if ($admin){ echo $this->Html->link(__('Delete', 
true),
array('action' => 'delete', $post['Post']['id']),
array('class'=>'alllink black'), sprintf(__('Are you sure you want to
delete # %s?', true), $post['Post']['id'])); }?>
                </div>
        </div>
        </div>
<?php } ?>
<?php endforeach; ?>
        </div>

        <p>
        <?php
        echo $this->Paginator->counter(array(
        'format' => __('Page %page% of %pages%, showing %current% records out
of %count% total, starting on record %start%, ending on %end%', true)
        ));
        ?>      </p>

        <div class="paging">
                <?php echo $this->Paginator->prev('<< ' . __('previous', true),
array(), null, array('class'=>'disabled'));?>
         |      <?php echo $this->Paginator->numbers();?>
 |
                <?php echo $this->Paginator->next(__('next', true) . ' >>', 
array(),
null, array('class' => 'disabled'));?>
        </div>
        </div>
        </div>


****and the views/comments/index.ctp:

<div class="actions">
        <h3><?php __('Actions'); ?></h3>
        <ul>
                <li><?php echo $this->Html->link(__('New Comment', true),
array('action' => 'add')); ?></li>
                <li><?php echo $this->Html->link(__('List Posts', true),
array('controller' => 'posts', 'action' => 'index')); ?> </li>
                <li><?php echo $this->Html->link(__('New Post', true),
array('controller' => 'posts', 'action' => 'add')); ?> </li>
        </ul>
</div>
<div class="comments index">
        <h2><?php __('Comments');?></h2>
        <table cellpadding="0" cellspacing="0">
        <tr>
                        <th><?php echo $this->Paginator->sort('id');?></th>
                        <th><?php echo $this->Paginator->sort('post_id');?></th>
                        <th><?php echo $this->Paginator->sort('name');?></th>
                        <th><?php echo $this->Paginator->sort('content');?></th>
                        <th><?php echo $this->Paginator->sort('created');?></th>
                        <th><?php echo 
$this->Paginator->sort('modified');?></th>
                        <th class="actions"><?php __('Actions');?></th>
        </tr>
        <?php
        $i = 0;
        foreach ($comments as $comment):
                $class = null;
                if ($i++ % 2 == 0) {
                        $class = ' class="altrow"';
                }
        ?>
        <tr<?php echo $class;?>>
                <td><?php echo $comment['Comment']['id']; ?>&nbsp;</td>
                <td>
                        <?php echo $this->Html->link($comment['Post']['title'],
array('controller' => 'posts', 'action' => 'view', $comment['Post']
['id'])); ?>
                </td>
                <td><?php echo $comment['Comment']['name']; ?>&nbsp;</td>
                <td><?php echo $comment['Comment']['content']; ?>&nbsp;</td>
                <td><?php echo $comment['Comment']['created']; ?>&nbsp;</td>
                <td><?php echo $comment['Comment']['modified']; ?>&nbsp;</td>
                <td class="actions">
                        <?php echo $this->Html->link(__('View', true), 
array('action' =>
'view', $comment['Comment']['id'])); ?>
                        <?php echo $this->Html->link(__('Edit', true), 
array('action' =>
'edit', $comment['Comment']['id'])); ?>
                        <?php echo $this->Html->link(__('Delete', true), 
array('action' =>
'delete', $comment['Comment']['id']), null, sprintf(__('Are you sure
you want to delete # %s?', true), $comment['Comment']['id'])); ?>
                </td>
        </tr>
<?php endforeach; ?>
        </table>
        <p>
        <?php
        echo $this->Paginator->counter(array(
        'format' => __('Page %page% of %pages%, showing %current% records out
of %count% total, starting on record %start%, ending on %end%', true)
        ));
        ?>      </p>

        <div class="paging">
                <?php echo $this->Paginator->prev('<< ' . __('previous', true),
array(), null, array('class'=>'disabled'));?>
         |      <?php echo $this->Paginator->numbers();?>
 |
                <?php echo $this->Paginator->next(__('next', true) . ' >>', 
array(),
null, array('class' => 'disabled'));?>
        </div>
</div>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to