假设您正在运行Django站点,并且有一个遗留的PHP论坛来支持和集成到您的站点,因为当前的Django论坛解决方案还不够成熟.
做这个的最好方式是什么?
目前我有一个简单的视图,它呈现了一个非常简单的模板,它扩展了我的网站的基本模板,而内容区域只有一个<IFRAME>将论坛保存为其中src.一个小的jQuery函数用于最大化<IFRAME>高度(一旦完成加载),以便包含100%的论坛内容.
但所有这些听起来都很尴尬.你会怎么做?
有几个选择.没有一个是理想的(但混合两个平台永远不会!)
使用你建议的iframe(不好,因为地址栏中的地址总是django页面的地址,如果有人在论坛上处理链接,那将是PHP论坛,而不是django持有者)
使用iframe但不是一直使用iframe src,解析URL并将相对位附加到iframe的src上.即如果django看到/forum/this-url,请将src设置为http://forum-address/this-url并确保所有链接都是目标parent.这样做的好处是始终在地址栏中显示正确的链接(而不是始终是/ forum /).您需要破解论坛才能使其正常运行.
代理内容并将其正确地注入页面.您需要传递cookie,它可能会变得非常混乱,但在大多数情况下,这是一种很好的集成方式,因为您的链接始终是正确的.你需要屠杀你的论坛主题,去除外面的一切,包括<body>标签.
以与Django站点相同的方式为您的论坛设置主题.这将提供最佳性能,但如果您在django模板中使用动态内容,则可能会遇到问题.解决这个问题的一个选择是让django模板将内容缓存到内存缓存并使用php-memcache将它们拉出到您的论坛模板中.
我过去做过3和4.我用3表示一个非常简单的表格(所以不必像你那样处理cookie和会话).我使用4将FluxBB论坛集成到Wordpress安装中.这两个PHP,但在 Wordpress中加载FluxBB将是超级膨胀.我将动态模板的内容缓存到memcache中,然后在论坛模板中将它们拉出来.
为此,我可能建议选择#4.这是一个痛苦的屁股必须保持两个主题,但它是迄今为止表现最快的解决方案.
| 归档时间: |
|
| 查看次数: |
1655 次 |
| 最近记录: |