the second formatter, first we check if the module popups is active in the system, and then we add our formatter array that makes use of it. 2. Implement hook_theme In hook_theme() you also return an array of arrays, defining the theme_ functions that will take care of rendering the cck field content. 'element' will be the content of the cck field, that will be used as the parameter for our theme function. In the second function , first we put inside the variable $nid the nid of the referenced node, in order to build the id that we'll use on the link ($link_id). We need this so that we can tell popups to only use the js on those specific link. That way we avoid having to scan the whole document for popup links, making our site faster in the front end. Conclusion. Imagine for example, that your module also provides a default view. You can then use this view to pull out information depending on the content of a cck field. Any cck field that is using your formatter. No longer would you have to write complex and hard to maintain code in your template.php. You could just assign your formatter to any new field you create on any content type, reusing the same code. 14 responses to this article. Intimately, the article is really the sweetest on this worthwhile topic. I harmonise with your conclusions and will eagerly look forward to your approaching updates. Just saying thanks