Today I've been messing with my sidebar a little more. I really like the new Digg Widgets, but I was having trouble styling them the way I wanted.
Solution: write my own. I figured why not. I've been messing with PHP5's xml classes and thought it would be fun. (Notice http://samsoffes.com/rss written entirely in PHP5's
SimpleXML class.) After struggling to open an external file with file_get_contents(), I resorted to using cURL...
// My feed from http://digg.com/users/samsoffes $feed = 'http://digg.com/rss/samsoffes/index2.xml'; // Use cURL $xmlstr = shell_exec('curl '.$feed); // Create and SimpleXML object $xml = new SimpleXMLElement($xmlstr); // Add the Digg XML name space $xml->registerXPathNamespace('digg', 'http://digg.com/docs/diggrss/');
It works well. I had some problems grabbing the digg count and had to use
xpath() method of the
SimpleXML class always returns an array. This is very annoying when you would expect it not to return an array if you only get one result.
Anyway, what I love about OO PHP is that I can put
$widget to the widget's view. It can then call
addCSS() in the widget class (that I made) which will then simply forward the request to my page class.
Where can you get these classes? I hope to release my Page, Sidebar, and Widget class sometime. There’s no demand for them now so I’m holding off for a bit. If you want them, simply email me.