yireo / magento2-common-view-models
0.0.2
2020-07-29 11:46 UTC
Requires
- php: >=7.2.0
- magento/framework: ^102.0|^103.0
- magento/module-catalog: ^102.0|^103.0|^104.0
Requires (Dev)
- composer/composer: *@dev
- phpunit/phpunit: *
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();