Questions tagged «php»

此标记用于以任何方式涉及PHP代码的问题。因此,一旦返回了PHP异常或生成了错误报告,该问题就有资格被PHP标记。

2
Magento 2:产品存储库,过滤器组和“与”
我正在尝试使用产品存储库来获取产品列表。我想基于两个过滤器并结合一个AND条件来获取数据,但是似乎没有任何效果。我不了解过滤器组如何工作?还是应该报告此错误? 具体来说,(为简单起见,这是一个愚蠢的示例)我有一个构造函数,在该构造函数中注入了过滤器构建器,过滤器组构建器和搜索条件构建器 public function __construct( \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder ) { $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->filterBuilder = $filterBuilder; $this->filterGroupBuilder = $filterGroupBuilder; } 然后,在以后的方法中,我将使用过滤器构建器来构建两个过滤器 $filter1 = $this->filterBuilder->setField('sku') ->setValue('24-MB01') ->setConditionType('eq') ->create(); $filter2 = $this->filterBuilder->setField('sku') ->setValue('WT08-XS-Black') ->setConditionType('eq') ->create(); 然后,我使用过滤器组构建器来构建由这两个过滤器组成的过滤器组 $filter_group = $this->filterGroupBuilder ->addFilter($filter1) ->addFilter($filter2) ->create(); 然后,我使用了搜索条件构建器,在其上设置了过滤器组 $criteria = $this->searchCriteriaBuilder ->setFilterGroups([$filter_group]) ->setPageSize(100) ->create(); …

4
为什么要创建get.php和/或`core / file_storage_database`?
从1.5或1.6版本开始,Magento在根文件夹中有一个名为的文件get.php。使用该core/file_storage_data模型,该文件允许Magento系统所有者直接从数据库中的blob列提供其产品媒体文件,而无需在文件系统上放置映像文件。PHP处理文件发送 #File: get.php function sendFile($file) { if (file_exists($file) || is_readable($file)) { $transfer = new Varien_File_Transfer_Adapter_Http(); $transfer->send($file); exit; } } 这正在进入Magento历史领域,但是为什么开发了此功能?似乎-有点发疯。PHP并不是提供文件的最有效方法,MySQL的Blob存储具有不稳定的历史,甚至稳定的数据库Blob实现也很难在后面使用,而且据我Varien_File_Transfer_Adapter_Http所知这些文件的所有缓存头。 有谁知道为什么Magento开发此功能?它实际上完成了要解决的任何目标/问题吗?有人在用吗?

3
Magento新的自定义块模块
我正在使用Magento 1.8.1.0版本。 我正在尝试创建一个新的自定义块模块,该模块将用于创建新的主页。 命名空间:十字军 模块:CLHomePage 街区类型:十字军东征 类:Qwerty(仅在测试时才适用) 设计包:十字军 主题:默认 这是我到目前为止所拥有的: \ app \ etc \ modules \ Crusader_All.xml <?xml version="1.0"?> <config> <modules> <Crusader_CLHomePage> <active>true</active> <codePool>local</codePool> </Crusader_CLHomePage> </modules> </config> \ app \ code \ local \ Crusader \ CLHomePage \ etc \ config.xml <?xml version="1.0"?> <config> <modules> <Crusader_CLHomePage> <version>0.0.1</version> </Crusader_CLHomePage> </modules> …

1
在Magento 2 URL中使用保留字
是否可以使用标准路由在Magento 2中创建一个模块,该模块以以下形式响应URL: http://magento.example.com/namespace_module/return/index 即-URL,其中第二个参数是PHP保留关键字。上面的问题是创建一个PHP控制器类名 Namespace\Module\Controller\Return\Index 并且Return在命名空间中包含非法的PHP。我知道URL的最终参数(传统上称为action)是否是保留关键字 http://magento.example.com/namespace_module/foo/return Magento可以让我创建一个名为 Namespace\Module\Controller\Foo\ReturnAction 但是,这不适用于第二个参数。 有没有办法使用标准的Magento 2路由技术来做到这一点? 如果不是,是否存在通常被认为是注入自定义路由器对象以获得此行为的最佳实践,或者是否有其他技术可以帮助我解决此问题?(一个after插件Magento\Framework\App\Router\ActionList?)

1
您调试xml相关异常的方式是什么?
我在gvim中使用Magento 2编码,而我是Magento 2的新手。 好几次,我每次都只能靠运气来调试与XML相关的错误。但是这种情况让我真的很沮丧:您不知道导致此错误的文件在哪里,调试器也不告诉这两个。 采取以下措施,我得到了:xml文件无效。实际上,我已经创建了一个模块,其中包含module.xml,routes.xml,config.xml,{layout} .xml,di.xml等,或下面的view / layout目录。哪个文件的第12/89 / ..行无效?生成的/合并的一个?我迷路了,因为在var / generated中什么都找不到,并且命令行停止工作。查找此错误是什么的调试方式是什么? 任何帮助表示赞赏。 致命错误:未捕获的Magento \ Framework \ Exception \ LocalizedException:无效的文档元素“项目”:类型定义是抽象的。行:12个元素“ item”,属性“ name”:关键身份约束“ itemName”字段的XPath“ @name”求值为一个具有多个成员的节点集。行:89元素“ item”:并非关键标识约束“ itemName”的所有字段都评估为一个节点。行:89元素“ item”,属性“ name”:关键身份约束“ itemName”字段的XPath“ @name”求值为一个具有多个成员的节点集。行:90元素“ item”:并非关键身份约束“ itemName”的所有字段都评估为一个节点。第90行在/var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php中:
11 magento2  php  xml  debugging 

4
Magento 2:如何通过商店ID筛选产品集合
使用产品工厂对象,我可以创建产品,获取产品集合并获取该集合的第一项 /* var $productFactory \Magento\Catalog\Model\ProductFactory */ $product = $this->productFactory->create()->getCollection()->getFirstItem(); 但是,如果我尝试将store_id添加到集合的过滤器中 $product = $this->productFactory ->create() ->getCollection() ->addFieldToFilter('store_id', 1) ->getFirstItem(); 我收到以下错误 Invalid attribute name: store_id #0 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(1434): Magento\Eav\Model\Entity\Collection\AbstractCollection->_addAttributeJoin('store_id', 'inner') #1 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(359): Magento\Eav\Model\Entity\Collection\AbstractCollection->_getAttributeConditionSql('store_id', 1, 'inner') #2 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Catalog/Model/Resource/Product/Collection.php(1489): Magento\Eav\Model\Entity\Collection\AbstractCollection->addAttributeToFilter('store_id', 1, 'inner') #3 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(382): Magento\Catalog\Model\Resource\Product\Collection->addAttributeToFilter('store_id', 1) ... #63 {main} 如果我尝试使用产品存储库按store_id进行过滤,也会发生相同的事情(存储库使用幕后的集合)。 这是一个错误吗?还是在Magento 2中更改了商店,网站和产品之间的关系,以使其不再是合法查询?都?都不行 还有吗

1
magento 2.3中不推荐使用\ Magento \ Framework \ Registry,如何使用注册表创建实例?
/** * Registry model. Used to manage values in registry * * Registry usage as a shared service introduces temporal, hard to detect coupling into system. * It's usage should be avoid. Use service classes or data providers instead. * * @api * @deprecated * @since 100.0.2 */ https://www.mageplaza.com/devdocs/magento-2-registry-register.html 谁可以给我演示使用服务类或数据提供者的演示。 …

13
Magento 2:500内部服务器错误
我遵循以下的Magento开发文档: 如果您添加一个新的.html模板,然后对其进行编辑,则更改将不适用,直到您执行以下操作:删除pub / static / frontend和var / view_preprocessing目录中的所有文件,然后重新加载页面。您可以手动删除文件,也可以在CLI中运行grunt clean:命令。有关在Magento中使用Grunt的详细信息,请参阅安装和配置Grunt。 但是现在在通过htaccess设置的开发人员模式下,我在站点和管理URL上收到内部服务器错误500。如果它寻找已清除的文件来呈现,这是否是一个缓存问题?
10 magento2  php  error 

3
以编程方式创建可配置产品,并将简单产品分配给Magento2产品中的可配置产品
到目前为止,这是我所做的。创建了简单且可配置的产品。问题是我无法将简单产品分配给可配置产品。这是代码(ID和属性适用于默认样本数据)。 //simple product $simple_product = $this->_objectManager->create('\Magento\Catalog\Model\Product'); $simple_product->setSku('test-simple'); $simple_product->setName('test name simple'); $simple_product->setAttributeSetId(4); $simple_product->setSize_general(193); // value id of S size $simple_product->setStatus(1); $simple_product->setTypeId('simple'); $simple_product->setPrice(10); $simple_product->setWebsiteIds(array(1)); $simple_product->setCategoryIds(array(31)); $simple_product->setStockData(array( 'use_config_manage_stock' => 0, //'Use config settings' checkbox 'manage_stock' => 1, //manage stock 'min_sale_qty' => 1, //Minimum Qty Allowed in Shopping Cart 'max_sale_qty' => 2, //Maximum Qty …
10 php  magento2 

1
Magento 2:虚拟类型命名约定
日期:2015年6月1日(考虑到Magento 2不断变化的性质) 在Magento 2中,您可以在模块的配置文件中配置“虚拟类型”di.xml。这些虚拟类型使您可以更改特定注入依赖项的参数。 在Magento 2的核心代码中,虚拟类型似乎有两种命名约定。首先,虚拟类型的名称看起来与真实的PHP类名称相同。 #File: app/code/Magento/CatalogRule/etc/di.xml <virtualType name="Magento\Catalog\Pricing\Price\Pool" ... 在第二个中,使用了一个简单的无反斜杠的字符串 #File: app/code/Magento/CatalogSearch/etc/di.xml <virtualType name="advancedSearchFilterList" ... 上面两个命名约定有什么实际区别?例如,您选择的名称是否virtualType会对它的行为产生影响,或者仅仅是一个全局唯一的字符串来标识该类型,以便以后使用。

2
如何在CMS检测器中隐藏Magento?
我有一个Magento商店,我想将其隐藏在cms探测器中。我的意思是我不想让任何人知道我的网站CMS,而且我的网站是建立在Magento上的。 有一些类似的网站http://guess.scritch.org/正在检测CMS,因此我想从他们的观察中隐藏我的网站CMS。 有一些方法可以隐藏WordPress网站CMS,但是我找不到Magento的任何东西




1
Magento OAuth回调网址被忽略
我正在开发我正在构建的应用程序中的用户身份验证。我的想法是让客户通过Magento的OAuth登录,然后必须获取该用户的Customer_id。 但是现在的问题是,登录后浏览器会将我重定向到,/customer/account/而不是我定义的回调URL。 我需要customer_id的原因是,我必须使用我编写的SoapClient来获得该客户的订单(它可以工作,但是ID现在已被硬编码)。 我使用以下示例通过以下网址获取具有OAuth身份验证的客户用户的产品列表:http : //devdocs.magento.com/guides/m1x/api/rest/authentication/oauth_authentication.html
9 php  oauth 

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.