2016-11-16 18 views
0

我是新的opencart,我想用vqmod.I做一些修改,已經建立了一個xml文件,它會在product_list.tpl上添加一些文本,具體取決於用戶的id。問題是我無法獲得id.I試過很多,但仍然沒有success.If的人都知道我怎麼能做到這一點,請post.I獲得瀏覽器的這個通知 - >Notice: Undefined property: Loader如何使用vqmod將用戶信息獲取到opencart中的.tpl文件?

這裏是我的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> 

回答

0

哪個Opencart的版本?

由於在opencart 2.x上沒有getUsersGroupId函數model/user/user.php我在這裏使用了getUser,我已經在opencart 2.1.0.1上測試過了。

,您必須首先在controller文件得到user_group_id,然後通過$data發送到view文件,所以編輯這個文件:

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>