But enforcing it through code is the way to go. I frankly didn't see it as evident at all. What I saw was that I added hook_block and everything just went haywire without a warning or an error. Really didn't have the slightest idea the theme was involved. After I found that out it was simply intuitive of course.
<br><br><div><span class="gmail_quote">On 4/26/07, <b class="gmail_sendername">Gabor Hojtsy</b> &lt;<a href="mailto:gabor@hojtsy.hu">gabor@hojtsy.hu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ashraf Amayreh wrote:<br>&gt; I ran into a very awkward bug today. I created a module and a theme for<br>&gt; a client, and naturally, this module contained customizations and the<br>&gt; theme was a custom made theme. I named the module and the theme with the
<br>&gt; client&#39;s name. Let&#39;s say the client was named abc so I created an abc<br>&gt; module and an abc theme. When I implemented the abc_block hook I was<br>&gt; surprised to find that all blocks disappeared on all pages. Further
<br>&gt; investigation into the core and I found that the culprit was the call to<br>&gt; theme(&#39;block&#39;) which mistakingly called abc_block thinking it was a<br>&gt; theme override function (rather than the hook it was).
<br>&gt;<br>&gt; I was wondering if this issue has been addressed before. I can think of<br>&gt; three possible solutions:<br>&gt; 1. Make it a standard that no theme and module should be named the same<br>&gt; (weak solution)
<br>&gt; 2. Change all theme(&#39;block&#39;) calls to something else so no chance of<br>&gt; conflict could occur<br>&gt; 3. Change the hook name so that it won&#39;t conflict with the theme call<br>&gt; 4. Any suggestions???
<br>&gt;<br>&gt; Either 2 or 3 seem good enough to solve the problem. But I thought I&#39;d<br>&gt; gouge some opinions before wasting time on a less-than-optimal patch.<br><br>I did face the same module name and theme name problem a few years back
<br>with Drupal (I still prefer PHP based themes with that .theme extension,<br>no PHPTemplate themes), so namespace clashing was evident. The solution<br>is not to have the same named module and theme. :)<br><br>Gabor<br>
</blockquote></div><br>