如何使用vqmod将用户信息获取到opencart中的.tpl文件?

时间:2016-11-16 20:28:40

标签: opencart vqmod

我是opencart的新手,我正在尝试使用vqmod进行一些更改。我已经构建了一个xml文件,它将在product_list.tpl上添加一些文本,具体取决于用户的id。问题是我无法获得id.I尝试了很多,但仍然没有成功。如果有人知道我怎么能实现这一点,请发布。我在浏览器上收到此通知 - > Notice: Undefined property: Loader

这是我的xml文件:

<modification>
 <id>GeoDim - add message products depending on user login</id>
 <version>1.0</version>
 <vqmver>2.4.1</vqmver>
 <author>GeoDim</author>

<file path="admin/view/template/catalog/product_list.tpl">
  <operation>
  <search position="after"><![CDATA[div class="pull-right"]]></search>
  <add><![CDATA[
 <?php
 // GeoDim - add message products depending on user login

  $this->load->model('user/user');
   $user_group_id = $this->model_user_user->getUsersGroupId($this->user->getId());

   if ($user_group_id == 1) {

    echo '<p style="background-color: yellow;font-size: 21px;float: left;margin-right: 5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο TEST</p>';
  }else {
    echo '<p style="background-color: orange;font-size: 21px;float:left;margin-right:5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο    LIVE</p>';
    }

 // END GeoDim - add message products depending on user login
   ?>
    ]]></add>
    </operation>
 </file>

 </modification>

1 个答案:

答案 0 :(得分:0)

哪个版本的Opencart?

由于opencart 2.x中的getUsersGroupId中没有model/user/user.php函数,我在这里使用了getUser,我在opencart 2.1.0.1上进行了测试。

您必须先在user_group_id文件中获取controller,然后通过view将其发送到$data文件,因此请修改此文件:

admin/controller/catalog/product.php

查找getList函数并将其添加到其中:

  $this->load->model('user/user');
  $user_group_id = $this->model_user_user->getUser($this->user->getId());


   if ($user_group_id['user_group_id'] == 1) {

    $data['paragraph'] = '<p style="background-color: yellow;font-size: 21px;float: left;margin-right: 5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο TEST</p>';
  }else {
    $data['paragraph'] = '<p style="background-color: orange;font-size: 21px;float:left;margin-right:5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο    LIVE</p>';
    }

然后在admin/view/template/catalog/product_list.tpl中使用它:

<?php echo $paragraph; ?>

以下是完整代码:

<modification>
 <id>GeoDim - add message products depending on user login</id>
 <version>1.0</version>
 <vqmver>2.4.1</vqmver>
 <author>GeoDim</author>

<file path="admin/controller/catalog/product.php">
  <operation>
  <search position="after"><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search>
  <add><![CDATA[
    // GeoDim - add message products depending on user login

      $this->load->model('user/user');
      $user_group_id = $this->model_user_user->getUser($this->user->getId());


       if ($user_group_id['user_group_id'] == 1) {

        $data['paragraph'] = '<p style="background-color: yellow;font-size: 21px;float: left;margin-right: 5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο TEST</p>';
      }else {
        $data['paragraph'] = '<p style="background-color: orange;font-size: 21px;float:left;margin-right:5px"><i class="fa fa-exclamation-triangle"></i>Είστε στο    LIVE</p>';
        }

     // END GeoDim - add message products depending on user login
    ]]></add>
    </operation>
 </file>

<file path="admin/view/template/catalog/product_list.tpl">
  <operation>
  <search position="after"><![CDATA[div class="pull-right"]]></search>
  <add><![CDATA[
        <?php echo $paragraph; ?>
    ]]></add>
    </operation>
 </file>

 </modification>