1

我有一个站点构建,它似乎在某种程度上适合 Magento,但客户实际上并不想出售任何东西 - 在选择产品的过程结束时,用户只会被重定向到另一个站点以完成交易(或不交易)。

我想避免完全从 Magento 中破解这些功能,以便我们可以在自动更新出现时升级网站......

以前有人做过这样的事情吗?还是常驻大师会推荐一个更“从头开始”的构建来重新创建必要的功能?


对不起,我应该说清楚,我开发人员。

我熟悉为其他平台编写模块/插件/主题 - 例如 Wordpress 和 Drupal - 特别是我的客户有一个“纯”核心结构,可以以通常的方式升级......但并非所有东西都有一个钩子在你想要的地方......你只能用 Wordpress 做很多事情(例如),直到它与平台的设计目标相去甚远,以至于你别无选择,只能破解核心。

所以我想我在问 - Magento 是否有所有正确的钩子?有没有人真正尝试过这样做?会不会很简单:

add_listener('checkout', my_func_without_checkout);

my_func_without_checkout() {
 stuff...
}

还是事务处理功能集成得如此紧密以至于难以完全删除?

4

2 回答 2

4

是的,Magento 非常适合这个,假设您雇佣了一个知道他们在做什么的开发人员。我推荐从头开始构建的唯一方法是,如果您的客户财力雄厚,并且想继续骑行。

Magento 的架构是从头开始构建的,允许用户在修改核心代码的情况下进行此类修改。从高层次上,您将构建一个模块(模块实际上意味着 Magento talk 中的某些东西,它不仅仅是一个通用术语),它将插入一个事件侦听器(或覆盖代码方法),该事件侦听器将在结帐过程中的某个时刻收集获取有关订单的信息并将其传递给下一个系统。

您将遇到的问题不是代码问题,而是文化问题。对于所有面向对象的架构,Magento 仍然是用 PHP 实现的。这意味着雄心勃勃但缺乏经验的开发人员(海上和陆上)将发现更容易破解核心资源以从系统中获得他们想要的结果。以这种方式获得结果总是更快,但代价是长期稳定性。

于 2010-10-01T16:42:47.243 回答
1

我可以根据个人经验推荐“没有销售的 Magento”方法(我称之为“目录驱动”)。

您可以禁用不需要的核心模块,这将显着提高性能。有一些依赖关系不是特别明显,所以需要一些试验和错误来禁用和测试。确保app/etc/modules/通过设置禁用模块,<active>false</active>因为在 Web Admin 中将它们设置为禁用只会禁用管理员呈现功能。

如果您可以达到合理的性能(并且有大量的 wiki 文章、博客文章等!),那么我没有发现这种方法有任何缺点,并且该框架有很多优点。它还使您有机会在不重写网站的情况下添加电子商务。

于 2010-10-02T03:06:05.743 回答