所以每个人和他们的妹妹现在都是“Magneto Expert”大声笑......
似乎很多有这种说法的人都(已经)学会了如何破解和修改主题 - 并在管理中打开和关闭功能 - 但实际上并不具备编写Magento自定义模块的技能。
那么Magento Custom Modules(物理意义上的)是什么?如果他们被写成具有最高标准的最严格的专业性,这是否意味着他们是有效的“自包含”脚本,可以放置在任何Magento商店和任何其他商店(Drupal,Joomla,自定义php)?
如果我正在招聘/寻找一位优秀的Magento开发人员,我怎么知道他们是否真的知道如何编写Magento Custom Modules?
答案 0 :(得分:3)
1 - Magento模块是一组文件,可以干净地放入(并从中移除)Magento以添加或更改功能。由于需要进行更多根本性的更改,因此将这些文件隔离开来更加困难,但通常可以完成。 Magento模块不能在不同的购物车中重复使用,因为Magento的框架与任何其他购物车不同。
2 - 获取代码示例并让中立人员审核该代码。让他们解释在Magento发展的陷阱。要求他们在开发模块时必须做出一些权衡。询问他们开发的困难模块。
这不是一份详尽的清单,但你明白了这一点。
答案 1 :(得分:1)
您可以向开发人员询问一些简单的问题,即您正在考虑为您开发一些自定义模块。
Q1:自定义模块的代码在结构中的位置在哪里?
A1:有几个地方可以并且将会驻留,你想让它完全独立于magento核心。对于应该驻留在app / code / local或app / code / community中的代码,模板/视图代码应该位于app / design / frontend / default / yourcustomnamespace / modulename或app / design / frontend / custominterfacename / yourcustomnamespace / modulename中(这是任何扩展了magento的人都应该知道的事情)
Q2:你可以向他们询问观察者及其与magento和目的的关系
A2:任何具有扩展magento功能的人都应该具有观察者的经验,并且知道他们是模型的一部分并且应该驻留在模型目录中,并且能够为您提供一些如何观察的示例一个事件。还需要在模块XML中定义它们,即:
<events>
<checkout_type_onepage_save_order_after>
<observers>
<SomeNameSpace_Observer_increment>
<type>singleton</type>
<class>Namespace_Module_Model_Observer</class>
<method>increment</method>
</SomeNameSpace_Observer_increment>
</events>
和模型方法接受一个事件参数。 即:
public function doSomeStuff (Varien_Event_Observer $observer) {
execute some stuff in here
}
我认为如果有人可以向您解释这些类型的事情,那么您可以假设他们知道magento并且可以为您创建自定义模块。
当然,我在这里的回答有点令人费解和罗嗦,但我认为你明白了。