some secret to using theme('table'...) ?
Hmmm... I have the following logic in a module's hook_view() creating a table out of programmatically generated information: $header = array(t($node->title), t('Values:')); $rows = array(array('<strong>Project status:</strong>', $statusMarkup), array('<strong>Notes:</strong>', $node->content['body']['#value']), array('<strong>Images:</strong>', $imagesMarkup), array('<strong>Image Tags:</strong>', $imageTagMarkup), array('<strong>Reconstructions:</strong>',$reconsMarkup), array('<strong>Actions:</strong>', $actionsMarkup)); $table = theme('table', $header, $rows, array('style' => 'width: 770px', 'class' => 'form-item')); $node->content['body']['#value'] = $table; Notice that portion where I declare the width of the table to only be 770px? That is being ignored... I've tried variations like: array( 'width' => '770px', ...) [note not 'style' here] and array( 'style' => 'width: 77px;', ...) [note added semicolon here] When I don't use the 'style' attribute, the sticky-header gets a style setting with the width set to '877.617px;', so it looks like the 'style' usage is what I need, but I'm not finding the magic combination... any advice? Sincerely, -Blake
I have never been able to control a table in HTML. It always has to be in the CSS. Nancy Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr. ________________________________ From: Blake Senftner <bsenftner@earthlink.net> To: development@drupal.org Sent: Thu, October 28, 2010 9:14:04 PM Subject: [development] some secret to using theme('table'...) ? Hmmm... I have the following logic in a module's hook_view() creating a table out of programmatically generated information: $header = array(t($node->title), t('Values:')); $rows = array(array('<strong>Project status:</strong>', $statusMarkup), array('<strong>Notes:</strong>', $node->content['body']['#value']), array('<strong>Images:</strong>', $imagesMarkup), array('<strong>Image Tags:</strong>', $imageTagMarkup), array('<strong>Reconstructions:</strong>',$reconsMarkup), array('<strong>Actions:</strong>', $actionsMarkup)); $table = theme('table', $header, $rows, array('style' => 'width: 770px', 'class' => 'form-item')); $node->content['body']['#value'] = $table; Notice that portion where I declare the width of the table to only be 770px? That is being ignored... I've tried variations like: array( 'width' => '770px', ...) [note not 'style' here] and array( 'style' => 'width: 77px;', ...) [note added semicolon here] When I don't use the 'style' attribute, the sticky-header gets a style setting with the width set to '877.617px;', so it looks like the 'style' usage is what I need, but I'm not finding the magic combination... any advice? Sincerely, -Blake
Theme table works like a charm, here's one example I took out my current project (and stripped it from unneeded stuff) so you can just copy it, and see that setting style works (D6): <?php $rows = array(); $rows[0][0] = array('data' => '1'); $rows[0][1] = array('data' => '2'); $rows[0][2] = array('data' => '3'); $rows[0][3] = array('data' => '4'); $rows[0][4] = array('data' => '5'); $rows[0][5] = array('data' => '6'); $rows[0][6] = array('data' => '7'); $rows[1][0] = array('data' => 'a'); $rows[1][1] = array('data' => 'b'); $rows[1][2] = array('data' => 'c'); $rows[1][3] = array('data' => 'd'); $rows[1][4] = array('data' => 'e'); $rows[1][5] = array('data' => 'f'); $rows[1][6] = array('data' => 'g'); print theme_table(array(), $rows, array('class' => 'a-table-class', 'style'=> 'width: 400px;'), NULL); ?> If it doesn't display as expected, check if you've maybe overridden theme_table in your theme. On Thu, 2010-10-28 at 18:14 -0700, Blake Senftner wrote:
Hmmm... I have the following logic in a module's hook_view() creating a table out of programmatically generated information:
$header = array(t($node->title), t('Values:')); $rows = array(array('<strong>Project status:</strong>', $statusMarkup), array('<strong>Notes:</strong>', $node->content['body']['#value']), array('<strong>Images:</strong>', $imagesMarkup), array('<strong>Image Tags:</strong>', $imageTagMarkup), array('<strong>Reconstructions:</strong>', $reconsMarkup), array('<strong>Actions:</strong>', $actionsMarkup)); $table = theme('table', $header, $rows, array('style' => 'width: 770px', 'class' => 'form-item')); $node->content['body']['#value'] = $table;
Notice that portion where I declare the width of the table to only be 770px? That is being ignored... I've tried variations like:
array( 'width' => '770px', ...) [note not 'style' here] and array( 'style' => 'width: 77px;', ...) [note added semicolon here]
When I don't use the 'style' attribute, the sticky-header gets a style setting with the width set to '877.617px;', so it looks like the 'style' usage is what I need, but I'm not finding the magic combination...
any advice?
Sincerely, -Blake
participants (3)
-
Blake Senftner -
nan wich -
Nikola Kotur