Questions tagged «magento2»

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

2
Magento 2:如何在模块的composer.json中指定“语义版本控制”依赖性
Magento 2的开发和部署包括一个正式的版本控制过程,其中核心Magento模块的主要和次要版本将根据向后兼容功能的变化而增加。 作为Magento模块开发人员,我应该如何在自己的composer.json文件中构建需求列表?每当我使用一段Magento核心代码require:...并向composer.json 添加一行时,是否需要手动查看模块?还是有一个自动化工具可以为我做到这一点? 如何指定要包含在我的版本中composer.json?它应该是我针对的特定模块版本吗?还是我应该涉及某种通配符?还是我需要根据权衡做出决定?如果是这样,每种样式指定所涉及的权衡是什么? 对此功能有很多高级描述-但是尚不清楚工作中的开发人员应在此处采取哪些实际步骤,和/或这些步骤的实际后果是什么。

2
Magento 2:如何创建自己的自定义缓存类型?
在Magento 1中,可以通过在您的中声明以下内容来创建自己的缓存类型config.xml: <global> <cache> <types> <custom translate="label,description" module="module"> <label>Custom Cache</label> <description>This is my custom cacge</description> <tags>CUSTOM_CACHE_TAG</tags> </custom > </types> </cache> </global> 这将导致在“ 系统”>“缓存管理”下将新的缓存类型添加到后端,因此,它将添加刷新与CUSTOM_CACHE_TAG缓存标签相关的缓存的功能。 在M2中有可能吗?如何实现?

2
在Magento 2中将自定义活动链接添加到客户帐户导航
我正在尝试在客户帐户导航中添加自定义链接。我的自定义链接也显示在帐户导航中,并且也可以正常工作,但是单击时并没有显示为活动/当前状态。 下面是我的代码: /app/code/Namespace/Support/view/frontend/layout/customer_account.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="customer_account_navigation"> <block class="Magento\Framework\View\Element\Html\Link\Current" name="customer-account-navigation-suppport-ticket-link" after="-"> <arguments> <argument name="path" xsi:type="string">support/customer/index</argument> <argument name="label" xsi:type="string">Support Ticket</argument> </arguments> </block> </referenceBlock> </body> </page> / app / code /命名空间/Support/Controller/Customer/Index.php <?php namespace Namespace\Support\Controller\Customer; use Magento\Framework\App\Action; use Magento\Framework\Exception\NotFoundException; use Magento\Framework\Controller\ResultFactory; class Index extends \Namespace\Support\Controller\Index { /** * Show …

3
单元测试源模型
我的自定义扩展中有几个模型,这些模型仅用于填充实体的添加/编辑形式中的某些选择和/或多项选择。 因此,它们被magento称为“源模型”。 所涉及的值始终相同,并且方法返回的内容相同。 我应该如何对它们进行单元测试?甚至更好,我应该为他们编写单元测试吗? 这是一个例子。 下列类用于添加/编辑表单(称为)的字段type以及同一字段的Grid列。 <?php namespace Sample\News\Model\Author\Source; use Magento\Framework\Option\ArrayInterface; class Type implements ArrayInterface { const COLLABORATOR = 1; const EMPLOYEE = 2; /** * Get options * * @return array */ public function toOptionArray() { $_options = [ [ 'value' => '', 'label' => '' ], [ 'value' …

2
产品中YouTube视频的导入属性
我想将产品与YouTube视频一起导入“图片或视频库”中。你们知道正确的属性吗? 我为所有图片都做过并且工作正常,但是我不知道视频。
10 magento2 

2
使用AbstractBackendController测试配置页面:testAclNoAccess失败
我正在为配置部分编写集成测试,并且在默认测试用例中遇到以下失败: My\Module\ConfigTest::testAclNoAccess Failed asserting that 302 is identical to 403 据我所知,一切正常,但是当配置部分拒绝访问时,Magento发送重定向响应而不是“ Forbidden”。 更改测试以获取302状态代码是否有意义?我宁愿不删除该测试用例,因为它已经帮助我捕获了错误的资源标识符。 这是相关代码: namespace My\Module; use Magento\TestFramework\TestCase\AbstractBackendController; class ConfigTest extends AbstractBackendController { protected function setUp() { parent::setUp(); $this->uri = 'backend/admin/system_config/edit'; $this->resource = 'My_Module::config_my_module'; $this->getRequest()->setParam('section', 'my_module'); } // [other tests] }

3
使用“ ifconfig”有条件地添加CSS资产
ifconfig与Magento 1类似,Magento 2中有什么方法可以有条件地添加CSS资产?这是Magento的一个示例: <action ifconfig="config_path/group/field" method="addItem"> <type>skin_css</type><name>css/styles.css</name> </action> 我在Magento 2中尝试了类似的方法,但是没有用: <head> <css src="css/styles.css" ifconfig="config_path/group/field" /> </head> 它只是ifconfig在前端显示属性: <link rel="stylesheet" type="text/css" ifconfig="config_path/group/field" href="http://example.com/pub/static/frontend/Magento/luma/en_US/css/styles.css" /> Magento 2中有等效的功能吗?


13
Magento 2:500内部服务器错误
我遵循以下的Magento开发文档: 如果您添加一个新的.html模板,然后对其进行编辑,则更改将不适用,直到您执行以下操作:删除pub / static / frontend和var / view_preprocessing目录中的所有文件,然后重新加载页面。您可以手动删除文件,也可以在CLI中运行grunt clean:命令。有关在Magento中使用Grunt的详细信息,请参阅安装和配置Grunt。 但是现在在通过htaccess设置的开发人员模式下,我在站点和管理URL上收到内部服务器错误500。如果它寻找已清除的文件来呈现,这是否是一个缓存问题?
10 magento2  php  error 

3
加入购物车后如何触发小型购物车更新
我使用以下课程来测试以自定义方式添加到购物车; use Magento\Framework\App\Action; use Magento\Checkout\Model\Cart; class Add extends Action\Action { protected $cart; public function __construct( Action\Context $context, Cart $cart ){ $this->cart = $cart; parent::__construct($context); } public function execute() { $this->cart->addProductsByIds([1]) ->save(); } } 这很好。当您查看购物车时,它显示了我的物品,在数据库等中所有物品看起来都很酷。但是,微型购物车仍然显示好像在篮子里没有物品。 如果我随后使用产品或列表页面上的“添加到购物车”按钮将其他产品添加到购物车,则它将添加到购物车并更新微型购物车以显示两个商品。 它会在哪里触发迷你车进行自我更新,或者迷你车如何知道需要刷新?
10 magento2 

2
Magento2:将自定义模板添加到下面的产品详细信息页面中的添加到购物车部分
我正在尝试将自定义模板添加到社交共享部分下的产品页面。在我的模块中,我遵循布局文件default.xml中的代码 <body> <referenceContainer name="product.info.social"> <block class="Magento\Framework\View\Element\Template" name="product.info.custom" template="Lapisbard_Product::social.phtml" after="product.info.addtocart"> </block> </referenceContainer> </body> social.phtml内容 <p>Hey there !</p> <?php //$_product = $block->getProduct(); 它工作正常,并在产品页面上显示模板内容。当我使用块类Magento\Catalog\Block\Product\View而不是Magento\Framework\View\Element\Template使用时$block->getProduct();,可以使用来在模板中获取产品对象。 1.我在这里犯什么错误? 2.修改产品页面的最佳方法是什么? 3.是否有一个参考布局文件,可以用来向产品页面的任何部分添加新模板,以在模块中编写布局代码?


3
Magento 2 html文件和phtml文件在自定义模板过程中?
正如我从magento 2文档中检查的有关更改微型购物车内容的内容一样。 有两种方法: 在此页面中:http : //devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html 我们通过自定义minicart.phml并将其放置在以下位置来对其进行更改: app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml 但在另一页上:http : //devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html 我们在content.html中对其进行自定义,并将其放置在: app/design/frontend/OrangeCo/orange/Magento_Checkout/web/template/minicart/content.html 因此,这些问题是: magento 2如何决定何时使用html文件和phtml文件? 这与Magento 2:默认,开发人员和生产中的3种模式有关吗?
10 magento2  layout 

2
Magento 2:在与我们联系时显示验证码
我在CMS块中使用以下代码来显示默认的magento与我们联系表格。 <p>{{block class="Magento\Contact\Block\ContactForm" name="contactForm" template="Magento_Contact::form.phtml"}}</p> 只是想知道是否会有一种核心方式来启用表单中的验证码?


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.