Questions tagged «magento-2.1»

表示与Magento CE和EE 2.1.x相关的问题

4
Magento 2 WYSIWYG媒体图片指令,使用管理员网址
为什么magento 2使用管理URL为媒体图像创建指令? 例如,当我在“所见即所得”类别页面上添加图片时,它会添加 <img src="{{media url="wysiwyg/image.jpg"}}" alt="" /> 但是,magento将其解析为前端,就像这样 <img src="https://domain.co.uk/admin/cms/wysiwyg/directive/___directive/e3ttZWRpYSB1cmw9Ind5c2l3eWcvQ29udmV5b3JfYmVsdHNfZmFzdF9kZWxpdmVyeS5qcGcifX0,/key/b67d0a8069ef28a8443e0bad6d912512704213d60e1d9021b1ec2b9dd34bf390/" alt=""> 因为它链接到admin的唯一方法是如果您登录到admin,它将在浏览器上加载。这也带来了安全问题,因为它在前端公开了管理员路径。 我查看了vendor / magento / module-cms / Helper // Wysiwyg / images.php,看起来像函数getImageHtmlDeclaration()生成了这个 public function getImageHtmlDeclaration($filename, $renderAsTag = false) { $fileurl = $this->getCurrentUrl() . $filename; $mediaUrl = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA); $mediaPath = str_replace($mediaUrl, '', $fileurl); $directive = sprintf('{{media url="%s"}}', $mediaPath); if …


1
最好的扩展模块的最佳方法,如_minicart.less?
那么<module>/web/css/source/module/,例如,哪一种是扩展较少文件内容的最佳方法Magento_Checkout/web/css/source/module/_minicart.less? 假设 A)超越 少相关的主题,您必须创建(或复制)具有与父主题相同名称的少主题,并像这样将其放入您的主题中theme-frontend-blank/web/css/source/_buttons.less-><your-theme>/web/css/source/_buttons.less 特定于模块的内容,您必须创建(或复制)与父主题名称相同的内容,然后将其放在您的主题中,如下所示theme-frontend-blank/Magento_Theme/web/css/source/_module.less-><your-theme>Magento_Theme/web/css/source/_module.less UI lib less,您必须在库文件夹中创建(或复制)具有相同名称内容的less,然后将其放在您的主题中,如下所示magento2-base/lib/web/css/source/lib/_buttons.less-><your-theme>Magento_Theme/web/css/source/lib/_buttons.less 并 B)延伸 与主题相关的较少,您必须在主题中创建一个_extend.less文件,并在名称中添加_extend这样的名称<your-theme>/web/css/source/_navigation_extend.less才能扩展并在_extend.less中theme-frontend-blank/web/css/source/_navigation.less使用@import指令注册该文件,而无需在web / css / source->中添加主题内容@import "_navigation_extend.less" 具体来说,您必须在主题模块路径中创建_extend.less文件,这样<your-theme>Magento_CatalogSearch/web/css/source/_extend.less才能扩展Magento_CatalogSearch原始_module.less UI lib less,您必须在库文件夹中创建具有相同名称内容的less,在此名称中添加_extend<your-theme>Magento_Theme/web/css/source/lib/_buttons_extend.less以扩展并在_extend中magento2-base/lib/web/css/source/lib/_buttons.less使用@import指令注册该文件,并在web / css / source中删除主题内容- >@import "lib/_buttons_extend.less" 理论上必须建议您创建一个_minicart_extend.less,但它不会自动运行。也许您应该像B1或B3所述将文件导入_extend.less而不是该模块中? 如果这是扩展它们的正确方法,但为什么必须将这些扩展较少的组件自动包含在css的解析中,而又必须将其导入_extend.less中呢? (这里还有另一个问题:web/css/source/lib/_buttons.less和之间有什么区别web/css/source/_buttons.less?) 我有点困惑。希望有人可以帮助我。 抱歉,这篇长篇文章。 资料来源: http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/css-topics/css-overview.html http://inchoo.net/magento-2/working-with-css-in-your-first-magento-2-project/comment-page-1/#comment-434125

1
Magento 2.1添加了新的组件类型问题
我添加了一个称为的新表单元素类型Company\Module\Data\Form\Element\PdfButton,version EE 2.0.7并在Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs产品编辑管理页面的自定义标签(通过覆盖添加)中使用了此元素。 升级到Magento EE 2.1之后,自定义标签消失了。为了使其显示,我添加了一个修饰符以在产品页面中创建一个新选项卡。通过将修改器复制到供应商文件中并将其注入到模块中,我成功添加了新选项卡。 但是,当我想使用自定义元素时。因此,在元数组的children字段中,添加了以下代码: $children[$website['id']] = [ 'arguments' => [ 'data' => [ 'config' => [ 'dataType' => Form\Element\DataType\Number::NAME, 'componentType' => Form\Field::NAME, 'formElement' => Form\Element\Wysiwyg2::NAME, 'description' => __($website['name']), 'tooltip' => $tooltip, 'sortOrder' => $sortOrder, 'dataScope' => 'website_ids.' . $website['id'], 'label' => "Pdf Upload", 'valueMap' => [ 'true' …



2
Magento 2使用UiComponent而不是Datepicker显示时间选择器
我想以UiComponent形式显示时间选择器 正如Magento Docs显示的变化一样,它们提供了时间选择器: 我想要在我的表单中使用UiComponent。 注意:需要显示计划时间,所以不需要日期。 已检查参考:如何在Magento 2中将时间范围选择器添加到adminhtml表单?(但是它的using块,我想使用UiComponent)


7
Magento 2.1.1与PHP 7.1.0不兼容
我v7.1.0RC3安装了PHP的新服务器。根据DevDocs Magento 2兼容,7.0.2 up to 7.1.0, except for 7.0.5它PHP 7.1.0与M2兼容,但是当尝试安装仓库时,出现以下错误: 问题1-magento / product-community-edition 2.1.1的安装要求-> magento / product-community-edition [2.1.1]可满足。-magento / product-community-edition 2.1.1需要php〜5.6.0 | 7.0.2 |〜7.0.6->您的PHP版本(7.1.0RC3)不满足该要求。

4
如何在v2.1中覆盖块
我正在尝试覆盖Magento 2.1中的Topmenu块,但找不到任何指导。我在这里和其他地方找到的所有内容似乎仅适用于2.0版,该版本似乎使用了不同的文件夹结构,或者仅包含部分代码示例,希望我已经知道它们的适当上下文(我不知道)。 我当前的自定义主题文件夹结构为app/design/frontend/Vendor/theme_name。在其中,我有注册,主题和作曲家文件以及各个模块(例如Magento_Theme和)的文件夹Magento_Search。 据我了解,我需要etc/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"> <preference for="Magento\Theme\Block\Html\Topmenu" type="[Namespace]\[Module]\Block\Html\Topmenu" /> </config> 我也了解下一步是添加一个Block/Html/Topmenu.php类似下面的文件(同样从上面的源代码编辑): namespace [Namespace]\[Module]\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, $limit) { } } 但是,我不清楚我应该用于[Namespace]和以及[Module]将这些文件放在何处。我尝试使用供应商和主题名称,并将etc和Block文件夹放在中app/design/frontend/Vendor/theme_name,以及将它们放在中app/design/frontend/Vendor/theme_name/Magento_Theme,将名称空间修改为Vendor\theme_name\Magento_Theme\Block\Html,但都没有任何效果。 如果有人可以帮助您确切地解释在2.1版中重写Topmenu块(以及通过推断任何其他块)需要做的事情,我将不胜感激。 附录 我尝试了Khoa TruongDinh的回答,但没有任何效果。我使用了以下文件: app/code/Vendor/MagentoTheme/Block/Html/Topmenu.php <?php namespace Vendor\MagentoTheme\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, …

4
将自定义产品属性添加到结帐摘要Magento 2
我正在尝试将自定义产品属性添加到Magento 2结帐中“摘要”部分的项目列表中。模板文件位于,Magento_Checkout/web/template/summary/item/details.html并希望在产品名称之前显示自定义属性的值。是否知道如何将此值添加到ko模板?貌似还有另外一个问题,这在这里,但从来没有回答。


3
提高SOAP调用的性能
Magento 2.1出现性能问题 在我的商店中,我有90.000种产品。我将这些产品添加到肥皂中。当我这样做时,每篇文章(产品?)大约​​花费了7秒钟(Request> Response)。总而言之,初始化所有产品花了几天时间。 现在所有产品都在商店里。整整几周,我不得不更新文章(产品)上的某些内容。当我再次用肥皂擦洗时,需要花费相同的时间。更新后,商店将无法使用。请求和响应的示例在这里:https : //pastebin.com/aqnMJk98 https://pastebin.com/UAh0h8Zz 我的服务器具有12核心CPU,24 GB RAM和SSD。它运行带有Apache2 PHP7-fpm和MYSQL的Ubuntu 16.04。 当我观看更新过程时,我发现MySQL的5个核心正在以100%的速度工作,而其余的则处于闲置状态。仅使用少量的内存就iotop表明我的SSD很无聊。 我观察了数据库的性能,发现Magento在添加过程中向数据库触发了数千条命令。这个可以吗? 当我使用Magento CSV导入更新它时,它的速度要快得多。 我该怎么做才能加快Magento2的速度?在这种情况下,这家商店不可能很好地运作。

3
Magento 2:模型与数据模型之间的差异
我知道Magento 2引入了数据模型作为服务合同体系结构的一部分。数据模型通常实现在模块的Api / Data /中定义的接口。 但是,Magento似乎也保留了旧模型。 让我们以模块客户为例。 在Api / Data / CustomerInterface.php中定义的数据模型接口 上面的接口在Model / Data / Customer.php中实现 数据模型具有客户变量的所有getter和setter函数,正如人们所期望的那样 除上述内容外,还有一个Model / Customer.php。这也具有getter和setter功能。这更像是连接到ResourceModel(Model / ResourceModel / Customer.php)的Magento 1模型。 在Model / ResourceModel / CustomerRepository.php中,各种函数从Magnento 1模型收集数据,将它们传输到数据模型,然后返回数据模型。 为什么需要旧模型?为什么数据模型不能直接与ResourceModel连接?

1
Magento 2使用模态按钮添加类别树渲染器输入
我正在尝试使用uicomponent表单为我的自定义表单放置类别输入。 我可以创建下拉菜单,但是如何创建按钮并从中打开新的模式呢? 我可以使用uicomponent 创建按钮并从中打开模式吗?我想有一个按钮代替的新类别我想补充选择产品按钮并希望添加节目列表从产品选择在网格类别。 这是用于创建类别输入的xml <field name="parent"> <argument name="data" xsi:type="array"> <item name="options" xsi:type="object">Magento\Catalog\Ui\Component\Product\Form\Categories\Options</item> <item name="config" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Parent Category</item> <item name="componentType" xsi:type="string">field</item> <item name="formElement" xsi:type="string">select</item> <item name="component" xsi:type="string">Magento_Catalog/js/components/new-category</item> <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item> <item name="dataScope" xsi:type="string">data.parent</item> <item name="filterOptions" xsi:type="boolean">true</item> <item name="showCheckbox" xsi:type="boolean">false</item> <item name="disableLabel" xsi:type="boolean">true</item> <item name="multiple" xsi:type="boolean">false</item> <item name="levelsVisibility" …

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.