Я бы сделал CakePHP Helper .Затем вы можете создать метод внутри этого Помощника, который сгенерирует нужную вам разметку списка.Вот быстрое и грязное ...
class YourHelper extends AppHelper {
public function your_method(array $modelData) {
foreach ($modelData as $info) {
$markup = '<div>';
$markup .= '<h3>' . $info['Category']['title'] . '</h3>';
$markup .= '<ul>';
$allProducts = $info['Product'];
if (!empty($allProducts) {
foreach ($allProducts as $productInfo) {
$markup .= '<li>' . $productInfo['desc'] . '</li>';
}
} else {
$markup .= '<li>No products in this category!</li>';
}
$markup .= '</ul></div>';
}
return $markup;
}
Убедитесь, что помощник включен в ваши контроллеры или AppController
, тогда вы можете использовать его в своих представлениях, как и любой другой помощник.
Очевидно, я не проверял это, но с помощью этого метода вы могли бы иметь произвольное число children
, а затем произвольное число Products
в каждом из них.
Дайте мне знать, если это работает для вас.