Отображение пользовательских атрибутов продукта на основе группы клиентов (Magento)

У меня есть оптовые атрибуты для определенных товаров в одном магазине в Magento. Я хотел бы установить его так, чтобы эти конкретные атрибуты отображались на странице продукта только в том случае, если клиент вошел в систему и находится в группе оптовых клиентов.

Это возможно?


person f8xmulder    schedule 09.02.2010    source источник


Ответы (3)


Что-то вроде этого должно работать, хотя я не проверял это вместе. Предполагается, что ваш оптовый идентификатор группы = 2 и вы хотите показать атрибут продукта «productvideos».

app/design/frontend/default//template/catalog/product/view.phtml
    if($_isLoggedIn === true){
      $_myGroupId = Mage::getSingleton('customer/session')->getCustomerGroupId();          
      if($_myGroupId == 2){
        print $_helper->productAttribute($_product, $_product->getProductvideos(), 'productvideos');
      }
    }

Источник: http://www.magentocommerce.com/boards/viewthread/22597/#t74992

person Shane Stillwell    schedule 09.02.2010
comment
К сожалению, это не сработало. Вот последний код, который у меня есть: ‹?php $_isLoggedIn = $this-›helper('customer')-›isLoggedIn(); if($_isLoggedIn == true){ $_myGroupId = Mage::getSingleton('клиент/сеанс')->getCustomerGroupId(); if($_myGroupId == 2){ //echo $_helper-›productAttribute($_product, $this-›htmlEscape($_product-›getNumPerBox()), 'number_per_box'); } } ?› Я также отредактировал Mage›Catalog›Model›Product.php, чтобы включить функцию, но он возвращает ошибку. - person f8xmulder; 10.02.2010

Хорошо, вот решение.

В template/catalog/product/view> attribute.phtml используйте следующее:

<?php       
    $_isLoggedIn = $this->helper('customer')->isLoggedIn();
    if($_isLoggedIn == true){
      $_myGroupId = Mage::getSingleton('customer/session')->getCustomerGroupId();          
      if($_myGroupId == 2){
        echo '<td class="label">Attribute Name/Label</td>';
        echo '<td class="label">';
        if ($_product->getResource()->getAttribute('attribute_id')->getFrontend()->getValue($_product)):
          echo $_product->getResource()->getAttribute('attribute_id')->getFrontend()->getValue($_product);
        endif;
        echo '</td>';
      }
    }
?>

Спасибо @nvoyageur за первоначальный указатель в правильном направлении!

person f8xmulder    schedule 10.02.2010
comment
Рад быть полезным... спасибо за публикацию окончательного решения, которое действительно работает. - person Shane Stillwell; 12.02.2010

У меня был такой же вариант использования, и я использовал расширение GroupsCatalog, который является бесплатным и отлично работает для меня.

person Ozair Kafray    schedule 07.03.2011
comment
Ссылка перенаправляет на домашнюю страницу Magento Commerce. - person NotJay; 01.09.2015
comment
Я понимаю! Либо расширение было прекращено, либо его это< /а> один. - person Ozair Kafray; 02.09.2015