我想在会员的会员区域展示一个特定类别的产品。
我想从site.php文件中添加代码。
任何人都知道如何在会员区域中显示产品?
如何在成员中处理来自site.php的查询相关操作?
我已经使用以下代码添加了块。现在我想在这个块中显示产品。
Am_Di::getInstance()->blocks->add(new Am_Block('member/main/right', 'blockname', 'block_id', null, function (Am_View $v) {
$html = <<<CUT
<p>
want to display products here
</p>
CUT;
return $html;
});
答案 0 :(得分:0)
我假设您只想显示用户有权访问的产品。 这是您可以用来实现它的代码。您可以将它放到site.php文件中。在此示例中,我显示了id = 1的类别的产品,随时可以将其更改为必要的值。
$cat_id = 1;
$cat_product = Am_Di::getInstance()->productCategoryTable->getCategoryProducts();
if (($u = Am_Di::getInstance()->auth->getUser())
&& array_intersect($u->getActiveProductIds(), $cat_product[$cat_id])) {
Am_Di::getInstance()->blocks->add(
new Am_Block('member/main/right', 'My Products', 'product-cat-1', null,
function(Am_View $v) use ($u, $cat_product, $cat_id) {
$out = '';
foreach ($u->getActiveProducts() as $p) {
if (!in_array($p->pk(), $cat_product[$cat_id])) continue;
$out .= sprintf("<li>%s</li>\n", Am_Html::escape($p->title));
}
return sprintf('<ul class="am-widget-list">%s</ul>', $out);
}));
}