Magento

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

3
Magento 2:从集合查询中选择字段
我有以下查询。我只想从表中选择1个字段,而不是全部。 $collection = $this->_collectionFactory->addFieldToFilter('status', 0)->load(); //$collection->getSelect()->column('id'); //$collection->getSelect()->from(['main_table' => $this->getMainTable()], array('main_table.id')); echo $collectionBallotSelect->getSelect()->__toString(); exit; 我只想id从表中选择字段。

1
获取当前订单ID magento 2
我知道如何通过此代码检索上一个订单ID, $this->_checkoutSession->getQuote()->getReservedOrderId(); 通过注入获得_checkoutSession的地方, \Magento\Checkout\Model\Session $checkoutSession 我想知道如何在magento 2中获取当前的订单ID。

5
Magento 2:如何从API返回JSON对象?
我正在尝试从我的一个REST模型中返回一个JSON对象,如下所示: { "settings": { "set1" : 2, "set2" : "key1" }, "extra": { "e1'" : { "e2'": true } } } 但是,看似琐碎的事情并不容易实现。问题是我不确定接口和模型中的返回类型应该是什么。 <?php namespace AppFactory\Core\Api; /** * @api */ interface SettingsInterface { /** * @return object */ public function get(); } 对象类将返回 { "message": "Class object does not exist", 调用API时。可用的原始类型int,number和array对我不起作用。我不想为每个返回的复杂类型都创建一个类。我怎样才能做到这一点? …

1
设置cron以每30分钟运行一次
我想创建一个每30分钟运行一次的cron。 我以另一个cron为例-我在config.xml文件中创建了cron ,而不是使用管理界面。 我使用的示例如下: <tracking_cron> <schedule><cron_expr>0 4 * * *</cron_expr></schedule> <run> <model>tracking/observer::cron</model> </run> </tracking_cron> 我的问题如下: 1)以上cron的运行间隔是多少? 2)cron_expr应该每30分钟运行一次的cron 会是什么?


3
系统配置多选默认全部选中
我有一个multiselect类型的系统配置字段,该字段将使用填充catalog/product_attribute_collection。这是system.xml定义它的一部分。 <attributes> <label>Choose Attributes to JSONize</label> <frontend_type>multiselect</frontend_type> <sort_order>3</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <source_model>package_module/system_config_attributes</source_model> </attributes> 现在,我希望默认情况下选中multiselect中的所有值。由于系统配置的默认值是在中定义的config.xml,因此我不确定如何选择全部作为默认值。 这是config.xml与问题有关的部分 <default> <mytab> <mysection> <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes> </mysection> </mytab> </default>

1
什么是静态测试检查?
构建模块后,我尝试运行bin/magento dev:tests:run static。 这报告了我的代码的一些问题,但是我不确定在运行此测试时究竟要检查什么。 官方文件说 静态代码分析检查PHP代码是否符合Magento 2编码标准和最佳实践。它们通常在使用bin / magento工具进行持续集成期间执行。 但这并不意味着什么。 到目前为止,我发现的是。 存在 composer.json 存在 README.md 存在 licence.txt 构造函数参数的顺序与参数的父顺序匹配。 还有什么?

2
在magento2中禁用整个购物车功能和结帐
从管理员的角度来看,我可以禁用一步结帐,但是用户仍然可以将产品添加到购物车。我只想显示未结帐的产品。那里有分机吗?我的意思是禁用迷你购物车,添加到购物车链接整个网站。 我在哪里可以通过插件或观察者进行自定义,或者可以重写(主要是单次执行),以便在任何地方都隐藏添加到购物车的链接。通过编辑list.phtml我可以做到。但是还有更好的方法吗?

5
将模块的外部.js文件代码移至模板[phtml]文件
我们有一个带有以下代码的自定义模块 app/design/frontend/rwd/Theme1/layout/aitcg.xml <action method="addJs"><script>aitoc/aitcg/Aitcg/View/Abstract.js</script></action> 由于我们无法在此.JS文件中使用php代码,因此有什么方法可以将当前Abstract.js文件中的代码移动到某个.phtml文件中? 编辑 我按照拉斐尔的答案并更改了代码,如下所示: <block type="aitcg/template" name="aitcg_js_styles1" template="aitcg/js_styles1.phtml" /> 但仍然Abstract.Js文件的结果未显示在js_styles1.phtml中 布局文件:http://pastebin.com/BZGRaiDH js_styles1.phtml:http://pastebin.com/m85q9eMh 我正在尝试onclick button =,onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();"但这在.JS文件中不起作用,所以只有我正在尝试将.js代码复制到.php代码。 <script> _getControlPanelHtml: function() { if (this.config.editorEnabled) { return '<div id="aitcg-control-panel">' + '<button id="submit-editorApply-{{rand}}" onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();">SAVE DESIGN</button>' + '<button id="submit-editorReset-{{rand}}" >{{reset_text}}</button>' + '</div>'; } return ''; }, </script> 当我检查模板路径提示时,它正在加载phtml文件,但是JS代码结果未显示在前端。但是其他的html,php,js代码结果仍在显示..... 安慰 …


2
di.xml常量类型vs init_parameter
我di.xml从核心文件中看到,某些参数具有类型,init_parameter但是参数的值都是常数。 <type name="Magento\Framework\View\Page\Config\Renderer"> <arguments> <argument name="appMode" xsi:type="init_parameter">Magento\Framework\App\State::PARAM_MODE</argument> </arguments> </type> 或这个 <type name="Magento\Framework\App\Cache\State"> <arguments> <argument name="banAll" xsi:type="init_parameter">Magento\Framework\App\Cache\State::PARAM_BAN_CACHE</argument> </arguments> </type> 还有很多其他 但是从我在与关联的解释器中看到的内容来看init_parameter,使用了常量解释器Magento\Framework\App\Arguments\ArgumentInterpreter::evaluate public function evaluate(array $data) { return ['argument' => $this->constInterpreter->evaluate($data)]; } 但是结果与 Magento\Framework\Data\Argument\Interpreter\Constant::evaluate public function evaluate(array $data) { if (!isset($data['value']) || !defined($data['value'])) { throw new \InvalidArgumentException('Constant name is expected.'); } return …
8 magento2  di 

1
Magento 2产品未显示在类别中(但通过搜索可见)
在这里遇到了类别问题。 运行Magento 2.1.3 除此类别外,所有其他类别均显示正确数量的产品 在产品->类别->“王国死亡”类别下显示66个产品。 但是,当您进入前端时,它将仅显示16个产品。 我到目前为止所做的事情: 清除缓存 重新索引所有内容 删除/重新添加相同类别的产品 确保产品已启用 确保物品有库存 确保将产品可见性设置为“目录,搜索” 我将这16种产品对可见的产品与“不可见的”产品进行了比较,并且没有可见的变化,所有参数和属性都相同。 另外,如果我在网站上搜索“不可见”产品,它将显示并找到它,但是如果我尝试使用category来找到它,将无法正常工作。 非常感谢您的帮助!

2
Magento 2:以不同方式获取集合的字段
我在Magento 2中有这个辅助课程: class Data extends \Magento\Framework\App\Helper\AbstractHelper { protected $_countryFactory; public function __construct( \Magento\Directory\Model\CountryFactory $countryFactory ) { $this->_countryFactory = $countryFactory; } public function getCountryIsoCode($country = 'US') { $country = $this->_countryFactory->create()->getCollection(); $country->addFieldToFilter('country_id', array('eq' => country)); $countryCode = $country->getFirstItem()->getIso3Code()); $countryCode2 = $country->getFirstItem()->getData('iso3_code')); // $countryCode => null // $countryCode2 => 'USA' return $countryCode; } …

2
Magento 2:事件观察者异常不在屏幕上显示
在自定义扩展中,我这样创建观察者。 app\code\Vendor\Extension\etc\frontend\events.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="sales_quote_remove_item"> <observer name="sales_quote_remove_item_handler" instance="Vendor\Extension\Observer\RemovecartbeforeObserver" shared="false" /> </event> </config> 和我的观察者: app\code\Vendor\Extension\Observer\RemovecartbeforeObserver.php use Magento\Framework\Event\ObserverInterface; class RemovecartbeforeObserver implements ObserverInterface { public function execute(\Magento\Framework\Event\Observer $observer) { // HERE IS MY CODE $message = "THIS IS CUSTOM ERROR MESSAGE"; throw new \Magento\Framework\Exception\LocalizedException(__($message)); return; } } 调用了我的Observer函数,但是它没有在页面上显示自定义错误。对此,它会在exception.log文件中显示我的消息。 main.CRITICAL: …

5
Magento会话文件删除
文件夹var / session经常保持大量数据波动,从而导致服务器上的节点大量使用, 每次我从会话文件夹中删除文件时,innode的使用率降到最低。 因此,我想问一下如何每隔24小时自动删除这些会话文件。 我刚刚开始与MAgento合作,所以到目前为止我还是新手,所以请您多多解释一下。 我知道我应该以某种方式通过cpanel或smt创建一份cron作业。

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.