22

这是我长期以来一直在努力的事情。它首先从 Prestashop 开始,作为与我需要为整个网站制作的其他脚本或拼图的集成。我目前仍在使用 Prestashop 作为我的网上商店,但后来改用 Magento。

我切换到 Magento 是因为它具有复杂的灵活性,而且总体而言我认为它是最好的解决方案、最好的支持和最好的整体电子商务脚本。

话虽如此,我在 Prestashop 遇到的同样问题似乎是相同的,我将继续尝试将事物完美和谐地整合在一起的任何方面。

我有 Magento 设置,作为网站的主要部分,在 Magento 的子文件夹中,我将 Wordpress 安装在一个名为“articles”的文件夹中,我也将 FluxBB 作为我的消息论坛,因为它很简单,没有废话我不太关心的臃肿额外功能的负载,它们位于一个名为“论坛”的子文件夹中。

至此,我们知道 Magento、Wordpress 和 FluxBB 都有自己的用户管理方式;创建、管理和跟踪它们。

我想做的是找到将这三个和更多组合在一起的最佳方法,以使我的网站尽可能流畅和实用。在给才华横溢、乐于助人的 Alan Storm 发了电子邮件后,他告诉我,他所知道的最佳解决方案是进行他们都指向的第三方用户管理,并管理客户身份验证。我确实相信他的想法可能是最好的,但我想把它放在 StackOverFlow 上,我也可能把它发布到 Magento 上,以获得喜欢挑战的 magento 开发人员和聪明人的广泛了解。

我有几个想法,没有一个可能奏效,有些可能半途而废,或者一个可能只是可行的。但首先让我告诉你我到目前为止所取得的成就。我已经完成了必要的步骤来整合我的页眉和页脚的整体设计,所以基本上 Wordpress 和 FluxBB 被包装并包含在 Magento 的外部设计层中。因此,话虽如此,我也已经做到了 Magento 将通过说“Hello Guest”或“Hello User”来检查会话以查看用户是否登录到 Magento。这就是我停下来的地方,因为我超出了我的深度并需要帮助,无论是我们出于纯粹的挑战而共同创造的东西,还是有人说如果我付钱他们会帮助我,无论哪种方式我都喜欢完成。


脑屁#1:

调整 Wordpress 和 FluxBB 的用户表,使其更符合 Magento 的结构,如密码和用户名/电子邮件登录部分。其余字段可以分别保持原样用于帖子计数等。

从那里,我想弄清楚当客户从注册中创建时,Magento 中的哪个类将实际输入到数据库中。当我找到该代码时,我想扩展将用户凭据复制到 Wordpress 和 FluxBB 数据库中其他两个表中的能力。如有必要,它可以只是向 Wordpress 和 FluxBB 添加几个字段,如果这似乎是一个更好的主意,是的,我的意思是 Magento 创建的实际加密密码,我也希望它是安全的。

从那里开始,当我们知道客户在 Magento 注册时,数据被复制到其他两个表中,那么我们至少取得了进展,这个进展是否真的有效,还有待确定。

然后,我们以任何我们可以从 Wordpress 和 FluxBB 的方式禁用登录/注销和注册链接,因为它们将不再需要,因为我们希望用户通过 Magento 一个位置注册、登录和注销。

然后是我眼中有趣的部分,在他们订购产品、评论 wordpress 文章并可能发表评论、发送给朋友等时,让该死的会话在整个网站上持续进行……以及发布主题、回复等FluxBB 容量。

对我来说,这是创建字段或从 Magento 的客户注册中添加数据的地方,我可以检查他们是否已经登录到 Magento,从那里我们可以让它自我验证。这可能是过度杀戮,或者这可能只是它需要完成的方式。但对我来说,如果凭据位于所有三个数据库中,那么它们应该能够通过更改 Wordpress 和 FluxBB 中的代码或添加代码来进行验证。是的,我知道如果客户希望更改他们的信息,我们还必须对个人资料编辑和密码编辑做一些事情。

但这是我对此的第一个想法,无论这是否是正确的决定,我想听听这里的人的广泛知识,他们比我在 Magento、PHP 和其他一切方面拥有更多的经验和知识。


脑屁#2

由于 Magento 的复杂性以及它的整体设置方式,这个不合逻辑的想法对我来说似乎完全是一个外部延伸。

但是我们的想法是删除/编辑 Wordpress 和 FluxBB(以及任何其他第三方软件),以几乎忽略它自己的注册、登录、注销、编辑和查看 Magento 的凭据和建立新客户的方法。本质上使它们成为 Magento 的超大模块。

我只知道 Magento 的设置方式是模块化的,它的复杂性似乎需要更多的编码和故障排除才能做到这一点。


脑屁#3

转储 Wordpress 和 FluxBB 并查看 Magento Connection Store 中的模块,这些模块几乎具有我需要的所有功能,并且可以向它们添加缺少的内容,而不是尝试集成第三方软件。

我喜欢 Wordpress,我认为用一个模块来复制它,至少在我花了几个小时查看与 CMS/新闻相关的所有可用模块之后,这是一个艰难的决定。FluxBB 我可以接受或离开它,如果有人有一个已经可行的解决方案来使用 phpBB 或 vBulletin 或 SimpleMachines,我会选择他们。我宁愿它是免费的开源软件,不是因为我是一个便宜的滑板,而是因为我尽可能地支持开源。


脑屁#4

这可以是一个cookie吗,但只有在它们允许cookie时才有效,或者可以以某种方式添加到会话中以允许事物通过但Magento设置不同的会话或也允许你这样它们相互碰撞所以这个可能根本不是一个想法,也可能是一个想法。


我知道我没有给出我尝试过的事情的例子,我看过的文件或与之相关的任何东西,我很抱歉,我提供了一些相关的链接,但到目前为止没有发现任何与我想要完成的事情相匹配的链接。我试图将一些有趣的灾难性结果合并在一起。

链接示例?: http: //www.magentocommerce.com/wiki/doc/webservices-api/api/customer#customer.create http://www.magentogarden.com/blog/how-are-passwords-encrypted-in -magento.html http://www.nicksays.co.uk/magento_events_cheat_sheet/ http://www.magentocommerce.com/wiki/5_-_modules_and_development/customers_and_accounts/registration_fields 如何从 Magento 外部访问 Magento 客户的会话?

对此的任何帮助都会很好,我正在尝试同时处理网站的多个部分,而这很麻烦,我会说每个人都会发现它很难或发现它很难。有人喜欢挑战吗?:)

- - - - - 编辑:

我已经让 Magento 和 Wordpress 与在 CodeCanyon 的网站上找到的 James Kemp 的模块(Magento 和 Wordpress 的单点登录)完美地协同工作,我将对其进行调整以适用于 FluxBB 或我所做的任何其他事情。

只是传递信息......我看到这是被编辑的,不知道被编辑了什么并且不在乎。只是传递自发布此消息以来我发现的信息。

4

1 回答 1

1

我正在管理/自定义 magento+vanilla 论坛+在 Yii 框架中制作的自定义应用程序的组合。用户在应用程序之间“共享”。这两个链接都不好。正如 Alan 已经回复您的那样,正确的 SSO 将使用外部用户数据库/管理器。但是,并不是每个人都愿意为使用 magento 每周发布 1 篇论坛和每月 1 篇博客而重新编写三个应用程序。所以我们的选择就更少了。首先,如果您不想(很可能不想)重写正在更新和维护的已编写的开源项目的很大一部分,然后根据定期更新(您想要它们)维护您的更改,那么您必须将用户数据复制到三个数据库。除非您适应的项目有某种方法可以将用户数据作为插件或外部模块进行管理。

那么,如何实现呢?假设您选择 Magento 作为万事万物之母,您需要它导出一个 API 进行身份验证,这可能在使用 cookie 和 javascript 的浏览器上工作,但这相当棘手,或者您可以使用它的前端 cookie 来验证执行服务器的会话-来自子应用的服务器 API 请求。就“经典”SSO 而言,这是首选选项。从技术上讲,当您的用户打开论坛或博客时会发生什么,相应的应用程序会检测 magento 的 cookie 并检查会话是否有效以及用户是谁。如果找到用户,他的数据将被复制到博客或论坛表中。然后,您需要使用新创建的用户记录在博客或论坛应用程序上启动经过身份验证的会话。

到目前为止一切都很好,但还有一些工作。您需要在子应用程序中禁用用户配置文件管理或对其进行修改,以便 Magento 中保存的数据始终是正确的,并且您需要发明一些东西来将 Magento 的用户配置文件表示同步到孩子。最好连接到 Magento 的事件,因此每次用户更改他的个人资料时,数据都会在儿童应用程序中更新。但还有另一个。您可能希望保持某些数据应用程序的特定性,论坛上的显示名称不是 Magento 的 FirstName+LastName 所必需的,有些人希望将其保密。

以上就是我能回忆起的关于保持它运行的有趣事实。当然,我还遗漏了许多其他内容,或多或少是具体的。但希望我的评论可以帮助你放屁。

我们已经尝试评估其他选项,但没有重复数据的任何东西似乎都太昂贵而无法实施或维护。也许以后。有预算和时间。

于 2013-03-25T18:06:50.370 回答