Content management system umbraco 4.11中的标签与stackoverflow一样
im使用snipper标签系统和以下文章: 我可以成功安装和使用snipper标签系统。但是当我浏览页面时..标签显示为文本而不是超链接 是的,我错过了什么。是javascript文件还是我遗漏了一些包含标签的步骤 有什么想法吗? 这是我的页面:Content management system umbraco 4.11中的标签与stackoverflow一样,content-management-system,umbraco,umbraco-tags,Content Management System,Umbraco,Umbraco Tags,im使用snipper标签系统和以下文章: 我可以成功安装和使用snipper标签系统。但是当我浏览页面时..标签显示为文本而不是超链接 是的,我错过了什么。是javascript文件还是我遗漏了一些包含标签的步骤 有什么想法吗? 这是我的页面: 这里,由于snipper的原因,相关的标记出现了。但是它们是不可点击的。如果您需要创建标记作为链接选项来显示标记的产品,那么您可以创建名为../search.aspx?tag=tagname的新页面 然后搜索该标签中的产品,代码如下: @inher
这里,由于snipper的原因,相关的标记出现了。但是它们是不可点击的。如果您需要创建标记作为链接选项来显示标记的产品,那么您可以创建名为../search.aspx?tag=tagname的新页面 然后搜索该标签中的产品,代码如下:
@inherits umbraco.MacroEngines.DynamicNodeContext
@using System.Text
@using umbraco.MacroEngines
@using umbraco.cms.businesslogic.Tags
@{
string searchFor = Request["tags"];
if(string.IsNullOrEmpty(searchFor))
{
@* No tags were specified *@
<p>Please specify a tag to search for</p>
return;
}
// this is to search from the tags added and then get all the nodes
var matchingNodes = Tag.GetNodesWithTags(searchFor).ToList();
string tagsText = searchFor.Split(',').Count() > 1 ? "tags" : "tag";
if (matchingNodes.Count < 1)
{
@* No results were found for the specified tags *@
<p>No tagged items were found that matched the @tagsText: @searchFor</p>
return;
}
@* Some results were found for the specified tags *@
<p><strong>@matchingNodes.Count</strong> products were found that matched the @tagsText: "@searchFor"</p>
<ul>
// go through the code and create URL for that product
@foreach (var node in matchingNodes)
{
dynamic dn = new DynamicNode(node.Id);
<li><a href="@dn.Url">@dn.Name</a></li>
}
</ul>
}
@继承umbraco.MacroEngines.dynamicontext
@使用System.Text
@使用umbraco.macro引擎
@使用umbraco.cms.businesslogic.Tags
@{
字符串searchFor=Request[“tags”];
if(string.IsNullOrEmpty(searchFor))
{
@*未指定任何标记*@
请指定要搜索的标记
返回;
}
//这是从添加的标记中进行搜索,然后获取所有节点
var matchingNodes=Tag.GetNodesWithTags(searchFor.ToList();
字符串tagsText=searchFor.Split(',').Count()>1?“标记”:“标记”;
if(matchingNodes.Count<1)
{
@*未找到指定标记的结果*@
未找到与@tagsText:@searchFor匹配的标记项
返回;
}
@*找到指定标记的一些结果*@
@matchingNodes.Count找到了与@tagsText:“@searchFor”匹配的产品
//检查代码并为该产品创建URL
@foreach(匹配节点中的var节点)
{
动态dn=新的动态节点(node.Id);
}
}
您可以参考这篇文章,因为我已经检查过了,中途您将看到这段代码
如果需要更多的解释,请告诉我。我已经对此进行了注释,以便您能够了解代码的简介。您确定要这样做吗
<ul>
@foreach (var node in matchingNodes)
{
dynamic dn = new DynamicNode(node.Id);
<li><a href="@dn.Url">@dn.Name</a></li>
}
</ul>
@foreach(匹配节点中的var节点)
{
动态dn=新的动态节点(node.Id);
}
这里有些东西看起来不对劲,你正在显示你的标签:
这两个链接来自哪里
不需要javascript或任何花哨的东西。这一切都是在服务器端的razor中完成的。我编写了狙击手标签控件 如果您想要标签的友好URL, 创建重写规则以映射/tags/([\w]*)重写到tagsearch.aspx?tag=$1
然后实现tagsearch.aspx以获取该标记参数,并返回包含该参数的所有页面,如上所述。Hi Ankur感谢您的回答。这是有用的,虽然不完全是我想要的。我希望标签url和stackoverflow一样。嗨,Daniel,在我实现Ankur的代码后,你看到了链接。现在我可以有链接,但我想要的是stackoverflow类型的标记URL。