Magento

Magento电子商务平台用户的问答

3
Magento 1.9.1可配置的产品属性排序
正如我已经提到的,magento 1.9.1和可配置产品的属性排序似乎存在问题。现在,可配置产品的选项始终取决于简单产品的产品ID。属性选项的顺序将被忽略。 我回到了magento 1.9.0.1。也许有人可以确定1.9.1中的排序方式。对于使用可配置产品修复此问题的每个人来说,这都是很棒的。 如果有人希望看到的是,你可以做这里在Magento示范商店。我无法正确排序尺寸。

3
有没有理由比服务合同更喜欢$ model-> load()?
我知道在Magento 2的模块之间工作的首选方法是使用服务合同。 因此,如果要加载产品,请使用产品存储库: $product = $productRepository->getById($id); 通过合同返回的实例Magento\Catalog\Api\Data\ProductInterface。 但是我也可以改用旧方法,直接调用域层: $product = $productFactory->create()->load($id); 在任何情况下这是必要还是有用的? devdocs说(突出显示): 一个模块可以直接调用另一个模块。在大多数情况下,不建议使用这种紧密耦合的解决方案,但有时是不可避免的。 [...] 您调用另一个模块的域层代码的策略在很大程度上取决于系统的独特配置和需求。 来源:http : //devdocs.magento.com/guides/v2.0/architecture/archi_perspectives/domain_layer.html 关于一个相关问题的评论说: 使用存储库将为您提供一个产品数据模型(Api/Data/Product),该模型是转换为精简DTO的产品模型。需要考虑的东西,因为它们完全不同 但据我所见,正常情况下对象是相同的,只是每个phpDoc的返回类型不同(Magento\Catalog\Api\Data\ProductInterface/ Magento\Catalog\Model\Product)

2
过滤Magento 2对象存储库
在Magento 2中,您可以使用产品存储库按产品属性进行过滤吗? 在Magento 2中,您可以使用搜索条件对象 \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, 和一个仓库 \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, 提取对象列表 $searchCriteria->getPageSize(10); $list = $productRepository->getList($searchCriteria); 但是,searchCriteria对象没有(似乎?)具有直接过滤功能。搜索条件类确实具有添加名为filterGroups的方法。 #File: lib/internal/Magento/Framework/Api/SearchCriteria.php public function getFilterGroups() { $filterGroups = $this->_get(self::FILTER_GROUPS); return is_array($filterGroups) ? $filterGroups : []; } public function setFilterGroups(array $filterGroups = null) { return $this->setData(self::FILTER_GROUPS, $filterGroups); } 但是尚不清楚究竟是什么过滤组归功于PHP的无类型数组。 我如何使用Magento 2存储库执行类似的操作 向我展示所有带有[此特定SKU]的产品 显示[此日期]之后创建的所有产品 等等

11
如何禁用Magento 2条评论
我正在尝试禁用Magento 2产品评论功能。我尝试在Magento 2 admin Stores \ Advanced \ Advanced \ Magento_Review中禁用模块,但是每个产品上的评论标签仍然存在。有什么办法可以禁用它吗?我知道我们可以在Magento 1中将其禁用。

3
无法加载报价对象
sales/quote加载时该对象的工作方式是否不同于其他对象?请参阅以下内容。 作品: $quote = Mage::getModel('sales/quote')->getCollection() ->addFieldToFilter('entity_id', $quoteId) ->getFirstItem(); print_r($quote->getData()); // shows right data 不起作用: $quote = Mage::getModel('sales/quote')->load($quoteId); print_r($quote->getData()); // empty 两者$quote都是正确的Mage_Sales_Model_Quote。
24 sales  quote  ee-1.12 


2
在任何类的构造函数DI中上下文对象的用途是什么?上下文如何工作?
在该类的大多数构造方法中,都会传递Context对象。我无法理解Context Obj的工作原理。我还注意到有时将其传递给父类的构造函数,如下所示。 public function __construct( \Magento\Framework\App\Action\Context $context, \Magento\Catalog\Model\Design $catalogDesign, \Magento\Catalog\Model\Session $catalogSession, .... parent::__construct( $context, $layoutFactory, 您能否解释这个特定的上下文对象如何工作?



2
在Magento 2中使用PHPUnit 4.1对PHP7代码进行单元测试的正确方法是什么?
在编写模块时,我试图为它们提供应用程序最关键部分的单元测试。但是,目前(Magento 2.1.3)有几种编写单元测试的方法: 不同的测试方式 与它集成bin/magento dev:tests:run unit并在与Magento捆绑在一起的默认phpunit设置之上运行它。 分别编写它们,与它们一起运行vendor/bin/phpunit app/code/Vendor/Module/Test/Unit并模拟Magento的所有内容。 分别编写它们,模拟所有内容,并使用系统全局版本的PHPUnit。 单独编写它们,然后使用运行它们vendor/bin/phpunit,但仍然使用\Magento\Framework\TestFramework\Unit\Helper\ObjectManager。 Magento 2和PHPUnit 除此之外,Magento 2捆绑了与PHP7不兼容的PHPUnit 4.1.0。提示类型的本机(如string和int)并在签名中声明返回类型将引发错误。例如,具有方法签名的接口/类如下: public function foo(string $bar) : bool; ...将无法被PHPUnit 4.1.0模拟。:-( 我目前的情况 因此,我现在主要以第三种方式(通过调用系统全局PHPUnit版本)编写单元测试。 在我的设置中,我全局安装了PHPUnit 5.6,因此我可以解决编写正确的PHP7代码的问题,但是我必须做一些调整。例如: phpunit.xml 必须看起来像这样,所以我可以使用composer autoloader: <?xml version="1.0"?> <phpunit bootstrap="../../../../../../vendor/autoload.php" colors="true"> <testsuites> <testsuite name="Testsuite"> <directory>.</directory> </testsuite> </testsuites> </phpunit> ...以及我所有的setUp()方法中,都有以下检查,以便可以编写具有前向兼容性的测试: // Only allow PHPUnit 5.x: if (version_compare(\PHPUnit_Runner_Version::id(), …



4
如何在Magento 2中禁用该块的缓存?
protected function _construct() { $this->addData( [ 'cache_lifetime' => false, 'cache_tags' => array('MY_BLOCK'), ] ); } public function getCacheKeyInfo() { return []; } 不起作用。为什么?如何禁用缓存块?
23 magento2  cache 

1
Magento 2:向每个页面的<head>添加任意HTML吗?
在Magento 2中,是否可以向每个前端/购物车页面的HTML添加任意位的HTML &lt;head/&gt;? 我知道我可以&lt;body&gt;使用以下代码将块添加到内容/ 区域 &lt;page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"&gt; &lt;body&gt; &lt;referenceBlock name="content"&gt; &lt;block type="Pulsestorm\Test\Block\Head" name="pulsestorm.head" as="pulsestorm.head" template="pulsestorm/head.phtml"/&gt; &lt;/referenceBlock&gt; &lt;/body&gt; &lt;/page&gt; 但是,尚不清楚是否存在用于将内容添加到&lt;head/&gt;页面元素的类似块。我已经浏览了开发文档网站和源代码,并且有很多对新标签的引用,您可以将它们与&lt;head/&gt;标签一起使用 &lt;head&gt; &lt;css.../&gt; &lt;js.../&gt; &lt;/head&gt; 但我找不到&lt;head/&gt;在Magento 2 中将任意html /文本添加到页面部分的方法的任何参考。
23 php  layout  magento2 

5
通过brew软件包在OS X上通过FastCGI(不是mod_php)运行Magento 2
根据社区中各种论坛的帖子和对话,似乎有些人正在通过PHP环境在OS X上运行Magento 2开发实例,该环境不使用内置的Apache / PHP组合,而是使用来自的软件包brew来获取使用nginx和/或运行和运行的FastCGI PHP环境apache。 是否有人提供命令列表和配置说明,以使用Brew软件包启动Magento 2并在OS X上运行,或通过其他方法在OS X的FastCGI环境中运行PHP?我不是在寻找Docker或Vagrant-我想在OS X上原生运行PHP,并且不想使用mod_php。
23 magento2  php 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.