Questions tagged «php»

此标记用于以任何方式涉及PHP代码的问题。因此,一旦返回了PHP异常或生成了错误报告,该问题就有资格被PHP标记。

3
为什么Magento 2强制URL为3个以上字符
如果您尝试使用hello-worldMagento 2中的名字创建一个模块,则会出现类似以下的错误。 Invalid XML in file /Users/alanstorm/Sites/magento-2-with-keys/magento2/app/code/Pulsestorm/HelloPestle/etc/frontend/routes.xml: Element 'route', attribute 'id': [facet 'pattern'] The value 'hello-world' is not accepted by the pattern '[A-Za-z0-9_]{3,}'. Magento似乎不希望URL头名中包含数字,字母或下划线以外的任何内容。它还会强制姓氏包含三个或更多字符。 数字,字母和下划线限制是有道理的,因为使用路由ID来创建布局句柄,而“ 特殊 ”字符可能会引起问题。但是,三个字符的限制令人困惑。 有人知道原因吗?
9 php  magento2  routing 

4
获取可配置产品选项的价格
我需要以Magento 1.7的价格出口所有产品。 对于简单产品,这没问题,但是对于可配置产品,我有以下问题:导出的价格是为相关简单产品设置的价格!如您所知,Magento会忽略此价格,而是使用可配置产品的价格以及所选选项的调整项。 我可以获得母产品的价格,但是如何根据所选的选项计算差异? 我的代码如下所示: foreach($products as $p) { $price = $p->getPrice(); // I save it somewhere // check if the item is sold in second shop if (in_array($otherShopId, $p->getStoreIds())) { $otherConfProd = Mage::getModel('catalog/product')->setStoreId($otherShopId)->load($p->getId()); $otherPrice = $b2cConfProd->getPrice(); // I save it somewhere unset($otherPrice); } if ($p->getTypeId() == "configurable"): $_associatedProducts = …



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
Magento 2不支持在特征中进行依赖注入?
特质实际上与Magento中的依赖注入一起工作吗?考虑以下代码: 特质班 namespace Frame\Slick\Block; use Frame\Slider\Slick\Block\Data as Helper trait Slick { protected $_slickHelper; public function __construct(Helper $slickHelper) { $this->_slickHelper = $slickHelper; } } 使用特征类 namespace Frame\Slick\Block; class Product ListProduct implements BlockInterface { use Slick; public function testTrait() { return $this->_slickHelper->getHelloWorld(); } } 这似乎总是返回null,非常确定是否正确包含了所有内容。特质真的可以支持依赖注入吗? 编辑:例如,如果您在trait构造函数中执行di并将其分配给trait变量,然后在使用trait的类上对其进行调用,则它将始终返回null。其他都可以。
8 magento2  php  di 

3
如何在客户注册表格中获得验证码?
最近,我们在网站上遇到了垃圾邮件发送者的麻烦,我们希望使用验证码功能来解决此问题。 我在系统->配置->客户->客户配置-> CAPTCHA中启用了验证码功能 现在,我们有一个主题,其中不存在验证码布局/功能。 因此,我尝试将其纳入主题并从基础复制了代码。这两个captcha.xml和captcha/zend.phtml。 不幸的是,这没有用,所以我只想尝试将reCAPTCHA手动添加到register.phtml。 但是无论是在主题目录还是在基本目录中,编辑customer/register.phtml或都persistent/customer/register.phtml没有改变。 所以我的问题是,我该怎么做?另外,我也不知道你们需要什么信息才能帮助我。因此,要求任何东西。

3
Magento如何/在哪里将RequireJS模块名称转换为URL?
在Magento 2中,您可以使用RequireJS包含一个JavaScript模块,其代码如下所示。 #File: app/code/Package/Name/view/frontend/requirejs-config.js var config = { map: { '*': { modulename: 'Package_Name/js/path/to/file' } } } 虽然该requirejs-config.js文件有点像Magento 2的魔力,但这似乎是标准的RequireJS。您基本上是将短名称映射到名为modulename的javascript模块Package_Name/js/path/to/file。 还不清楚Magento 2 在何处或如何转换上面的javascript模块名称 Package_Name/js/path/to/file 进入HTTP(S)网址 //magento.example.com/static/frontend/Magento/luma/en_US/Package_Name/js/path/to/file.js 在常规RequireJS系统中,RequireJS会尝试加载以下URL //magento.example.com/Package_Name/js/path/to/file.js 很明显,Magento正在做一些事情,以确保将上述URL转换为Magento前端URL。不清楚的是 发生这种情况的地方(PHP层?JavaScript层?) 转换的规则是什么。RequireJS模块看上去不像标准的Magento文件标识符(Package_Name::js/path/to/file) 因此,Magento 2 / RequireJS如何/在何处将模块转换为路径。

4
简单的Magento 2 CRUD模型所需的代码和配置示例?
作为最终用户程序员,我该如何在Magento 2中创建新的“ CRUD”模型?也就是说,我要创建PHP类文件和XML配置文件, 让我从数据库表中创建,读取,更新和删除数据 让我创建将存储此信息的初始数据库表。 在Magento 1中,这由模型,资源模型,设置资源模型和中的各种节点处理config.xml。目前尚不清楚100%在Magento 2中如何处理。 是否为此提供了示例模块或清晰的教程?还是从现有的核心模型(如CMS页面)中倒退是我们唯一的选择?
8 php  magento2  sql  crud 


2
可配置产品的库存通知电子邮件
当我开始注意到某些库存通知电子邮件没有发送时,我最近遇到了一家商店的问题。所有有关简单产品的电子邮件都可以,但是涉及可配置产品时,这是我的问题: 现在,客户可以注册库存通知电子邮件。cron作业运行良好,并且系统逻辑上仅在它们实际有库存且未设置为0时才发送它们。但是,可配置产品始终设置为0,并且属于该可配置产品的简单产品会进行库存更改。因此,现在发生的事情是,人们只能在所有尺码都缺货时才能订购产品(因此,甚至无法选择他们希望收到的信息的尺码),然后例如在重新购买鞋子时,他们不会收到通知,因为可配置(他们订阅的产品)仍为0。 我确定我不是第一个遇到此问题的人,所以我想知道是否有人能够解决该问题或找到解决方案?

6
扫描Magento代码中恶意内容的工具
我们的客户非常关注在第三方模块中引入的恶意代码,尤其是来自Magento Connect的模块(或任何免费模块),他们希望使用其中一个模块,但希望确保该模块能够不包含允许黑客访问其Magento网站不同部分的代码。 我的问题是:有没有一种我们可以用来扫描代码内容的工具?像这样,但可能更深入。 function check($contents,$file) { $this->scanned_files[] = $file; if(preg_match('/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i',$contents)) { $this->infected_files[] = $file; } } 甚至可以在Web服务器上运行的服务。 理想的情况是,如果有一个服务可以在代码进入存储库之前扫描每个提交,那将是理想的选择。

1
为什么会出现“ SOAP错误:解析WSDL:找不到<definitions>”?
我正在尝试在一台服务器上设置SOAP客户端,以便与测试服务器上的Magento通信。两台服务器均已安装,配置并显示了PHP的SOAP扩展phpinfo()。 尝试使用v2和v1 API以及我能想到的所有其他功能关闭缓存。无论如何,我总是遇到同样的问题。 要么: &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"&gt; &lt;SOAP-ENV:Body&gt; &lt;SOAP-ENV:Fault&gt; &lt;faultcode&gt;SOAP-ENV:Server&lt;/faultcode&gt; &lt;faultstring&gt; Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find &lt;definitions&gt; in 'http://myserver.com/api/v2_soap?wsdl=1' in dispatch.php:39 Stack trace: #0 dispatch.php(39): SoapClient-&gt;SoapClient('http://myserver.com/...', Array) #1 {main} thrown &lt;/faultstring&gt; &lt;/SOAP-ENV:Fault&gt; &lt;/SOAP-ENV:Body&gt; &lt;/SOAP-ENV:Envelope&gt; 有时是另一个错误 SOAP doesn't allow DTD.... 我现在只使用这里的普通Magento示例代码,而不是运行任何重要的代码,直到我弄清楚这是怎么回事。 如果file_get_contents对服务URL进行操作,则会得到: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;definitions xmlns:typens="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" …

2
如何调试电子邮件模板?
我正在修改电子邮件模板。 {themeName}/template/email/order/items/order/default.phtml 当用户(来宾或客户)下订单时,以上模板将触发。 在上面的模板中,有一些变量,例如: $_item = $this-&gt;getItem(); $_order = $this-&gt;getItem()-&gt;getOrder(); 如果我使用任何调试方法(例如Mage::log或)zend_debug::dump,则结帐页面将被挂起,并且订单将永远不会得到处理。 因此,我的问题是,在这里我应该使用什么来调试电子邮件模板? 我还使用了echo始终显示空字符串或array包含变量的数组。
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.