Questions tagged «magento-2.0»

表示与Magento CE / EE 2.0版相关的问题

4
Magento2 CLI模块:启用会给出错误“未知模块”
在Magento2中,我构建了一个简单的自定义模块,并希望通过CLI启用它: bin/magento module:enable Vendorname_Modulename 但这给了我以下错误: 未知模块:“供应商名称_模块名称” 该模块及其文件确实存在于 app/code/Vendorname/Modulename/ 当然,我已经清除/禁用了缓存,清除了生成,Memcache(d)没有运行...


3
什么是Magento2中的IdentityInterface
我看到Magento 2中的许多模型都实现了Magento\Framework\DataObject\IdentityInterface。 该接口有一个称为getIdentities 的方法return [self::CACHE_TAG . '_' . $this->getId()];。该方法的实现通常返回。 可以在此处找到示例 这是做什么用的?

1
致命错误在magento 2中调用我的Block时调用成员函数dispatch()的致命错误
这是我的阻止文件: <?php namespace ChennaiBox\Mymail\Block\Mail; class MailContent extends \Magento\Framework\View\Element\Template { protected $_objectManager; protected $customerSession; public function __construct( \Magento\Customer\Model\Session $customerSession, \Magento\Framework\ObjectManagerInterface $objectManager ) { $this->customerSession = $customerSession; $this->_objectManager = $objectManager; } public function mymailData() { try{ if ($this->customerSession->isLoggedIn()) { $cutomerEmail =(string)$this->customerSession->getCustomer()->getEmail(); echo $cutomerEmail; else{ $this->_redirect('customer/account/login/'); } }catch (Exception $e) { $e->getMessage(); } …

3
使用ui组件在表单字段下添加注释
如何使用ui组件在Magento 2中的字段下添加小文本。 使用Magento\Framework\Data\Form我可以做到这一点: /** @var \Magento\Framework\Data\Form $form */ $form = $this->formFactory->create(); $fieldset = $form->addFieldset( 'base_fieldset', [ 'legend' => __('Some legend here'), 'class' => 'fieldset-wide' ] ); $fieldset->addField( 'name', 'text', [ 'name' => 'name', 'label' => __('Name'), 'title' => __('Name'), 'note' => __('Some note here') ] ); 上面的代码将产生此结果(请注意该字段下的文本)。 如何使用表单ui-components实现同一件事? 我有这样定义的形式: <field …





5
在VCS下,Magento 2项目的首选结构是什么?
当我开始一个新的M2项目时,我要做的第一件事是通过composer安装核心: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition 现在,我可以在下编写我的自定义模块和主题app/code。然后,我composer.*将整个app/code文件夹添加到我的VCS中。到目前为止,一切都很好。 假设现在我想为我的项目使用一些构建工具,比如说Grunt或Gulp。 如果我自己提交Gruntfile.js,克隆仓库后magento/magento2-base运行时,它将被程序包覆盖composer install。 如果我提交了我gulpfile.js,我真的不能在a中定义我的依赖package.json,因为它也会被magento/magento2-base。 如果我决定使用Magento的Grunt设置并希望通过编辑/dev/tools/grunt(例如themes.js)下的文件来自定义它,则不能,因为我的更改将被覆盖magento/magento2-base。 我的理解是,您实际上无法在文档根目录中做很多事情。对于这个问题,当然有很多解决方案: 我可以git checkout -在安装后立即运行以重置自己的文件 我可以将构建文件存储在专用文件夹中,/build例如 我可以使用其他构建工具,例如Phing,Ant或Rake(尽管我的前端开发人员不会那么高兴) 我可以替换magento/magento2-base为具有针对核心文件的自定义映射的自定义包(虽然不是最佳选择,但是,这是一个选择) 我个人不喜欢所有这些选项,因此我想知道是否有一种首选或更好的方法来实现我要做的事情。 有人有同样的问题吗?您是如何解决的?您如何在VCS下构建项目? 更新 与项目设置有关的一个额外要点。在实验中,我注意到Magento作曲家安装程序具有文件覆盖标志: "extra": { "magento-force": "override" } 如果我没记错的话,它在内部被视为布尔值,因此我尝试将其设置false为跳过重写。当我运行时composer install,由于文件已存在,安装失败。基本上,如果我不让Magento覆盖文件,就无法安装。 那么,该标志的目的是什么?是否只想对我进行检查?老实说,这对我来说没有多大意义,但也许有人可以阐明这个话题。


1
Magento 2新的网格系统模板
我一直在Merchant beta 1.0.0版本上浏览新的Magento后端网格系统。 首先,我必须说我印象深刻。 现在,您可以选择要查看的列,可以对其进行重新排序,还可以根据不一定具有列的属性进行过滤。 但这并不重要。 我不了解网格的渲染方式。 通过启用模板路径提示,我看到例如产品网格是通过模板app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml和via块呈现的Magento\Ui\Component\Listing。 我编辑了模板,看到了一些我不理解的东西。 <!-- ko template: getTemplate() --><!-- /ko --> 如果删除此行(并清除缓存,如果启用的话),我将不再有网格。 有人可以解释这ko是什么以及它如何工作吗? 我还在其他模板中找到了这种标记。 app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.html例如。 [更新] 我刚刚找到了一个简单的搜索(duh!),它ko指向以下内容:http : //knockoutjs.com/,但我仍然需要一些说明。

3
Magento 2:使用服务合同的好处是什么?
因此,如您所知,Magento 2建议的处理CRUD行为的模型/集合的方法是使用服务合同。 但是仍然根据Magento SE问答,似乎大多数人倾向于直接使用模型/资源模型/集合来代替。 作为加载报价的示例,我可以这样直接通过工厂进行报价: $this->quoteFactory->create()->load($quoteId); $this->quoteFactory的实例在哪里\Magento\Quote\Model\QuoteFactory 但是我也可以通过服务合同来做到这一点: $this->quoteRepository->get($quoteId); $this->quoteRepository的实例在哪里\Magento\Quote\Api\CartRepositoryInterface 所以我的问题是,与工厂相比,使用服务合同有什么好处?

3
Magento 2:获取重写的产品网址
我试图rewrite product url从load product自定义模块中获取。我正在获取url http://localhost/m2/catalog/product/view/id/1401/category/23/格式。 但是我想要 http://localhost/m2/juno-jacket.html 这是代码 在构造函数中 public function __construct( \Magento\Catalog\Helper\Product $catalogProductHelper, ) { $this->catalogProductHelper = $catalogProductHelper; } 自定义功能 public function abc(){ $product_id = '123'; return $this->catalogProductHelper->getProductUrl($product_id); } abc() method 像这样返回网址 http://localhost/m2/catalog/product/view/id/1401/category/23/

2
如何在Magento2中覆盖或禁用核心插件?
我正在使用Magento2建立市场。因此,我需要能够使用供应商的客户凭证来加载客户的订单。 问题在于,Magento2使用插件来验证只有该订单的客户(或管理员)才能加载该订单。 在这种情况下,我需要覆盖整个插件或覆盖protected方法isAllowed()。不修改内核怎么办? Magento\Sales\Model\ResourceModel\Order\Plugin\Authorization 看起来像这样: use Magento\Authorization\Model\UserContextInterface; use Magento\Framework\Exception\NoSuchEntityException; class Authorization { /** * @var UserContextInterface */ protected $userContext; /** * @param UserContextInterface $userContext */ public function __construct( \Magento\Authorization\Model\UserContextInterface $userContext ) { $this->userContext = $userContext; } /** * Checks if order is allowed * * @param \Magento\Sales\Model\ResourceModel\Order $subject * @param …

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.