【问题标题】:display products in member area in amember pro在amember pro的会员区展示产品
【发布时间】:2017-03-09 18:05:54
【问题描述】:

我想在会员的会员区展示一个特定类别的产品。

我想从 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;  
});

【问题讨论】:

    标签: php moodle amember


    【解决方案1】:

    我假设您只想显示用户有权访问的产品。 这是您可以用来实现它的代码。你可以把它放到 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);
                }));
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 2013-02-25
      • 2014-11-26
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      相关资源
      最近更新 更多