OK, got this taken care of, and in quite a painless way. The reason I was trying to use a theme function was because I (mistakenly) thought that getting rid of the divs put around the added form element was causing the problem. Actually, the display problems are caused by the margin and padding settings for the tabledrag handle, which cause the fields to combine together. Since the handle is simply added to the first column on the page, I just added an empty column at the beginning of the table in my override of theme_nodequeue_arrange_subqueue_form. Thus, the tabledrag handle gets put in the empty column by itself, and everything lines up nice and neat.

Steve

-------- Original Message --------
Subject:        Re: [development] Error defining parameters in hook_theme
Date:   Mon, 07 Dec 2009 13:47:09 -0800
From:   Steve Edwards <[email protected]>
To:     [email protected]
References: <[email protected]> <[email protected]>



Actually, I have everything working as I need it for my required functionality, except for the display of the title as an editable text field. I can save the data in my table and reorder the items using the default nodequeue functionality just fine; it's just the display of the field as a textfield which is causing the problem (see http://drupal.org/node/653574 for details). My reason for trying to use a #theme function for this field was that it appears that the div that is put around the form item in theme_form_item (being called through hook_form_alter) was what was causing the display problem, so I was going to remove it by overriding theme_form_item for that field. I don't think overriding theme_nodequeue_arrange_subqueue_form would work, since the div that is causing the problem is introduced in hook_form_alter. Unless I change the field type in there.... Hmmm...

All I need is to get the display of the field working properly; everything else is working as I need it. I'm so close I can taste it...

Thanks.

Steve



Ezra B. Gildesgame wrote:
It seems like you're touching on a relatively common feature for
Nodequeue: Displaying fields from the nodes while changing the
subqueue order.

3rd from the top of the Nodequeue issue queue is
http://drupal.org/node/299111, which has an example from one developer
that might be helpful if it's applicable to Nodequeue 6.x. It's
probably easier easier to just theme the whole
nodequeue_arrange_subqueue_form (we have
theme_nodequeue_arrange_subqueue_form) and tweak the presentation of
this field there, since much of the node object is available as part
of the form.

Ultimately though I think the best and most re-usable solution for
your apparent end goal is what's proposed at
http://drupal.org/node/568100 -- Implementing the Nodequeue ordering
interface as a Views style plugin. Then we could display any field
with Views support and non-developers could customize the interface
for their use case (photo gallery, album mp3 track listing, etc).

For the question about how #theme works, it might be helpful to
checkout drupal_render(), which checks for $element['theme'], print
out the lone argument passed to your custom theme function, and/or see
http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#theme.

Cheers,

Ezra

On Mon, Dec 7, 2009 at 4:06 PM, Steve Edwards <[email protected]> wrote:
I need to replace the title with a text field and use a custom theme
function



Ezra Barnett Gildesgame | http://growingventuresolutions.com | http://ezra-g.com



Reply via email to