Cakephp2: Как отобразить количество содержимого в ссылке в cakephp2

Я новичок в cakephp2, и я нашел решение.
Проблема в том, что у меня есть список ссылок в CakePHP2, как это

Но проблема в том, что я хочу отобразить количество содержимого, как в примере ниже

Для такого человека, как я, это слишком сложно. Я не знаю, как реализовать количество списков или содержимого в ссылке или как это назвать. Было бы здорово, если такие профессионалы, как вы, могут мне помочь!
Извините за мой плохой английский.

0

Решение

Вам, вероятно, понадобится установка HABTM, например так:

Class Tag extends AppModel {

public $name = 'Tag';

public $hasAndBelongsToMany = array(
'Article' => array(
'className' => 'Article',
'joinTable' => 'articles_tags',
'foreignKey' => 'tag_id',
'associationForeignKey' => 'article_id',
)
);
}

Class ArticlesTag extends AppModel {

public $name = 'ArticlesTag';
}

Class Article extends AppModel {

public $name = 'Article';

public $hasAndBelongsToMany = array(
'Tag' => array(
'className' => 'Tag',
'joinTable' => 'articles_tags',
'foreignKey' => 'article_id',
'associationForeignKey' => 'tag_id',
)
);
}

Добавьте следующее в вашу AppModel, вы никогда не будете оглядываться назад:

class AppModel extends Model {

public $actsAs = array('Containable');
}

В контроллере:

$results = $this->Tag->find('all, array(
'contain' => array('Article)
));

$this->set('results', $results);

Ввиду:

<ul class="tags">

<?php foreach ($results as $data) : ?>
<li class="tag"><?php

echo $this->Html->link($data['Tag']['name'] . ' (' . count($data['Article']) . ')',
'/tag/' . $data['Tag']['slug'],
array('title' => 'View articles for ' . $data['Tag']['name'], 'escape' => false));

?></li>
<?php endforeach; ?>

</ul>

Надеюсь это поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector