Моя проблема в том, что я унаследовал запуск сайта с тикером в Твиттере, размещенным как абсолютный нижний колонтитул на странице.Администрация решила, что они не хотят, чтобы какие-либо ретвиты или @ упоминания были включены в канал.Я вижу, что канал агрегируется через Atom RSS.Я пытался просто изменить условия поиска, URL-адрес твиттера в коде C # и весь сайт завис.
К сожалению, я совершенно незнаком с C #, поэтому моя способность изменять этот код ограничена,в лучшем случае.
Веб-сайт создан с включениями для верхнего колонтитула, нижнего колонтитула, панели Twitter и т. Д.
Кроме того, запланированный запуск сайта состоится сегодня вечером в COB, поэтому готовится еще один плагинс нуля на самом деле не вариант.
Тикер вызывается на странице с этим (в коде отсутствуют открывающие и закрывающие скобки комментария, поэтому он будет отображаться здесь):
com.omniupdate.div label="ticker" path="/z-omniupdate/fakes/bfeo/2012/ticker.html"
bf2012:ticker runat="server"
/com.omniupdate.div
CSS это:
#ticker{
width: 100%;
height: 43px;
border-top: 1px solid #939241;
background: #bdcc2a url('/bfeo/2012/img/tweet-bg.gif') 0 0 repeat-x;
background: -moz-linear-gradient(#bdcc2a, #a9b625);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#a9b625), to(#e4c595));
background: -webkit-linear-gradient(#bdcc2a, #a9b625);
background: -o-linear-gradient(#bdcc2a, #a9b625);
position:fixed;
z-index: 1000;
bottom: 0;
}
#ticker p{
font-size: 15px;
color: #fff;
text-transform: uppercase;
float: left;
line-height: 43px;
margin-right: 10px;
}
.ticker-engage {
list-style: none;
padding: 0;
margin: 8px 0 0 0;
width: 108px;
height: 28px;
float: left;
}
.ticker-engage li{
display: inline;
}
.ticker-engage li a{
height: 28px;
width: 28px;
text-indent: -9999px;
float: left;
margin: 0 2px 0 0;
}
.ticker-engage li a.twitter{
background: url('/bfeo/2012/img/twitter-sm.png') 0 0 no-repeat;
}
.ticker-engage li a.facebook{
background: url('/bfeo/2012/img/facebook-sm.png') 0 0 no-repeat;
}
.ticker-engage li a.youtube{
background: url('/bfeo/2012/img/youtube-sm.png') 0 0 no-repeat;
}
#tweetlist{
list-style: none;
padding: 7px 20px 0 20px;
height: 36px;
width: 666px;
float: left;
background: url('/bfeo/2012/img/tweet-bg.gif') 0 0 repeat-x;
background: -moz-linear-gradient(#aab726, #98a322);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#aab726), to(#98a322));
background: -webkit-linear-gradient(#aab726, #98a322);
background: -o-linear-gradient(#aab726, #98a322);
font-size: 12px;
}
#tweetlist li{
display: inline;
}
#tweetlist li a:link, #tweetlist li a:visited{
color: #fff;
text-decoration: none;
font-weight: normal;
}
#tweetlist li a:hover, #tweetlist li a:focus{
text-decoration: underline;
}
#tweetlist li span{
color: #ffe400;
}
Ticker.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ticker.ascx.cs" Inherits="bf_controls_ticker" %>
<div id="ticker">
<div class="wrapper clearfix">
<p>Engage with us</p>
<ul class="ticker-engage">
<li><a class="facebook" target="_blank" href="http://www.facebook.com/booththinking">
Facebook</a></li>
<li><a class="twitter" target="_blank" href="http://twitter.com/booththinking">Twitter</a></li>
<li><a class="youtube" target="_blank" href="http://www.youtube.com/user/BoothThinking">
Youtube</a></li>
</ul>
<form id="form1" runat="server">
<div>
<ul id="tweetlist">
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</ul>
</div>
</form>
</div>
</div>
ticker.ascx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml;
using System.Text;
public partial class bf_controls_ticker : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(HttpGet("http://search.twitter.com/search.atom?q=booththinking"));
XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable);
ns.AddNamespace("at", "http://www.w3.org/2005/Atom");
ns.AddNamespace("twitter", "http://api.twitter.com/");
XmlNodeList entries = doc.DocumentElement.SelectNodes("//at:entry", ns);
//Response.Write(entries.Count);
StringBuilder sb = new StringBuilder();
foreach (XmlNode node in entries)
{
sb.Append(String.Format("<li><span>{2}:</span> <a href=\"{0}\">{1}</a></li>", node.ChildNodes[2].Attributes["href"].Value, node.ChildNodes[3].InnerText, node.LastChild.FirstChild.InnerText.Split(' ')[0]));
}
Literal1.Text = sb.ToString();
}
private string HttpGet(string URI)
{
System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
System.Net.WebResponse resp = req.GetResponse();
if (resp == null) return null;
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
string responsexml = sr.ReadToEnd().Trim();
sr.Close();
return responsexml;
}
}