在umbraco 4.11中标记就像stackoverflow一样

时间:2013-03-16 19:44:50

标签: content-management-system umbraco umbraco-tags

即时通讯使用snipper标签系统,并遵循以下文章:

http://daniel.streefkerkonline.com/tag/umbraco/

我可以成功安装和使用snipper标签系统。但是当我浏览页面时..标签显示为文本,而不是超链接...

我错过了什么。它是一些javascript文件还是我缺少一些包含标签的步骤?

有什么想法吗? 这是我的页面: http://www.leezardpharma.com/pharmacy/our-products/weight-loss-medicine/gastro1.aspx

这里相关的标签是因为剪刀而已。但它们无法点击。

3 个答案:

答案 0 :(得分:0)

如果您需要创建带有选项的标签以显示已标记的产品,那么您可以创建名为../search.aspx?tag=tagname的新页面 然后搜索该TAG中的产品,代码如下:

@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>
}

你可以参考这篇文章,因为我已经检查过click here了一半,你会看到这段代码

让我知道更多解释需要。我已对此进行了评论,以便您可以获得代码的简要说明。

答案 1 :(得分:0)

你确定你这样做了吗?

<ul>
  @foreach (var node in matchingNodes)
  {
    dynamic dn = new DynamicNode(node.Id);

    <li><a href="@dn.Url">@dn.Name</a></li>
  }
</ul>

这里看起来不对,你在哪里展示你的标签: enter image description here

这两个链接来自哪里?

没有javascript或任何想要的东西。这都是在服务器端的剃须刀中完成的。

答案 2 :(得分:0)

我编写了狙击手标记控件。

如果您想要标签的友好网址, 创建一个重写规则来映射/标记/([\ w] *)重写到tagsearch.aspx?tag = $ 1 然后实现tagsearch.aspx以获取该标记参数并返回包含它的任何页面,如上所述。