Questions tagged «magento2»

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


3
在视图Js或html文件中获取基本网址或动态网址
我想出了要在前端获取动态网址的方法,我可以简单地定义mage/url并将其用作url.build('<Modulename>/<controllername>/<action>/') 当我为后端尝试相同的操作时,它没有返回预期的结果。 它给出了当前的URL,并附加了我给出的路径。 谁能解释这是怎么回事。我需要在某个地方定义baseUrl吗?

1
Magento 2:两个网格组件数据提供者之间有什么区别?
在Magento 2.1中,总共配置和使用了25个UI组件列表/网格数据提供程序。他们的数据提供程序类和ui_component文件在下面列出 Magento\Bundle\Ui\DataProvider\Product\BundleDataProvider bundle_product_listing.xmlMagento\Catalog\Ui\DataProvider\Product\Attributes\Listing product_attributes_grid.xml Magento\Catalog\Ui\DataProvider\Product\ProductCustomOptionsDataProvider product_custom_options_listing.xml Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider configurable_associated_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\CrossSellDataProvider crosssell_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\RelatedDataProvider related_product_listing.xml Magento\Catalog\Ui\DataProvider\Product\Related\UpSellDataProvider upsell_product_listing.xml Magento\Cms\Ui\Component\DataProvider cms_block_listing.xml Magento\Cms\Ui\Component\DataProvider cms_page_listing.xml Magento\ConfigurableProduct\Ui\DataProvider\Attributes product_attributes_listing.xml Magento\Customer\Ui\Component\DataProvider customer_listing.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider customer_online_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_creditmemo_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_invoice_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_shipment_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_creditmemo_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_invoice_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_shipment_grid.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider search_synonyms_grid.xml BraintreeTransactionsDataProvider (virtual type) braintree_report.xml Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider Magento\GroupedProduct\Ui\DataProvider\Product\GroupedProductDataProvider grouped_product_listing.xml …

5
在Magento 2中安装第三方扩展的最佳实践是什么?
在为Magento 2进行客户项目工作时-我发现了许多加载并跟踪第三方扩展的方法。 假设我们正在使用集成器安装方法(composer!),那么管理第三方扩展的最佳实践是什么? 到目前为止,我购买或下载的每个扩展都有其自己的composer.json文件-而且我知道扩展作者建议至少三种不同的方式来安装其扩展: 将这些文件复制到应用程序/代码中 将此zip复制到文件夹中,将其添加为工件存储库,并要求它 添加此在线存储库(使用/不使用身份验证)并要求它 到目前为止,我遇到过1和2,只是有点怀疑#3的存在。但是然后,注意到那些建议#1的人,我发现您可以拥有一个“路径”存储库-将扩展从app / code移到了我决定放置这些工件的同一文件夹中,并以此方式要求。 在此过程中,我的存储库配置如下所示: "repositories": { "0": { "type": "composer", "url": "https://repo.magento.com/" }, "artifacts": { "type": "artifact", "url": "artifacts" }, "third-party": { "type": "path", "url": "artifacts/*/*" }, }, 因此,我对您的问题是-最佳做法是什么?您如何管理第三方扩展? 到目前为止,我相信我的方法是最好的方法-仅因为读取了他们的composer.json并且任何依赖关系冲突(或PHP版本约束)都会变得很明显-但我认为这不够确定。

1
Magento 2 minicart,欢迎消息,其他在客户登录后禁用页面缓存的情况下不起作用
使用Magento 2.0.4缓存,更具体地说,启用页面缓存,一切正常。 如果我禁用它,请清除cookie,然后以客户身份登录,而不是minicart中的产品。 欢迎消息并不正确。我必须从产品页面将产品添加到购物车才能看到迷你车。比起结帐,我的国家/地区没有显示在地址摘要中(送货地址已添加到我的帐户中)。 我已经调试完毕,看来问题出在: module-customer/view/frontend/web/js/customer-data.js。Cookie private_content_version已设置在中module-page-cache/view/frontend/web/js/page-cache.js并在中使用customer-data.js。参见customerData::reload功能。 在禁用页面缓存的情况下,不会像该功能dataProvider::getFromServer()那样从服务器加载数据。 当禁用页面缓存时,cookie private_content_version不在其中(不在页面之外执行page-cache.js)。但是cookie section_data_ids只有'*'和'messages'=>为空(false或null)。 启用页面缓存后private_content_version,将section_data_ids具有并带有哪些键和值: *: null cart: 123 compare-products: 123 customer: 123 directory-data: 123 last-ordered-items: 123 multiplewishlist: 123 review: 123 wishlist: 123 在启用页面缓存的情况下登录后,在客户仪表板上,还有2个其他的ajax请求加载数据: http://test.localhost/customer/section/load/?sections=&update_section_id=false&_=123 http://test.localhost/customer/section/load/?sections=directory-data&update_section_id=false&_=123 这些包含具有客户特定数据和目录数据的json对象,例如所有国家和地区。通过这些呼叫,在结帐时,地址摘要将显示国家/地区名称。请参阅:module-customer/view/frontend/web/js/sections-config.js 和module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js,函数getCountryName。 这是Magento 2错误还是我搞砸了?谢谢


1
Magento 2:为什么UI列表组件需要两个集合?
Magento 2具有新的“ uiComponent”功能。这使您可以<uiComponent/>在布局句柄XML文件中包含一个简单标签,以将诸如Grids和Forms之类的内容添加到应用程序页面。 它显示的是一种用于数据网格(一个结构listing)需要2名集合对象进行配置。 以下每个配置集合的作用是什么?还是我误解了这些收藏的作用?还是有一种仅使用单个集合创建网格对象的方法? 以下配置设置了一个名为UI的组件列表 cms_page_listing vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_listing.xml 接下来的DI注入告诉Magento a cms_page_listing应该使用一个Magento\Cms\Model\ResourceModel\Page\Grid\Collection集合。 <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory"> <arguments> <argument name="collections" xsi:type="array"> <item name="cms_page_listing_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Grid\Collection</item> </argument> </arguments> </type> 这似乎是用于填充网格的主要集合。 但是,这里还有这样PageGridDataProvider的cms_page_listing配置。 <!-- File: vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_listing.xml --> <argument name="dataProvider" xsi:type="configurableObject"> <argument name="class" xsi:type="string">PageGridDataProvider</argument> <argument name="name" xsi:type="string">cms_page_listing_data_source</argument> <argument name="primaryFieldName" xsi:type="string">page_id</argument> <argument name="requestFieldName" xsi:type="string">id</argument> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> …

4
向Magento 2添加jQuery库
第三方开发人员如何将jQuery库添加到Magento 2? 虽然Magento 2在其前端主题中包含jQuery版本,但jQuery对象在全局名称空间中并不立即可用。我相信这是因为Magento 2使用RequireJS引入jQuery,并且RequireJS直到需要它时才加载模块文件。 这给jQuery插件带来了一个问题。通常,我会提供一个HTML插件,看起来像这样 <script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script> 但是,这对于Magento 2是不可能的。因为该jquery.cookie.js文件通过使用全局jQuery对象定义了jQuery插件,所以它将在Magento 2中失败并出现jQuery is not defined错误。 前端开发人员应如何在Magento 2的前端应用程序中包括标准的jquery插件库?

6
错误:“应创建对象DOMDocument。”添加/编辑产品属性时
每当我编辑或添加产品属性时,都会收到标题错误 “处理您的请求时出错” 和身体说 "Object DOMDocument should be created." The error log reads : " a:4:{i:0;s:37:"Object DOMDocument should be created.";i:1;s:10125:"#0 /home/puffpackage/public_html/vendor/magento/framework/View/Element/UiComponent/Config/Reader.php(95): Magento\Framework\View\Element\UiComponent\Config\DomMerger->getDom() #1 /home/puffpackage/public_html/vendor/magento/module-ui/Model/Manager.php(261): Magento\Framework\View\Element\UiComponent\Config\Reader->read() #2 /home/puffpackage/public_html/vendor/magento/module-ui/Model/Manager.php(169): Magento\Ui\Model\Manager->prepare('form_schedule_b...') #3 /home/puffpackage/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(139): Magento\Ui\Model\Manager->prepareData('form_schedule_b...') #4 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/Generator/UiComponent.php(125): Magento\Framework\View\Element\UiComponentFactory->create('form_schedule_b...', NULL, Array) #5 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/Generator/UiComponent.php(93): Magento\Framework\View\Layout\Generator\UiComponent->generateComponent(Object(Magento\Framework\View\Layout\Data\Structure), 'form_schedule_b...', Array, Object(Magento\Framework\View\Layout\Interceptor)) #6 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/GeneratorPool.php(86): Magento\Framework\View\Layout\Generator\UiComponent->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context)) #7 /home/puffpackage/public_html/vendor/magento/framework/View/Layout.php(327): Magento\Framework\View\Layout\GeneratorPool->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context)) #8 …



4
Magento2本地化Javascript
这里已经提出了类似的问题:Magento 2 javascript文本翻译,但是Magento在beta版本中更新了此翻译技术。 如何添加或更新Javascript使用的翻译? 我发现Magento在静态文件夹中创建了一个名为“ js-translation.json”的文件。如果直接编辑此文件,我会看到翻译已更新。但是,该文件在哪里创建,以及如何添加翻译,以便Magento在生成文件时将其自动添加到js-translation.json中? 更新资料 仍然没有给出该问题的正确答案,尽管Mage2.PRO向我指出了正确的方向,但这不是完整的答案。生成时,我的js-translation.json仍然为空。 例如,我喜欢翻译“添加到购物车”按钮。此按钮具有三种状态,“添加到购物车”,“正在添加...”和“已添加...”如何翻译这些单词?再例如,“您的购物车中没有商品”。微型购物车中的文字。我认为所有这些短语都应该从js-translation.json进行翻译,但是在哪里添加它们,以便这些文件充满这些翻译?


3
Magento 2不包含产品标签功能
首先,我很困惑这个问题是否符合本网站预期的问题的要求,如果是这样,请指出。 刚刚安装了Magento 2的新版本,以体验新系统。在浏览模块时,我注意到产品标签功能不存在。此外,找不到相同的任何管理页面。在网上四处张望,但找不到任何相关信息。 Magento是否已在新版本中删除了该功能,如果可以,有人知道为什么吗?这恰好是Magento开箱即用的一些很棒的功能之一。

1
Magento 2-布局XML中的ifconfig
我正在与magento 2合作。 我可以在块代码中使用ifconfig属性,并且效果很好。 <block class="Magento\Catalog\Block\Category\View" name="category_desc_main_column" template="category/desc_main_column.phtml" ifconfig="config_path/group/field" before="category.products"/> 但是我试图用它来移动,但是没有用。 <move element="category.image" destination="content" ifconfig="config_path/group/field" before="-"/> 有人知道如何使用它移动吗?

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.