Sql DotNetNuke查找具有特定文本的所有页面

Sql DotNetNuke查找具有特定文本的所有页面,sql,dotnetnuke,Sql,Dotnetnuke,我有一个DNN6安装(很快将是DNN7),我需要更新每个网页,链接到一个特定的网页到一个新的网页。。。我可以编写该查询,但我希望看到将要更新的实际页面的列表。。到目前为止,我有: select t.TabName -- Some sorcery to get page name -- from HtmlText h join Modules m on h.ModuleID=m.ModuleID join TabModules tm on m.ModuleID=tm.ModuleID join T

我有一个DNN6安装(很快将是DNN7),我需要更新每个网页,链接到一个特定的网页到一个新的网页。。。我可以编写该查询,但我希望看到将要更新的实际页面的列表。。到目前为止,我有:

select t.TabName -- Some sorcery to get page name --
from HtmlText h
join Modules m on h.ModuleID=m.ModuleID
join TabModules tm on m.ModuleID=tm.ModuleID
join Tabs t on tm.TabID=t.TabID

where Content like '%MyTextToFind%'
此查询返回包含文本的所有选项卡,但不返回包含文本的实际页面


如何获取实际页面?(页面路径将非常棒)。

有一些工具可以做到这一点,如果您从中查看Engage F3模块,您可以获得一个免费下载,它将搜索/替换所有HTML模块中的文本

免责声明:多年前我编写了F3的原始版本,但我不再是Engage的员工,也没有参与模块的最新版本

更新:由于DotNetNuke处理URL的方式,要获取页面的实际URL,您可能需要跳出SQL。如果你真的想在SQL中生成一个URL,你可以创建一个不友好的URL,比如

select t.TabName,
'http://MYWEBSITE.com/default.aspx?tabid=' + Cast(t.TabID as varchar) 
from HtmlText h
join Modules m on h.ModuleID=m.ModuleID
join TabModules tm on m.ModuleID=tm.ModuleID
join Tabs t on tm.TabID=t.TabID

这将生成一个“不友好”的url,该url可以工作,但显然没有页面名称。如果您在DNN中使用标准的人性化格式,您可以尝试在选项卡上使用“TabPath”列,并通过在末尾添加.aspx、删除双斜杠并将域名放在前面来构建URL。

我只是在寻找SQL解决方案。我确信这是可能的,我只是不确定我必须连接的表F3的源代码也可以从Engage获得。你的问题其实也不是问题,执行queryQuestion会产生什么问题。。(:我来看看资料来源。用更多的信息更新了答案…这就是我害怕的…好的…足够好了。谢谢