To survive in the medium and long term, Drupal must pay its code debt and accept an object oriented paradigm... we can&#39;t always be inventing the wheel over and over and over again at such a high cost... reflection/introspection (everything should cheaply and automatically know what it is) is part and parcel of any modern approach to programming and architecture... to show that it is perfectly possible even in PHP, see: <a href="http://www.informit.com/articles/article.aspx?p=346958&amp;seqNum=5">http://www.informit.com/articles/article.aspx?p=346958&amp;seqNum=5</a><div>

<br></div><div>Recently there was a Talmudic discussion about what pattern to label Drupal (MVC, etc., etc.). Look, the bindings of an object with the fields of a form on the presentation level is confused completely here with the persistence of the node object. It&#39;s a disaster. And I&#39;m not sure that the &quot;fields in core&quot; breakthrough really solves the problem, despite its performance cost.<br>

<div><br></div><div>Victor Kane</div><div><a href="http://awebfactory.com.ar">http://awebfactory.com.ar</a></div><div><a href="http://projectflowandtracker.com">http://projectflowandtracker.com</a></div><div><br></div><div>

&quot;Make the capitalists pay the crisis, not the workers&quot;<br><br><div class="gmail_quote">On Sun, Dec 13, 2009 at 10:49 AM, James Benstead <span dir="ltr">&lt;<a href="mailto:james.benstead@gmail.com">james.benstead@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Thanks Ken &amp; Nancy - I&#39;m now wondering how I&#39;ve been writing modules for almost a year without realising the whole $node object is available from $form =).<div>

<br><div class="gmail_quote">2009/12/12 Ken Rickard <span dir="ltr">&lt;<a href="mailto:agentrickard@gmail.com" target="_blank">agentrickard@gmail.com</a>&gt;</span><div><div></div><div class="h5"><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF"><div>Check $form[#node]-&gt;type. If not empty, use that string. </div><div><br></div><font color="#888888"><div>



- Ken<br><br><div><br></div></div></font><div><div></div><div><div><br>On Dec 12, 2009, at 2:47 PM, James Benstead &lt;<a href="mailto:james.benstead@gmail.com" target="_blank">james.benstead@gmail.com</a>&gt; wrote:<br>



<br></div><div></div><blockquote type="cite"><div>I&#39;m writing a module that adds a field to the create/edit forms for nodes of certain types - the actual types can be chosen by the user. There are loads of ways to identify the type of the current node from within hook_form_alter(), but is there an accepted standard way to do it?<div>





<br></div><div>If I use $form[&#39;type&#39;][&#39;#value&#39;] I get &quot;Notice: Undefined variable&quot; warnings as my local server&#39;s error reporting is very verbose. I know I could change the error reporting level, but surely it&#39;s better practice to try and kill the bug?</div>





<div><br></div><div>And if I use $form_id I have to use nodetype_node_form and convert it to nodetype - and, as an aside, I can&#39;t find a PHP function to do this cleanly.</div><div><br></div><div>So, what&#39;s the accepted way to do this?<br clear="all">





--<br>Google Talk/Windows Live Messenger/AIM: <a href="mailto:james.benstead@gmail.com" target="_blank"></a><a href="mailto:james.benstead@gmail.com" target="_blank">james.benstead@gmail.com</a><br>Yahoo! Messenger/Twitter/IRC (Freenode): jim0203<br>



Jabber: <a href="mailto:jim0203@jabber.org" target="_blank"></a><a href="mailto:jim0203@jabber.org" target="_blank">jim0203@jabber.org</a> // ICQ: 7088050<br>

Skype: jimbenstead<br> <br>
</div>
</div></blockquote></div></div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>