Questions tagged «controllers»

表示有关控制器和操作方法的问题

1
/ Controller和/ controllers之间的区别
我一直想问一个年龄的问题,比任何其他问题都更理论化。 我精通使用常规的Magento模块文件结构开发扩展。我注意到,尽管在查看某些Mage“扩展”时,其中有些包含/ Controller目录。这些控制器的目的是什么?与/ controllers目录中通常使用的控制器有什么不同? 我可以看到名称的结构不同,所以我收集它们以不同的方式自动加载,但是/ Controller类的作用是什么? 谢谢大家



5
将数据从控制器发送到phtml
我有这个控制器: ... public function insertAction() { $something = 'testcase'; $this->loadLayout(); $this->_title($this->__("the title")); $this->renderLayout(); } ... 我想访问$something我的.phtml文档,该怎么做?(或者$something换一种说法:如何访问我的.phtml文件)

3
Magento 2:重写控制器
我该如何在Magento 2中重写控制器(实际上是一个动作)? 我按照这里的指示进行了尝试: 我有Namespace_Module一个用di.xml文件调用的模块,该模块已考虑在内,因为同一系统可在模型和模块上运行。 示例: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> <!-- this one doesn't work for a controller action --> <preference for="Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics" type="Namespace\Module\Controller\Adminhtml\Dashboard\RefreshStatistics" /> <!-- this one works for a model --> <preference for="Magento\Customer\Model\Resource\GroupRepository" type="Namespace\Module\Model\Resource\Customer\GroupRepository" /> <!-- this one works also for a block --> <preference for="Magento\Backend\Block\Dashboard" type="Namespace\Module\Block\Backend\Dashboard" /> </config> …


5
为什么我不能在Magento 2中注入ProductRepositoryInterface?
我有一个控制器动作,我想将产品存储库注入其中 namespace Nosto\Tagging\Controller\Export; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Store\Model\StoreManagerInterface; use Magento\Backend\App\Action; use Magento\Framework\App\Action\Context; class Test extends Action { private $_productRepository; public function __construct( Context $context, StoreManagerInterface $storeManager, ProductRepositoryInterface $productRepository ) { parent::__construct($context); $this->_storeManager = $storeManager; $this->_productRepository = $productRepository; } 无论我以什么顺序放置构造函数参数,Magento的依赖项注入总是为该productRepository参数注入一个无效的类,从而导致PHP抛出和参数错误。该storeManagerGETD注射就好了。清除缓存没有帮助。 这是引发的异常: Recoverable Error: Argument 3 passed to Nosto\Tagging\Controller\Export\Test::__construct() must implement interface Magento\Catalog\Api\ProductRepositoryInterface, …

4
Magento2-自定义控制器引发错误
我创建所示的模块这个职位。但是我自己的控制器不起作用。我收到此错误消息: 可恢复的错误:传递给MP \ MyModule \ Controller \ Index \ CheckUserName :: __ construct()的参数1必须是Magento \ Framework \ App \ Action \ Context的实例,已给出Magento \ Framework \ ObjectManager \ ObjectManager的实例,在D中调用:\ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ ObjectManager \ Factory \ AbstractFactory.php在第97行并在D:\ xampp \ htdocs \ magento2 \ …

1
如何重写控制器AccountController
我需要重写一个方法控制器 Core/Mage/Customer/controllers/AccountController.php 并添加新方法。由于此控制器的编辑是错误的-应该覆盖它。 根据项目要求,控制器必须位于 local/New/Mage/Customer/controllers/AccountController.php 要做到这一点,创建一个文件的配置,但地址customer/account/test,customer/account /ajax没有回应,而customer/account/login这是不覆盖。请协助执行。 app / app / etc / modules / New_Mage_Customer.xml <?xml version="1.0"?> <config> <modules> <New_Mage_Customer> <active>true</active> <codePool>local</codePool> </New_Mage_Customer> </modules> </config> app / code / local / New / Mage / Customer / etc / config.xml <?xml version="1.0"?> <config> <modules> <New_Mage_Customer> <version>0.0.1</version> </New_Mage_Customer> </modules> <frontend> …

1
在Magento 2 URL中使用保留字
是否可以使用标准路由在Magento 2中创建一个模块,该模块以以下形式响应URL: http://magento.example.com/namespace_module/return/index 即-URL,其中第二个参数是PHP保留关键字。上面的问题是创建一个PHP控制器类名 Namespace\Module\Controller\Return\Index 并且Return在命名空间中包含非法的PHP。我知道URL的最终参数(传统上称为action)是否是保留关键字 http://magento.example.com/namespace_module/foo/return Magento可以让我创建一个名为 Namespace\Module\Controller\Foo\ReturnAction 但是,这不适用于第二个参数。 有没有办法使用标准的Magento 2路由技术来做到这一点? 如果不是,是否存在通常被认为是注入自定义路由器对象以获得此行为的最佳实践,或者是否有其他技术可以帮助我解决此问题?(一个after插件Magento\Framework\App\Router\ActionList?)


1
如何使我的自定义模块页面使用SSL?
我已经创建了一个包含一些页面的模块,并且想知道如何强制该页面在URL上使用SSL,例如客户登录页面。并非所有页面都需要它,但是有些页面需要。 我想到的(尽管我还没有尝试过)是评估动作控制器中的URL并重定向到https://是否在magento config中启用了SSL且当前URL未使用它。 这种方法正确吗?还是这种设置进入配置文件?

1
如何在Magento 2.1.0中进行简单的Ajax调用
我在一个phtml文件中添加了一个简单的按钮。 <input type='button' name='emq_zip_btn' class='emq_zip_btn' value='Go'> 我从自定义模块(Ved_Mymodule)添加了一个自定义js文件(“ emq.js”): require([ "jquery", "jquery/ui" ], function($v){ //<![CDATA[ $v = jQuery.noConflict(); $v(document).ready(function() { console.log('jquery loaded from emq.js'); $v(".emq_zip_btn").on('click',function(e) { console.log('clicked'); }); }); //]]> }); 当我单击以上按钮时,控制台中将打印“ clicked”,即jQuery正常工作。 这是来自自定义模块Ved_Mymodule的控制器文件: Ved \ Mymodule \ Controller \ Index \ Index.php: <?php namespace Ved\Mymodule\Controller\Index; use Ved\Mymodule\Model\NewsFactory; use Magento\Framework\App\Action\Action; use …

3
在magento2中创建自定义模块显示致命错误
我正在magento 2中创建自定义模块,但无法正常工作。你能建议我哪里出问题了吗? 我的模块代码: app / etc / config.php: 'modules' => array ( 'Ramesh_Sample' => 1, ), app / code / Ramesh / Sample / etc / module.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"> <module name="Ramesh_Sample" schema_version="2.0.0"> </module> </config> app / code / Ramesh / Sample / etc / frontend / routes.xml …

1
http动词接口的目的
在Magento 2.3中,所有http动词都有一些接口 Magento\Framework\App\Action\HttpPostActionInterface Magento\Framework\App\Action\HttpGetActionInterface, ... 所有的人都是空的并且执行Magento\Framework\App\ActionInterface。 我还发现它们全部都映射app/etc/di.xml到的参数中,Magento\Framework\App\Request\HttpMethodMap并且许多控制器都实现了这些接口。 但并非所有控制器。 这就是我能找到的所有信息。 他们的目的是什么?

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.