[development] theme/module name conflict

Larry Garfield larry at garfieldtech.com
Thu Apr 26 00:28:15 UTC 2007


When I setup our automated install scripts at work for creating new Drupal 
projects, I specifically set it up to have a site-specific module named 
<sitename> and a theme named <sitename>theme.  Since the majority of the code 
in <sitename>theme/template.php has a phptemplate_ prefix anyway, it's not 
really that weird to type.  

Option 1 is the current standard, since PHP doesn't offer true namespacing and 
I don't think it's expected to for the foreseeable future.  If writing your 
own code, keeping in mind potential permutations of the things you name is 
probably a good idea for that reason.

On Wednesday 25 April 2007 5:41 pm, Ashraf Amayreh wrote:
> Hello all,
>
> I ran into a very awkward bug today. I created a module and a theme for a
> client, and naturally, this module contained customizations and the theme
> was a custom made theme. I named the module and the theme with the client's
> name. Let's say the client was named abc so I created an abc module and an
> abc theme. When I implemented the abc_block hook I was surprised to find
> that all blocks disappeared on all pages. Further investigation into the
> core and I found that the culprit was the call to theme('block') which
> mistakingly called abc_block thinking it was a theme override function
> (rather than the hook it was).
>
> I was wondering if this issue has been addressed before. I can think of
> three possible solutions:
> 1. Make it a standard that no theme and module should be named the same
> (weak solution)
> 2. Change all theme('block') calls to something else so no chance of
> conflict could occur
> 3. Change the hook name so that it won't conflict with the theme call
> 4. Any suggestions???
>
> Either 2 or 3 seem good enough to solve the problem. But I thought I'd
> gouge some opinions before wasting time on a less-than-optimal patch.
>
> Thanks :-)

-- 
Larry Garfield			AIM: LOLG42
larry at garfieldtech.com		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson


More information about the development mailing list