Greetings,

I have recently started using Drupal, currently Drupal 6.2. Recently I realized that the weight control of my blocks is not displaying. Actually it seems that they do show, but by the time the loading process is done they disappear does anyone know why this happens.

They say a picture is worth a 1000 words so a movie should be better. I have uploaded a recording of the problem in the following link: http://www.cs.fiu.edu/~fhern006/drupal_issue.htm

Thanks in advance.

Comments

emerygjr’s picture

I have the samt problem. It is also there is 6.1.

The major problem is that having many blocks in the same region will not allow the blocks to be ordered if there is more the 20. The weight starts at -10 and goes to +10. If there are more then 20 they all get +10 and those blocks cannot be reorded.

Making the weight dropdown persist would solve this problem.

Emery Gordon

Emery Gordon

CrazyMax’s picture

Thanks for the reply, I have only 3 blocks now and just realized that I have a similar problem. My blocks maintain the old weights from before the update, so even when I drag them to the location I want, the blocks that were lighter in the past still are so they come up on top regardless of my position.

It is good to know that I wasn't alone with this problem.

Thank you for the help.

Anonymous’s picture

Turning off javascript in your browser will cause the Weight fields to display. Doesn't let you do any more than changing the order by dragging and dropping, but at least you can see the weight values this way.

vm’s picture

you can turn Javascript off in your browser which will show you the dropdowns

Mike_Waters’s picture

For some reason, the <td> element that wraps the weight <select> has an inline style, "display:none;".

I grepped the drupal 6.5 source but did not see the string anywhere.

If you use the Firefox addon 'Firebug', you can change the element styles manually (to 'visible') and make the weight changes.

blaze’s picture

The problem is in the javaScript file /misc/tabledrag.js in line 137 , I removed this :

//parentTag == 'thead' ? cell.remove() : cell.css('display', 'none');

After that the weight are appear.

paskainos’s picture

I tried all the proposed fixes (to date) and this js fix was the only one that worked for me (tried with Context 2.x and 3.x enabled per this related issue: http://drupal.org/node/518350 ).

Thanks blaze. Nice catch.

forestmars’s picture

Suprised no one has mentioned this is a known Safari issue…

snorkers’s picture

I've got the same problem in many other browsers for a site that has *hundreds* of block. I think I've got so many that it's just too much for JS to deal with (if I try and move any block using drag and drop, there's a really long lag (5-10 seconds), drops it in the right-ish place, but it ends up being set to weight of -128 on save => display order is purely alphabetical within a region).

Only way I have to re-order blocks in FF or Saf4 is by disabling JS and using drop downs. It works but make my head hurt.

rimu’s picture

Yes, me too. I have many many blocks. It seems that when the weight reaches -128 the system is unable to deal with weights of less than that: -129, -130 and so on. Any block assigned to those weights gets reset back to -128 when the block list is saved.

I can see in the DB that the blocks table has a column called 'weight' which is of type tinyint(4). The MySQL docs say that the range of a tinyint is from -128 through to +128.

I'm going to change the type to a normal integer and see what happens...

pauligree’s picture

I changed the type of the column 'weight' in table 'blocks' from tinyINT to INT. Now the blocks sorting works.
I hope there will be not complications elsewhere.

I think a patch is required to solve the issue in a cleaner way.

paskainos’s picture

Okay, back to the drawing board (from my #2843462 above) it appears the heart of this issue centers around theme-centric regional allocation of the block(s) in question. This time around changing the weight type didn't help. But in piggy-backing on @pauligree's suggestion I found by simply adding the misbehaving block (in mysql) to the theme / region in question, all is well again in Drupal-block-land. If you're having this problem, my bet says if you look at the 'blocks' table in your db, the block in question will not be identified in the region corresponding to your active theme. Entering the region value for that block will magically make it behave.

anonymous07’s picture

Same disappearing block weight trick.

Drupal 6.19; using "Bluebreeze" theme and Firefox 3.6.8 (Linux or Windows)

Can't change the order of a few blocks in the same region no matter where I put them via drag & drop. Numeric wieghting shows for a split second while the page refreshes and then changes to just "Region" (Left sidebar, Right sidebar, etc).

Stomper’s picture

I am not sure whether I am suffering from this "disappearing" of the block weight control. It seems it doesn't show up at all or at least I can't remember ever seeing the option (is it supposed to or is it an additional module feature?).

I have two blocks assigned to the right region on the same page, I would like to change which block appears above the other (weight). I have no option to change the weight.

I am running Drupal 6.19 if it matters.

vm’s picture

If you want to set block weights manually; you disable javascript in your browser, refresh the blocks page and the weight dropdowns will appear.