Sean Fulmer, I love you
... with a teaser like that you just have to click through, don't you?
Ok... so it's not the kind of hot man-on-man action you were (maybe) hoping for. But you have to admit, SmartPortlets is just a damn good idea:
SmartPortlets lets you define portlets based on Smart Folders (Topics) using a control panel configlet.
Yes. With Plone 2.1, Smart Folders (formerly known as Topics) took a huge leap forward because made them easy to create and manage. That is really cool.
But there is so much more we can do to make it easy for non-technical site administrators to quickly build powerful query-driven pages, portlets and more. SmartPortlets points squarely in the right direction. As Sean points out, sooner or later, PlonePortlets (or its successor) will probably obsolete this specific tool, but tools like this that push the power of Plone into end-user space are exactly the kinds of things we need more of.
Another great example of this is RichTopic, from David "Siebo" Siedband, which simply slaps an HTML body on top of a normal Smart Folder view. But that simple combination gives you the ability to create incredibly powerful pages that combine static content with a dynamic listing of content, all without writing code or leaving the beautiful Plone UI.
Awesome
Great product. Thanks Sean!
How would I go about customizing the look of a specific portlet? I've figured out how to modify the look of all of them (/portal_skins/SmartPortlets/smartportlet), but not just one.
Figured it out...
I was overthinking things.
Customize the smartportlet page template, rename it, change the portlet link in the portal properties to here/smartportlets_tool/portletname/newportlettemplate
Hope that helps others.
If you know how to do that...
...then you don't really need SmartPortlets ;)
Seriously though - if you need to do structural changes, then that's the way to do it.
If you just want to style a specific smartportlet differently, each smartportlet is wrapped in a DIV with an id based on the id of the smartportlet object. So, if you have a smartportlet object with an id of foo, then the portlet itself has an id of smartportlet-foo. You can then use CSS to style everything that's a child of div.smartportlet-foo.
Dammit
and the SmartPortlets are wrapped in a DL, not a DIV.
Well, it got *my* attention!
It's not often I see my name in a headline... I believe you owe me a keyboard, as my current one is inundated with coffee!
Glad you like SmartPortlets - I plan to extend it to enable portlet generation from any of the default content types, and possibly any content type... it's all a precursor to an feed-related project that, judging from your prior posts re: feeds, I think you'll appreciate :)