Magento

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


2
Magento 2导航菜单未显示
我是Magento的新手,所以请忍受我:D 我已经成功创建了一个空白主题子主题。 我正在尝试使菜单正常工作,我一生都无法看到菜单为何不显示。我读过其他几个主题,也没有运气。 我在其中添加了根类别及其子类别。然后,我将其分配给商店设置。我已经重新索引了该站点的索引,清除了缓存,但仍然没有任何乐趣。 通过添加类别,它会显示出来,这是对的事情吗? 谢谢 似乎我没有默认类别-请参见下面的屏幕截图 更新 我已经在本地计算机上重新安装了Magento。菜单在Luma和Blank主题上显示良好,但在我自己的自定义主题上却没有显示。我需要包括或检查什么吗? 谢谢您的帮助

2
为什么有些类在其构造函数和di.xml中都定义了注入?
我不明白为什么在某些类中,它们的依赖项注入要声明两次-一次在di.xml和具体类的构造函数中进行。 例如,在中Magento\Backend\Model\Url,di.xml已定义了以下用于DI的类型集: <type name="Magento\Backend\Model\Url"> <arguments> <argument name="scopeResolver" xsi:type="object"> Magento\Backend\Model\Url\ScopeResolver</argument> <argument name="authSession" xsi:type="object"> Magento\Backend\Model\Auth\Session\Proxy</argument> <argument name="formKey" xsi:type="object"> Magento\Framework\Data\Form\FormKey\Proxy</argument> <argument name="scopeType" xsi:type="const"> Magento\Store\Model\ScopeInterface::SCOPE_STORE </argument> <argument name="backendHelper" xsi:type="object"> Magento\Backend\Helper\Data\Proxy</argument> </arguments> </type> 但是同时,在其具体类中,在注入中需要在di.xml中定义的那些类在构造函数中再次声明: <?php public function __construct( \Magento\Framework\App\Route\ConfigInterface $routeConfig, \Magento\Framework\App\RequestInterface $request, \Magento\Framework\Url\SecurityInfoInterface $urlSecurityInfo, \Magento\Framework\Url\ScopeResolverInterface $scopeResolver, \Magento\Framework\Session\Generic $session, \Magento\Framework\Session\SidResolverInterface $sidResolver, \Magento\Framework\Url\RouteParamsResolverFactory $routeParamsResolverFactory, \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver, \Magento\Framework\App\Config\ScopeConfigInterface …

3
如何在Magento 1中覆盖/重写块类?
注意:这是一个规范问题,旨在全面说明块重写的工作方式,并且可以用作更具体的“如何覆盖块X”或“为什么我的重写不起作用”问题的重复目标。 另请参阅:寻找有关Magento 1替代的规范问题 假设我必须在自定义模块中更改核心块类(更改方法或添加方法)。我该如何逐步进行?

5
Magento 2:如何为自定义模块获取调整大小的图像?
我正在使用Magento 2 CE版本2.1.0 我有带有图像字段的自定义模块。上传后,我想要不同尺寸的产品图像,其中有缩略图图像,列表图像和产品详细信息页面图像。 能够上传1张图片而无需调整大小。 我正在使用以下代码调整图片大小,但是它提供了产品图片的网址。不是我的自定义模块。 \ app \ code \ Custom \ Module \ Block \ MyPosts \ Edit.php public function getImage($posts, $image) { $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $_imagehelper = $objectManager->get('Magento\Catalog\Helper\Image'); echo $postImage = $_imagehelper->init($posts, $image)->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(400)->getUrl(); exit; } 它在下面的URL http://localhost/magento2/pub/static/frontend/Magento/luma/en_US/Magento_Catalog/images/product/placeholder/.jpg 我的图片存储在这里:\magento2\pub\media\custom_module\posts\image。 如何通过此路径获取调整大小的图像以及如何保存/获取其他尺寸的图像?

2
如何在Magento 2中设置和获取客户会话数据
我正在努力进行magento 2会议。我已经在控制器文件下面创建了示例代码。 <?php namespace vendor_name\module_name\Controller\SetGetSession; use Magento\Framework\App\Action\Action; class SetGetSession extends Action { protected $customerSession; public function _construct( \Magento\Customer\Model\Session $customerSession ) { $this->customerSession = $customerSession; } public function execute() { } } 任何人都可以帮助我如何分配数据并从会话变量中检索数据吗? 谢谢。

2
管理控制器中的公共操作
我发现在类\Magento\Backend\App\AbstractAction(每个管理控制器操作的祖先)中,有一个称为的成员_publicActions,用于验证密钥,如下所示: if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) { return true; } 这意味着,如果其中列出了某个操作名称,则_publicActions可以在URL中没有密钥的情况下访问该操作。 这是开发和调试的福气,因为您可以像ROOT/admin/module/controller/action手动进行操作一样,而无需知道秘密管理员密钥,但是我不明白的是为什么我可以在没有秘密密钥的情况下访问产品编辑页面。 只需像这样调用任何产品编辑页面ROOT/admin/catalog/product/edit/id/{product_id_here}。 在publicActions订单(允许索引和查看),产品(用于编辑)和重定向控制器的重定向中,成员被覆盖。 现在我的问题是: 为什么在没有密钥的情况下只允许执行某些编辑操作,以及在什么时候/在没有密钥的情况下我的自定义CRUD模块中应该允许什么?

6
缺货的产品仍然出现在前端,搜索等中-Magento 2.1.0
我看到我的magento 2.1.0安装有问题!拒绝从搜索和类别页面隐藏缺货的产品!我清除了缓存,重新索引了,但是没有运气! 你能给我什么建议吗? 我的产品的库存为0,但在前面它们出现在库存中,当您订购它们时,会出现以下错误: We don't have as many "Item's name" as you requested. 谢谢 以后编辑: 我也知道以下信息: 在管理>商店>配置>目录>库存>库存选项>缺货商品中显示为否 这实际上是Magento的功能。将显示缺货的产品设置为否,只会将它们从类别列表页面和搜索结果页面隐藏。产品页面实际上仍然可用。从CE 1.9.1开始,甚至在配置设置下还会显示一条消息,显示缺货产品,仍然会通过直接的产品URL显示产品。这实际上是一件好事。这样,当您的产品缺货时,搜索引擎不会注册很多404页。我看不出那样留下的危害。客户仍然无法订购它们。如果您希望产品在商店中完全不可用,则必须将其标记为已禁用,或者将其可见性设置为“不可见”,或者从管理产品编辑页面上“网站”标签中删除其与网站的关联。资源:缺货的产品仍然出现在前端

7
Magento 2从块类的会话中获取客户ID
如何从会话中获取客户ID?我尝试了这个,但是没有用。 protected $_customerBonusPointFactory; protected $_customerSession; public function __construct(Session $customerSession, \Magento\Framework\View\Element\Template\Context $context) { $this->_customerSession = $customerSession; parent::__construct($context); } public function _prepareLayout() { var_dump($this->_customerSession->getCustomer()->getId()); exit(); return parent::_prepareLayout(); }

1
无法声明接口,因为名称已在使用中
在我的新模块中创建一个简单的界面之后。我输入bin / magento setup:di:compile,但收到一条错误消息,说该名称已被使用。 这是我的代码: namespace Company\Test\Api; /* * @api */ interface XyzInterface { public function getSomething(); } 然后我得到这个错误: Repositories code generation... 1/7 [====>-----------------------] 14% 2 secs 52.0 MiBPHP Fatal error: Cannot declare interface Company\Test\Api\XyzInterface, because the name is already in use in .../app/code/Company/Test/Api/XyzInterface.php on line 13 该行是“接口XyzInterface”,我不确定自己在做什么错。


1
Magento 2-如何在带有“下订单”按钮的“查看和付款”部分之后添加额外的结帐步骤
我正在尝试在“查看和付款”部分之后添加其他结帐步骤。要求是将付款和检查分开作为一个单独的步骤。一旦选择了之后付款方式,它应导航到最后一步“查看”,其中所有订单信息都必须通过“下订单”按钮显示。 到目前为止,我已经按照下面的链接在付款步骤之后添加了自定义步骤。 http://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_new_step.html 但是这里的问题是“下订单”按钮与“付款步骤”绑定在一起,我需要将下订单按钮移到“最后一步”。 任何帮助,最赞赏!


3
Magento2 REST API错误“类不存在”
我已基于Alan的博客创建了一个测试Magento 2.0.2 REST Web服务:http : //alankent.me/2015/07/24/creating-a-new-rest-web-service-in-magento-2/ 我正在使用Postman调用自定义Web服务并收到以下错误: "message": "Class does not exist", "code": -1, "trace": "#0 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(128): ReflectionClass->__construct('')\n#1 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->_createFromArray(NULL, '30')\n#2 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(99): Magento\\Framework\\Webapi\\ServiceInputProcessor->convertValue('30', NULL)\n#3 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->process('Test\\\\Calculator...', 'add', Array)\n#4 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(160): Magento\\Webapi\\Controller\\Rest->processApiRequest()\n#5 P:\\wwwroot\\Magento202_com_loc\\Web\\var\\generation\\Magento\\Webapi\\Controller\\Rest\\Interceptor.php(24): Magento\\Webapi\\Controller\\Rest->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#6 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Http.php(115): Magento\\Webapi\\Controller\\Rest\\Interceptor->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#7 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Bootstrap.php(258): Magento\\Framework\\App\\Http->launch()\n#8 P:\\wwwroot\\Magento202_com_loc\\Web\\index.php(39): Magento\\Framework\\App\\Bootstrap->run(Object(Magento\\Framework\\App\\Http))\n#9 {main}" 我可以成功地调用Magento的现成的REST Web服务。 应用程序/代码/测试/计算器/registration.php <?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Test_Calculator', __DIR__ ); app / …


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.