There are some theme hooks declared by drupal core. For example, theme('item_list', $list, '', 'ul') will turn your array into an unordered list. The hook that's called is line includes/theme.inc:1806 in drupal 7. If you look through theme.inc, you can find other standard drupal theme hooks.<div>
<br></div><div>The wonderful thing about theme hooks is you can override them in your theme's template.php file or with template files (see <a href="http://drupal.org/node/173880">http://drupal.org/node/173880</a>)<br>
<div><br></div><div>David Landry<br><br><div class="gmail_quote">On Sat, Sep 3, 2011 at 11:58 AM, Warren Vail <span dir="ltr"><<a href="mailto:warren@vailtech.net">warren@vailtech.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<u></u>
<u></u>
<div lang="EN-US" link="blue" vlink="blue">
<div>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Has any standard set of these functions
evolved like listing headers, odd/even detail lines, line specific buttons, or
checkboxes?<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">I would think that themes would eventually
need to have a standard set of these functions in order to avoid losing control
over theme inter-changability, especially when employing things like jquery’s
scrollable listings.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"><u></u> <u></u></span></font></p>
<div>
<p class="MsoNormal"><em><b><i><font size="2" color="navy" face="Arial Black"><span style="font-size:10.0pt;font-family:"Arial Black";color:navy;font-weight:bold">Warren
Vail</span></font></i></b></em><font color="navy"><span style="color:navy"><u></u><u></u></span></font></p>
</div>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">
<hr size="2" width="100%" align="center">
</span></font></div>
<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma">
<a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a> [mailto:<a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>David Landry<br>
<b><span style="font-weight:bold">Sent:</span></b> Saturday, September 03, 2011
10:21 AM</span></font></p><div><div><font size="2" face="Tahoma"></font></div><div class="h5"><font size="2" face="Tahoma"><br>
<b><span style="font-weight:bold">To:</span></b> A list for theme developers<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [themes] theme
dependencies</font></div></div><u></u><u></u><p></p>
</div><div><div></div><div class="h5">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Ahh, yes a module can declare theme hooks so that other things can
theme the output of the module. It's perfectly safe to use these
module-specific theme hooks in your theme because of the way the drupal hook
system works. As far as the PHP parser is concerned, you're just declaring a
new function. If the module that uses that theme hook is present, it'll call
that function to theme its output. If the module that uses that theme hook
isn't there, the function will never be called.<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">David Landry<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">On Fri, Sep 2, 2011 at 10:06 PM, Warren Vail <<a href="mailto:warren@vailtech.net" target="_blank">warren@vailtech.net</a>> wrote:<u></u><u></u></span></font></p>
<div link="blue" vlink="blue">
<div>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Sorry I miss spoke (or typed).</span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">There is mention in many of the Drupal programming books of theming
functions that can be invoked by a module. I don’t understand them
fully yet, but I believe some of them are standard and others may not be.
I believe the idea is to make sure the theming is kept separate from the data,
even if some of the theming is data dependent (something that proponents of
separation tend discount), a compromise at best.</span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font><u></u><u></u></p>
<div>
<p class="MsoNormal"><em><b><i><font size="2" color="navy" face="Arial Black"><span style="font-size:10.0pt;font-family:"Arial Black";color:navy;font-weight:bold">Warren Vail</span></font></i></b></em><u></u><u></u></p>
</div>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">
<hr size="2" width="100%" align="center">
</span></font></div>
<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma"> <a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a> [mailto:<a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a>]
<b><span style="font-weight:bold">On Behalf Of </span></b>David Landry<br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, September 01, 2011
5:03 PM</span></font><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma"><br>
<b><span style="font-weight:bold">To:</span></b> A list for theme developers<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [themes] theme
dependencies</span></font><u></u><u></u></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><u></u><u></u><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Warren</span></font><u></u><u></u>,<u></u><u></u></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">I'm not sure I
understand what you mean by "theming modules." The first thing that
comes to mind is something like <a href="http://drupal.org/project/html5_tools" target="_blank">HTML5 Tools</a>. The <a href="http://drupal.org/project/html5_base" target="_blank">HTML5 Base</a>
theme is "designed to go with HTML5 Tools," but HTML5 Tools does its
magic before anything reaches the theme layer, leaving no reason for the theme
to call any HTML5 Tools functions.<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">David Landry<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">On Thu, Sep 1,
2011 at 4:38 PM, Warren Vail <<a href="mailto:warren@vailtech.net" target="_blank">warren@vailtech.net</a>> wrote:<u></u><u></u></span></font></p>
<div link="blue" vlink="purple">
<div>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:11.0pt;color:#1F497D">David,</span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:11.0pt;color:#1F497D"> </span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:11.0pt;color:#1F497D">Doesn’t the opposite exist where modules request specific
theming modules? Is there a standard set of theming modules yet, or must
you just test to see if the function exists?</span></font><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:11.0pt;color:#1F497D"> </span></font><u></u><u></u></p>
<p class="MsoNormal"><b><i><font size="2" color="#365f91" face="Times New Roman"><span style="font-size:11.0pt;color:#365F91;font-weight:bold;font-style:italic">Warren Vail</span></font></i></b><u></u><u></u></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:11.0pt;color:#1F497D"> </span></font><u></u><u></u></p>
<p class="MsoNormal"><b><font size="2" face="Times New Roman"><span style="font-size:10.0pt;font-weight:bold">From:</span></font></b><font size="2"><span style="font-size:10.0pt"> <a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a>
[mailto:<a href="mailto:themes-bounces@drupal.org" target="_blank">themes-bounces@drupal.org</a>]
<b><span style="font-weight:bold">On Behalf Of </span></b>David Landry<br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, September 01, 2011
2:17 PM<br>
<b><span style="font-weight:bold">To:</span></b> A list for theme developers<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [themes] theme
dependencies</span></font><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">It's bad practice
for themes to have module dependencies like that. There is no centralized
standard for tracking modules that a theme depends on. You'll have to go
through the entire theme looking for references to modules.<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">If you want to be
kind to the next person who has to maintain the site, you could break out any
template code that has module dependency as a custom module or Feature, so that
the module dependencies can be declared.<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">David Landry<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">On Thu, Sep 1,
2011 at 3:09 PM, Bert Van Kets <<a href="mailto:mailing@vankets.com" target="_blank">mailing@vankets.com</a>> wrote:<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Hi all,<br>
<br>
is there any easy way to know what modules a theme is depending on?<br>
I have a theme from a Drupal 6 site with a multitude of installed<br>
modules. When I use the theme on a plain vanilla Drupal install a blank<br>
page is installed.<br>
I really do not want to go through all the tpl files to see what modules<br>
are referenced. How is a problem like this tackled?<br>
<br>
Thanks.<br>
<br>
Bert<br>
_______________________________________________<br>
themes mailing list<br>
<a href="mailto:themes@drupal.org" target="_blank">themes@drupal.org</a><br>
<a href="http://lists.drupal.org/mailman/listinfo/themes" target="_blank">http://lists.drupal.org/mailman/listinfo/themes</a><u></u><u></u></span></font></p>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><br>
_______________________________________________<br>
themes mailing list<br>
<a href="mailto:themes@drupal.org" target="_blank">themes@drupal.org</a><br>
<a href="http://lists.drupal.org/mailman/listinfo/themes" target="_blank">http://lists.drupal.org/mailman/listinfo/themes</a><u></u><u></u></span></font></p>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <u></u><u></u></span></font></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><br>
_______________________________________________<br>
themes mailing list<br>
<a href="mailto:themes@drupal.org" target="_blank">themes@drupal.org</a><br>
<a href="http://lists.drupal.org/mailman/listinfo/themes" target="_blank">http://lists.drupal.org/mailman/listinfo/themes</a><u></u><u></u></span></font></p>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u></u> <u></u></span></font></p>
</div>
</div></div></div>
</div>
<br>_______________________________________________<br>
themes mailing list<br>
<a href="mailto:themes@drupal.org">themes@drupal.org</a><br>
<a href="http://lists.drupal.org/mailman/listinfo/themes" target="_blank">http://lists.drupal.org/mailman/listinfo/themes</a><br>
<br></blockquote></div><br></div></div>