Questions tagged «development»

与Magento中的自定义(PHP)开发有关的问题(与仅安装和配置它有关)

5
如何编写自定义扩展名?
因为我最近在免费和商业扩展方面遇到了很多问题,所以我决定问这个问题,并按照编写扩展时通常遵循的步骤回答。随时编辑答案或添加新答案。 在大多数情况下,安装扩展程序或主题时,我必须花费几个小时(有时更多,有时更少)才能使其在我需要的所有环境中正常工作: dev:通常localhost项目在子文件夹中 预生产和现场 即使来自大型扩展程序提供商的扩展程序,也发生了这种情况(至少应该保持匿名,直到我非常生气并在此处添加其名称为止)。 所以主要问题是..编写扩展程序以确保质量时应考虑哪些步骤?代码,并使技术人员和非技术人员更容易使用它,并使技术人员更容易更改它?


5
学习Magento插件开发
我从事PHP开发已有13年以上,只要有其他一些流行的项目(如WordPress),就对PHP本身有广泛的了解。我没有Magento的经验。 我现在有一个全职工作,在一家使用Magento的公司工作,我的所有开发工作现在几乎都将在Magento上进行。 第一次看了Magento之后,我的最初想法是,哇,我现在对自己有什么看法?但是后来我中经验丰富的开发人员出现并记住,那只是PHP。 因此,我有一些基本的Magento问题,非常感谢经验丰富的Magento开发人员提供的一些答案... 在该网站旁,最理想的学习magento开发的地方是什么? 到目前为止,扩展程序/插件对我还是很困惑。诸如WordPress之类的其他平台允许您将插件放置在其自己的文件夹中,所有文件都位于该文件夹下。从目前为止我所看到的,一个插件可能分散在Magento的多个文件夹中,这是正确的吗? 我已经了解了如何覆盖核心功能。因此,如果核心文件位于此处,/app/code/core/Mage/SitemapModel/Resource/Catalog则可以通过在此位置创建文件来覆盖它,/app/code/local/Mage/SitemapModel/Resource/Catalog那么它如何与扩展/插件一起使用?如果我创建了一个需要超越核心功能的插件,那么我必须在各处放置文件才能使该扩展正常工作吗? 您是否希望从magento开始了解其他信息? 感谢您的见解,我知道这是一个多部分的问题,但是我认为任何答案都对自己和其他起步有帮助,如果需要的话,我将制作此公共Wiki。

6
Magento 2中的清除主题/ CSS缓存
在为Magento 2商店设置主题时,建议的清理缓存的方法是什么? 我编辑.less文件,然后我现在做 rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/* 但这似乎是蛮力方法。 php bin/magento cache:flush --all 似乎做不到。 有更好的吗?

11
Magento2在本地主机开发上运行如此缓慢
我最近开始开发magento2新的扩展或自定义项,我的第一印象是一场噩梦。我所做的每项更改都必须等待20到30秒?真? 我说的是开发模式,我知道在启用缓存的生产环境中,网站可以保持顺畅。但是,当我处理扩展名或布局问题时,我需要删除静态文件,清除缓存等。 我的问题是,你们所有M2开发人员如何工作?因为我认为您不必等待20到30秒钟来刷新页面... 我的环境:我的电脑是具有8GB RAM的“好” i5。我需要使用Windows,所以我要使用vagrant: 使用所有4核CPU 使用5120MB的RAM Ubuntu / trusty64-Ubuntu 14.04 PHP版本7.0.12-1 + deb.sury.org〜trusty + 1 MariaDB-10.1.18-MariaDB-1〜可信任 Magento 2.1.2仅与sampledata一起安装(没有安装更多模块) (问我是否想知道更多) 到底发生了什么事? 通常,M2响应正常,缓慢但可以,大约5到10s来加载页面,但是有时(比通常更频繁)它永远卡住了!有时是第一页,有时是css,js,html文件,但问题始终出在TTFB上。 我也看到了设置向导的问题...与angular.js这些文件永远存在... 这2张图片是关于在设置向导中导航的。 然后另一个浏览前端目录: 我到底在问什么? 这正常吗?你们在这个时间工作吗?我和一些同事评论了这一点,我们只是不相信,我必须像这样工作吗?有时候,我总是无所适从地等待着观看屏幕... 如果有人要我向他展示测试,例如创建新产品或类似的东西,他只是吓跑了...创建新订单,填写字段,每个字段都执行一个持续5-6s的js ... 我不知道,但是用这些东西开发我感到很不好...

4
在开发人员模式下以及何时需要哪些编译命令?
有人可以在Magento 2开发人员模式下运行哪些编译命令时给我指示吗?我不确定我是否理解正确。 在devdocs中,开发人员模式描述如下: 静态视图文件不被缓存;每次调用它们时,它们都会写入Magento pub / static目录 这是否意味着在请求pub / static中的每个文件时都会生成该文件,而您无需调用它setup:static-content:deploy?这与我的经验相矛盾。还是可以删除任何文件并将它们重新生成?此外,图像,CSS和JS文件似乎也有不同的对待。 开发人员模式文档页面上没有任何关于代码编译的内容,但是我认为也存在差异,因此不必setup:di:compile在di.xml文件中的所有更改之后运行。这是正确的吗?如果是这样,代码生成如何在开发人员模式下工作? 换句话说:除了高速缓存,在更改后我需要运行哪些命令?

2
Magento开发设置
这个问题是针对建立开发环境。我有一些具体要求: 我希望能够在Linux,Windows和Mac OS下使用我的解决方案,因为我们团队的人们都使用所有这些OS(例如,前端开发人员使用Windows / Mac,后端开发人员大多使用Linux) 我需要使用modman 我需要使用作曲家 我需要使用Github以及我的私有Git存储库 我需要像Netbeans或PHP Storm这样的适当IDE 我想要很好的表现 我当前的设置是Virtualbox中的虚拟化Ubuntu映像。这三个操作系统都可以运行Virtualbox,因此满足点1)-5)。 但是,目前,我对6)并不完全满意。在Ubuntu 12.04中运行解决方案时尤其如此。在Windows 7下,Virtualbox似乎更稳定,响应速度更快。但是,我们团队中的许多人都在使用Linux,因此我想改进该解决方案。 是否有人在VMWare中甚至在docker.io中都有类似的设置,并且可以报告它是否运行更稳定?还是有人有其他类似的解决方案/想法?

2
为什么禁用状态从2改为0?
任何magento开发人员的问题: 为什么启用的产品的状态为1,而禁用的产品的状态为2?通常情况下,“启用”或“活动”或任何状态为1,反之则为0。请问magento在这里使用2的原因吗?


4
Magento开发工作流程:如何从Test magento安装中“获取控制”数据库并更新实时Magento安装?
我发布这个问题是因为我想知道对于想要管理在线商店各个方面的人来说,最佳的开发工作流程是什么。 当然,与所有Web开发一样,拥有整个软件解决方案的实时副本和至少一个开发副本当然非常重要。但是,管理Magento东西并不像管理其他“基于文件”的软件那样,因为还有一个数据库组件在起作用,因此,除了我可以使用Git之类的工具作为VCS工具进行源代码控制之外,我要管理实时版本和开发版本之间的数据库差异? 我当然可以通过cron备份实时数据库,然后将备份中的SQL INSERT语句插入到源代码管理中,但是此后,两个数据库将分别发展,而客户一方面注册并下订单,然后再进入实时数据库,然后因为分别对开发数据库进行了更新。当要合并开发版本和实时版本时,可以通过git毫无问题地更新php文件(在托管数据库配置详细信息的单个文件上使用gitignore),但是数据库文件呢?如何合并两个备份中包含INSERT SQL语句的两个文件,而不会造成灾难和破坏系统? 这是我所面临的Magento开发生命周期的阴暗区域:管理数据库差异。 在我看来,就像同步Magento商店的开发/测试版本和实时版本之间不同的数据库内容的唯一解决方案一样,是在纸上写下通过Magento管理面板对开发版本所做的所有更改,并希望不要犯任何错误,然后在对所有内容进行测试并工作归档之后,转到在线版本,并在Magento脱机并进入维护模式时进行完全相同的更改。由于这是一个手动过程,因此容易出错。 那么,什么是处理测试magento服务器与实时magento服务器之间数据库同步的更好方法? 谢谢。

4
如何找到可靠的Magento开发人员?
我是一家在eBay上出售的新兴企业的所有者,但我一直在与Magento后端合作,建立带有模板的商店。一段时间后,我对模板感到厌倦,因为我觉得它没有我想要的特定功能或外观。因此,我创建了一个主题已布局的PSD,并正在寻找可以对Magento服务执行PSD的人。 似乎在我所看到的任何地方,我得到的报价或答案都非常不同,现在我比以往任何时候都更加困惑。一些公司告诉我,由于我的业务量很小,Magento绝对不是我的选择,而且我将无法负担Magento所需的维护费用。其他公司想说他们可以做我需要的一切,而且报价都非常好,但是后来由于价格便宜和在线评论,我对他们的工作质量感到怀疑。我也看过Magento之外的解决方案,它们似乎没有提供我想要或需要的功能。 我想我的问题是,Magento是否真的需要太大的成本来考虑小型企业?如果不是,您将如何建议寻找开发人员并研究其工作的质量/价值?在实现任何自定义功能之前,您认为PSD到Magento主题的成本的合理范围是什么?$ 2,000- $ 5,000?$ 5,000至$ 10,000?更多? 谢谢你的时间!

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

3
如何更改事件传递的字符串?
在观察者函数中,我得到了事件传递的变量,如下所示: public function observerFunc(Varien_Event_Observer $observer) { $sth = $observer->getEvent()->getSth(); } 如果sth是一个对象,我可以通过在其上调用方法来对其进行更改。但是,sth如果它是一个简单的字符串,该如何更改?我尝试了以下操作但未成功: public function observerFunc(Varien_Event_Observer $observer) { $sth = $observer->getEvent()->getSth(); $observer->getEvent()->setSth('test'); $observer->setSth('test'); } 我刚刚了解到,某些事件还传递了一个传输对象,在该对象中可以更改字符串(感谢Alex),但是该事件page_block_html_topmenu_gethtml_after不能。那我该怎么办? 有问题的事件是这样发送的,我想更改$ html: $html = $this->_getHtml($this->_menu, $childrenWrapClass); Mage::dispatchEvent('page_block_html_topmenu_gethtml_after', array( 'menu' => $this->_menu, 'html' => $html ));

4
为什么属性代码具有最大长度?
尝试创建属性时,我发现属性代码的最大长度为30个字符。事实证明,这实际上并不是某种真正的限制-它是一个完全任意的值,由 Mage_Eav_Model_Entity_Attribute::ATTRIBUTE_CODE_MAX_LENGTH. 因此,既然如此,为什么会有限制呢?以及为什么默认值为30,而不是实例255(数据库列的实际限制)? PS。如果有人可以为这个问题想到更好的标签,请更新它们。

1
Magento2从分阶段迁移到实时站点
我没有找到有关网站滚动开发的有效过程的太多信息,因此我可以在暂存中添加自定义模块和其他文件更改,然后使用magento2将这些更改推送到我的网站的实时副本中。 在Magento 1.9中,我们只是对文件进行了git克隆,并且git提取了准备用于实时站点的所有更改,如果我的暂存站点处于开发人员模式并且实时站点处于生产中,则这显然不适用于magento2。 涉及最少现场停机时间的最佳实践是什么?(如果可能的话,没有停机时间是最佳的)

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.