2015-12-09 2 views
2

Я хочу установить переменную сеанса в настраиваемом модуле.magento 2.0: установить переменную сеанса

Я использую $_SESSION['product_id'] = "12"; в контроллере пользовательского модуля.

Когда я пытаюсь получить этот сеанс в шаблоне configurable.phtml, он не может найти правильное значение.

Пожалуйста, дайте мне знать, как правильно установить переменный сеанс, и как читать это значение сеанса снова в шаблоне с помощью Magento 2.0

ответ

0

Вот класс блока.

<?php 
namespace YourNamespace\YourModule\Block; 
class YourModule extends \Magento\Framework\View\Element\Template 
{ 
    protected $_catalogSession; 

    public function __construct(
     \Magento\Backend\Block\Template\Context $context,  
     \Magento\Catalog\Model\Session $catalogSession,  
     array $data = [] 
    ) 
    {  
     $this->_catalogSession = $catalogSession; 
     parent::__construct($context, $data); 
    } 

    public function _prepareLayout() 
    { 
     return parent::_prepareLayout(); 
    } 

    public function getCatalogSession() 
    { 
     return $this->_catalogSession; 
    } 
} 
?> 

Теперь мы устанавливаем и получаем сеанс из файла шаблона (.phtml).

// set product id in catalog session 
$block->getCatalogSession()->setProductId(12); 

// get product id from catalog session 
echo $block->getCatalogSession()->getProductId(); 

// unset session variable 
$block->getCatalogSession()->unsProductId(); 
+0

Могу ли я применить две сессии в одном классе, такие как проверка и каталогизация сеанса? – MagikVishal

Смежные вопросы