页面上的动态内容

时间:2010-11-29 13:59:46

标签: dotnetnuke

我正在尝试将网站上的所有“内容”网页迁移到DNN5 Pro。

所以我刚刚在DNN中创建了所有页面,将HTML模块添加到ContentPane并从旧页面复制并粘贴了HTML内容。

问题在于,大多数页面都有一些经典的asp代码,它们执行一些次要的服务器端任务 - 例如,填充从DB中获取的价格的表格,根据他的IP地址预先选择用户的国家/地区,执行一些操作基本日期计算等。

显然,此代码在DNN中不起作用。

如果我必须迁移到PHP,我只需将这些代码从经典ASP重写为PHP,然后将值从PHP分配给smarty,然后在模板中使用它们。

但由于DNN具有完全不同的架构,我无法看到如何使用类似的方法。

HTML模块中的令牌替换功能看起来像我需要的,但它只允许“映射”DNN提供的令牌。

所以,也许任何人都有与DNN类似的问题和/或知道应该怎么做。

2 个答案:

答案 0 :(得分:1)

好像你试图颠覆DotNetNuke的整个观点。虽然肯定会有各种各样的hacky方法,你可以尝试使这个工作就像php网站一样,这样做是一个糟糕的主意。

相反,您需要评估php站点的每个动态部分,并查找或创建将复制该功能的DotNetNuke模块。

为了更快地进行初始转换,您可以使用简单的ASP样式内联脚本来构建您创建的模块,但是您绝对应该使用现有模块来处理在网格中显示数据的事情。

答案 1 :(得分:0)

您可以直接在皮肤文件中编写代码。做一些逻辑:

<%If PortalSettings.ActiveTab.TabID = 33 Then

//code here of what you want

End If%>

其中33是您要在其上运行自定义代码的页面的页面ID。还有其他方法可以创建外观对象或创建自定义模块,但这可能是最简单的方法。只需直接在你的皮肤上编写代码。或者为每个页面制作一份你的皮肤副本,你需要再次使用自定义代码,更优雅的方式,但这样就可以完成。