Questions tagged «extensions»

表示有关开发和集成扩展的问题

4
Magento 2班级位置和名称的最佳做法
在Magento 1我们习惯于将我们的类放在这些目录中 块 帮手 模型 资源资源 并使用简单的类名,名称中间不要包含任何大写字母。 如果我们看看一些情况 Magento 2 Core 帮手 地点: - \Foo\Bar\Helper 姓名: - *.php 例子: - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images 观察者 地点: - \Foo\Bar\Observer 姓名: - *.php - *Observer.php 例子: - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver 外挂程式 地点: - \Foo\Bar\Plugin 姓名: - *.php - *Plugin.php 例子: - \Magento\Catalog\Plugin\Block\Topmenu - \Magento\PageCache\Model\App\FrontController\BuiltinPlugin 资料来源:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin …

2
在自定义扩展名Adminhtml中添加动态网格作为输入的最佳方法
我已经使用它自己的网格构建了一个自定义商店定位器扩展,并在Adminhtml中编辑页面,并且一切正常。对于商店的营业时间,我想实现一个动态网格,例如属性选项。 现在,我找到了一个解决方案,但我希望有更好的方法,或者至少是更清洁的方法。到目前为止,我正在向表单中的字段添加渲染器fieldset class Redkiwi_Rkstorelocator_Block_Adminhtml_Rkstorelocator_Edit_Tab_General extends Mage_Adminhtml_Block_Widget_Form { protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('rkstorelocator_form', array('legend'=>Mage::helper('rkstorelocator')->__('Store information'))); [...] $officehours_field = $fieldset->addField('office_hours', 'editor', array( 'name' => 'office_hours', 'label' => Mage::helper('rkstorelocator')->__('Office hours'), 'required' => false, )); $officehours_block = $this->getLayout() ->createBlock('rkstorelocator/adminhtml_rkstorelocator_edit_renderer_officehours') ->setData(array( 'name' => 'office_hours', 'label' => Mage::helper('rkstorelocator')->__('Office hours'), …

2
我应该如何许可我的模块?
我有一个为公司编写的模块。它从我们的后台解决方案中获取数据并将其导入到Magento中。它还从Magento接收订单,并将其导入后台软件。我已经阅读了一些可以使用的许可证类型,但不知道要使用哪个许可证。我的基本要求是: 我不希望有人复制/分​​发代码作为自己的工作。 该代码由我自己编写,但是调用了核心的magento函数。 该模块可以免费下载,但要使用该模块,您需要一个由我公司提供的网络服务网址(在收到付款后)。 我希望能够将其分发到Magento的所有版本(GO(我认为)除外)。 考虑到上述两个问题: 哪种许可证最适合我的需求?(我还没有找到一份完整的清单来阅读它们)。 如何执行此许可证?在每个脚本的顶部添加一些术语足以确保许可证到位吗? 如果此信息包含在某处,请随时将我链接到该信息,但是经过搜索后,我找不到任何能特别满足我情况的信息。

3
Magento 1:改进我的模块开发工作流程(Modman,composer,git)
我已经想了很长时间,但是我找不到正确的方法来做。 所以基本上,我正在与6个不同的网站合作,它们都运行Magento CE 1.9.2+ 在这些网站上,我使用的是我和与我合作的团队开发的一堆扩展程序(在这里我们谈论的是50多个扩展程序),这些扩展程序的代码存储在Bitbucket上。所以我不是唯一管理这些扩展的人,我们是3个人进行开发的人。 目前,当我想为其中一个扩展添加功能/修复错误时,这是​​我的工作流程: 通过Modman在一个网站上安装扩展的最新版本 修复错误/添加功能/测试 手动将更改复制到包含我所有扩展名的本地文件夹中 通过GIT从此扩展文件夹提交并推送到Bitbucket(每个模块1个Bitbucket存储库) 然后可以通过Modman安装新版本的模块 重要说明:我在这里使用带有复制的modman,没有符号链接。 我最大的问题以粗体突出显示:我希望能够跳过此步骤,因为这是引起问题的主要原因(有时会忘记某些文件,错误的复制/粘贴,涉及人为的操作)。 因此,如何改善工作流程以摆脱此手动复制/粘贴步骤?我愿意在这里提出建议。

4
何时在自定义模块中调度事件?
这是关于Magento 1和Magento 2的问题。 我了解,作为一种好的做法,鼓励第三方模块开发人员在其自定义模块中调度事件,以使其更易于与其他模块一起使用。 我想知道: 开发人员应在哪里在自定义模块中调度事件? 有没有建议的地点来安排活动?例如,控制器,模型,块,助手,观察者? 调度事件如何影响性能?


2
如何定义系统配置的起始页(admin / system_config / index)?
我经常注意到,系统配置的起始页(System > Configuration在管理面板中)因安装而异。General > General我没有显示该部分,而是总是看到一个或另一个扩展的部分。 这是怎么发生的?这不是排序顺序,因为它也发生在General > General仍然是第一个选项卡的商店中。 更重要的是:如何防止这种情况或为系统配置定义自己的“主页”?

4
创建类别页面,显示所有特价产品
基本上,我创建了一个“待售产品”类别,我想自动在目录中包含已应用特殊价格的所有产品(通过目录>管理产品)。我希望页面保留标准Magento类别页面包含的分层导航和排序功能。 对于大多数Magento用户来说,这似乎是有价值的东西,但令我惊讶的是,它没有包含在核心功能中。 我已经尝试了十多个Stack Exchange答案,博客文章和论坛,但到目前为止没有任何效果。有人为此提供程序化解决方案吗? ===编辑=== 基于下面评论中@pspahn的评论,我决定寻求一种实现类似功能的替代方法。话虽如此,如果您有兴趣追求这一行,@ sander-mangel介绍了一种似乎完全可行的方法。

1
选择要基于Magento版本通过Composer安装的文件
在安装者的模块中包含多个版本的代码,并让安装者根据要安装的Magento版本确定要部署的版本,将非常方便。 例如,对于Magento> 1.7,请使用system.xml,其中包括tooltip,嵌套group功能和其他现代功能,但对于较旧版本的Magento,请使用文件的精简版本,其中不包含那些(破坏性)声明。 这种方法也可以用于标准模块结构中的许多其他文件。 对于作曲家部署的选项map,modman或package.xml据我所知,没有一个是有关于目标系统的任何情报。该package.xml选项不太可能更改,但map可以... 在我看来,将有许多扩展程序开发人员将从这种降级方法中受益。有没有人找到解决方法?

5
我应该将来自与我开发的扩展程序接口的第三方库的.php,.js,.html,.css文件放在哪里?
假设我要开发一个Magento扩展程序,该扩展程序可以与开放源代码图表程序包或图库或不属于该扩展程序本身的任何东西接口。下载(与扩展名分开)时,第三方库以其自己的单个.zip格式包含所有.php,.js,.html和.css。 我应该放在可怜的站点所有者上,谁希望将我的扩展程序与第3方lib一起安装,将原始第3方.zip分开并将它们放在.js在/ js中,.php在/ lib中的负担。 CSS在/皮肤等? 还是对于任何第3方.zip,都有一个公认的“垃圾场”,可以方便地按原样解压缩下载文件并完成它?

2
如何识别“电话回家”的分机?
有没有办法识别在后台将HTTP请求发送到远程服务器的代码? 我注意到,当我在开发机上收到不满意的邮件时,许多商店都需要很长时间才能加载,即使在本地主机上运行也是如此。 我的感觉是,由于我的连接不连贯,一些远程服务器需要很长时间才能响应。我想识别并删除这些请求,因为我担心它们还会降低实时安装的速度,例如,如果外部服务器关闭或速度缓慢...

1
配置页面上出现404错误
每次我安装新的扩展程序,并打开管理-系统-配置-模块选项时,都会出现404错误。 注销并登录会有帮助,但是如何避免这种情况呢?这个问题与管理员权限缓存有关,但是如何从安装脚本中以编程方式刷新它呢? 有任何想法吗?

2
安装扩展后无法登录到管理员
对于此内容的细微之处,我们事先表示歉意。 我出售Magento扩展程序。在最新版本中,我已经开始从一些用户那里收到奇怪的错误报告。具体来说,安装扩展程序后,他们报告无法登录到管理员,登录请求被重定向回登录页面,并且未显示任何错误消息。 因此,这听起来像是经典的“无法设置cookie /实例化会话”问题。如果这会很奇怪的是他们都能够3后登陆- 19小时(这是一个估计值)。换句话说,他们遇到问题,请与我联系以寻求支持,我回信,他们报告问题已消失。我还假设清除其cookie并建立一个新的会话ID将解决此问题,并将其推荐给遇到它的用户。 这里有没有人遇到类似的情况,或者可以想到发生这种情况的原因?我无法在本地重新创建该问题,但是我已经获得了足够的报告,我相信这是一个合法的问题。

6
Magento 2:目前无法在Controller中更改产品价格!
我试图这样更改我的产品的价格: Controller.php: [编辑] <?php namespace MassiveArt\ShoppingCart\Controller\Index; use Magento\Catalog\Model\ProductFactory; use Magento\Checkout\Model\Cart; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\Data\Form\FormKey; class Index extends Action { /** * @var FormKey */ protected $formKey; /** * @var Session */ protected $checkoutSession; /** * @var Cart */ protected $cart; /** * @var ProductFactory */ protected …

2
在哪里为Magento2创建自定义扩展?
一些文章鼓励在中创建自定义扩展,app/code而另一些文章鼓励在中创建自定义扩展vendor。这两种方法都行吗? 如果要覆盖其中的模块vendor怎么办?我是否还需要在vendor文件夹或中写入自定义模块app/code? 它们是否像Magento 1.x一样充当代码池? 请任何人阐明每个目录的用途。

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.