yireo/magento2-common-view-models

安装: 665

依赖者: 0

建议者: 0

安全性: 0

星标: 6

关注者: 3

分支: 2

开放问题: 1

类型:magento2-module

0.0.2 2020-07-29 11:46 UTC

This package is auto-updated.

Last update: 2024-09-15 09:58:04 UTC


README

收集常用的ViewModel以用于XML布局。

安装

composer require yireo/magento2-common-view-models
bin/magento module:enable Yireo_CommonViewModels

路线图

目前没有路线图。欢迎提出 问题 请求创建新的ViewModel或增强现有ViewModel。欢迎提交PR。喝完早咖啡后我会认真对待。

ViewModel的通用使用

在Magento 2.2.1或更高版本中,创建XML布局指令

<block name="example" template="example.phtml">
    <arguments>
        <argument name="example_view_model" xsi:type="object">Yireo\CommonViewModels\ViewModel\Example</argument>        
    </arguments>
</block>

在你的 example.phtml

<?php
/** @var \Yireo\CommonViewModels\ViewModel\Example $viewModel */
$exampleViewModel = $block->getExampleViewModel();
?>

Yireo\CommonViewModels\ViewModel\Product

使用你的数据初始化产品

$productViewModel->setProduct($product);
$productViewModel->setProductById($productId);
$productViewModel->setProductBySku($productSku);

然后使用它

$productViewModel->getProduct();
$productViewModel->getSku();

Yireo\CommonViewModels\ViewModel\CurrentProduct

仅在页面为 catalog/product/view 且URL中设置了 id 时有效。首先用请求初始化它

$currentProductViewModel->initialize();

然后使用它

$currentProductViewModel->getProduct();
$currentProductViewModel->getSku();

CurrentProduct ViewModel通过注入扩展了 Product ViewModel。

Yireo\CommonViewModels\ViewModel\Products

使用现有过滤器

$productsViewModel->getProductsByName('%hoodie%');
$productsViewModel->getProductsBySku('B01%');

或构建自己的

$searchCriteriaBuilder = $productsViewModel->getSearchCriteriaBuilder();
$productsViewModel->getProducts($searchCriteriaBuilder->create());

Yireo\CommonViewModels\ViewModel\FormKey

使用

$formkeyViewModel->getToken();