Questions tagged «magento2»

有关Magento 2的一般问题,不专门针对次要版本。使用此标签可以区分Magento1。如果您对特定版本有疑问,请改用相应的“ Magento-2.x”标签。Magento 2次要版本之间的功能可能有所不同。



3
如何在Magento 2中使用自定义REST API返回JSON对象?
我正在编写一个自定义的REST API演示;现在它可以在演示中返回数字和字符串,但是我希望它像其他REST API一样返回JSON对象。 在我的演示中,我使用curl 调用了Magento 2 API(即,获取客户信息:http://localhost/index.php/rest/V1/customers/1),它返回一个JSON字符串: “ {\” id \“:1,\” group_id \“:1,\” default_billing \“:\” 1 \“,\” created_at \“:\” 2016-12-13 14:57:30 \“ ,\“ updated_at \”:\“ 2016-12-13 15:20:19 \”,\“ created_in \”:\“默认商店视图\”,\“电子邮件\”:\“ 75358050@qq.com \ “,\”名字\“:\” azol \“,\”姓氏\“:\”年轻\“,\” store_id \“:1,\”网站ID \“:1,\”地址\“:[{ \“ id \”:1,\“ customer_id \”:1,\“ region \”:{\“ region_code \”:\“ AR \”,\“ region …
14 magento2  api  rest 

2
如何在不使用ui组件的情况下更改magento 2管理网格过滤器的日期格式?
下面some_grid_block.xml, 如何更改日历过滤器中的日期格式。 <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="adminhtml.qrcode.grid.container"> <block class="Oneteam\Qrcode\Block\Grid" name="adminhtml.qrcode.grid" as="grid"> <arguments> <argument name="id" xsi:type="string">QrcodeGrid</argument> <argument name="dataSource" xsi:type="object">Oneteam\Qrcode\Model\ResourceModel\Qrcode\Collection</argument> <argument name="default_sort" xsi:type="string">qr_id</argument> <argument name="default_dir" xsi:type="string">desc</argument> </arguments> <block class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <filterRange name="created_at" class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataScope" xsi:type="string">created_at</item> <item name="label" xsi:type="string" translate="true">Created</item> </item> </argument> <filterDate name="from"> …


5
我何时应该考虑使用Magento2而不是Magento1?
在捷克社区,我们讨论 了Magento 2.x是否值得开始使用,还是最好坚持使用Magento 1.x版本。我仍然不相信从M1切换到M2并抛弃我们从M1中学到的一切-我们拥有的所有经验。谁能澄清开始使用Magento2而不是Magento1的关键点是什么?我还是不明白。

3
为什么不能拦截受保护的方法?
我想知道为什么无法为protected方法创建插件。的代码如下Magento\Framework\Interception\Code\Generator\Interceptor: protected function _getClassMethods() { $methods = [$this->_getDefaultConstructorDefinition()]; $reflectionClass = new \ReflectionClass($this->getSourceClassName()); $publicMethods = $reflectionClass->getMethods(\ReflectionMethod::IS_PUBLIC); foreach ($publicMethods as $method) { if ($this->isInterceptedMethod($method)) { $methods[] = $this->_getMethodInfo($method); } } return $methods; } 它public在允许方法被拦截之前检查方法是否存在。当然,可以通过preference在di.xml自己的模块中创建一个来轻松更改它,如下所示: <?xml version="1.0"?> <config> <preference for="Magento\Framework\Interception\Code\Generator\Interceptor" type="MyVendor\MyModule\Model\MyInterceptorModel" /> </config> 和重写_getClassMethods与\ReflectionMethod::IS_PUBLIC改变到\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTED所述方法的内部。 但是我想知道为什么无法在原始方法定义中拦截受保护的方法吗?这是否会对性能产生重大影响,还是有其他原因,例如允许第三方模块使Magento逻辑过于“混乱”?
14 magento2 

2
Magento 2-使用\ Magento \ Catalog \ Block \ Adminhtml \ Product \ Widget \ Chooser有多个选择吗?
使用此代码 $chooser = $this->_layout->createBlock('\Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser'); var_dump(get_class_methods($chooser)); $configChooser = [ 'button' => [ 'open' => __('Select Products'), 'type' => '\Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser', ] ]; $chooser->setConfig($configChooser) ->setFieldsetId($fieldsetData->getId()) ->prepareElementHtml($productChooser); 我可以在我的自定义表单中为我的自定义字段获得一个非常不错的产品选择器,但是我需要它能够选择多个产品。我可以设置选择器配置吗?

3
结帐页面刷新问题
首先,我想提供一些屏幕截图以了解我的问题。 现在,我想在此处添加相关代码。 等/ frontend / di.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Checkout\Model\CompositeConfigProvider"> <arguments> <argument name="configProviders" xsi:type="array"> <item name="checkout_deliverysign_block" xsi:type="object">Kensium\DeliverySign\Model\DeliverySignConfigProvider</item> </argument> </arguments> </type> </config> DeliverySignConfigProvider <?php namespace Kensium\DeliverySign\Model; use Magento\Checkout\Model\ConfigProviderInterface; use Magento\Store\Model\ScopeInterface; class DeliverySignConfigProvider implements ConfigProviderInterface { /** * @var \Magento\Framework\App\Config\ScopeConfigInterface */ protected $scopeConfiguration; protected $checkoutSession; protected $logger; /** * …

2
magento 2优于magento 1?
我只是想知道magento 2的性能以及它比m​​agento 1.x版本更好。最近,我开始学习magento 2,发现它是基于纯zend体系结构的全新理论集。所以我只想知道它是否比Magento 1.x版本更好。

4
何时在自定义模块中调度事件?
这是关于Magento 1和Magento 2的问题。 我了解,作为一种好的做法,鼓励第三方模块开发人员在其自定义模块中调度事件,以使其更易于与其他模块一起使用。 我想知道: 开发人员应在哪里在自定义模块中调度事件? 有没有建议的地点来安排活动?例如,控制器,模型,块,助手,观察者? 调度事件如何影响性能?

6
Magento 2重新索引返回没有这样的实体
我已成功将目录从Magento 1.9.2.3迁移到Magento 2.0.2。迁移之后,我使用命令进行了重新索引php bin/magento indexer:reindex。 除索引catalog_category_product和catalog_product_category,No such entity.在shell中返回和Reindex Required在admin中返回通知外,所有索引均已成功重新索引。我检查了var/log/但没有错误。 结果,产品被添加到后端的类别中,但是类别在前端显示为空。 什么可能导致此问题?我该如何调试?

2
Magento 2:使用语句还是直接类路径?
我可能遗漏了一点,但我只是想知道为什么有时对于特定的类有一个“使用”语句,而有时却没有。 示例:app\code\Magento\Email\Model\Template.php,我们位于文件顶部: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; 然后,在该__construct方法中,我们具有以下参数: public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Registry $registry, \Magento\Store\Model\App\Emulation $appEmulation, StoreManagerInterface $storeManager, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Email\Model\Template\Config $emailConfig, \Magento\Email\Model\TemplateFactory $templateFactory, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\UrlInterface $urlModel, \Magento\Email\Model\Template\FilterFactory $filterFactory, array $data = [] ) 因此,我们可以清楚地看到,正如我们use Magento\Store\Model\StoreManagerInterface;在类顶部调用的那样,我们能够StoreManagerInterface $storeManager在构造函数参数中进行操作。 我的问题是: 为什么我们只为一个班级这样做? 为什么我们不能use为构造函数的每个类添加一条语句,以便不必键入完整的类路径? 或反过来,为什么我们不删除该use语句并键入StoreManagerInterfaceclass …


2
在Magento 2中更新主题父级的正确方法
在Magento 2中,您可以在主题theme.xml文件中指定父主题。 <theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd"> <title>Theme Title</title> <parent>Package/base-theme</parent> <media> <preview_image>media/preview.jpg</preview_image> </media> </theme> Magento第一次看到主题时,它将使用此值parent_id在theme表中设置a 。这是主题父级所在位置的真相来源。 但是,如果您在将主题添加到系统后尝试更改此值,则Magento无法更新该parent_id列,并且实例化的Magento\Theme\Model\Theme对象仍将具有原始父主题。(即使您清除了缓存。) 我可以通过手动更改parent_id值来解决此问题-好像是hack。parent_idMagento的核心代码通常在哪里设置,哪些用户操作会触发此操作?即有没有办法告诉Magento“请重新加载这个主题”

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.