Newbie questions about Pliant

Newbie questions about Pliant

How can I merge cells in a table? (i need something like col span in HTML)

Message posted by maybe Jana on 2003/07/11 17:41:22
Ok, what i am trying to do is mimic html function "col span", so i can merge
cells. For example in a table with 4 columns and 2 rows, I want to be able to 
have something like this:
 __________________________
|______|___________________|
|______|______|______|_____|

This is what i tried to do: 

in "html_tag cell" i added the following line:

 attr colspan Int                     
    
and in "style_open cell" i added these two lines:

 if has:colspan   
  write " colspan=[dq]"+(string colspan "html")+"[dq]"

Here is an example of what i got (not what i want) using the code:

table columns 4 border 1   
 cell    
  [cell 1 - row 1]   
 cell colspan 3   
  [cell 2, 3, 4 - row 1]   
 cell    
  [cell 1 - row 2]   
 cell   
  [cell 2 - row 2]   
 cell   
  [cell 3 - row 2]   
 cell   
  [cell 4 - row 2]   
  
http://playground.scs.ryerson.ca:8083/public_html/index.html


Thanks in advance for help!!!
Message posted by hubert.tonneau on 2003/07/11 18:13:49
First, you need to use a 85 experimental pre release because advanced styling
is not supported in release 84.

Second, you have to be sure that in module /pliant/protocol/http/style/default.style
you have:

  style_open cell
    if (attribute table cursor)<>undefined and (attribute table cursor)%(attribute table columns)=0
      write "<tr>[lf]"
    write "<td"
    if has:color
      write " bgcolor=[dq]"+(string color "html")+"[dq]"
    eif has:header
      write " bgcolor=[dq]"+(string header_color "html")+"[dq]"
    write_attributes # THAT LINE WAS MISSING IN THE EXPERIMENTAL RELEASE
    write ">"
    var Pointer:ColorRGB888 fc :> attribute font color
    if (attribute font family)<>"" or fc:r<>0 or fc:g<>0 or fc:b<>0
      write "<font face=[dq]"+(attribute font family)+"[dq] color=[dq]"+(string fc "html")+"[dq]>"

Now, the code in your .page will be:

table border 1   
  row
    cell
     [cell 1 - row 1]   
    cell colspan 3
      [cell 2, 3, 4 - row 1]   
  row
    cell
      [cell 1 - row 2]   
    cell   
      [cell 2 - row 2]   
    cell   
      [cell 3 - row 2]   
    cell   
      [cell 4 - row 2]   

Please notice that I've removed the 'columns' parameter in the 'table'
instruction, and inserted explicit 'row' instructions because since Pliant
is not awared of 'colspan', it would not insert the 'row' instructions at
the right place automatically.
Message posted by maybe Jana on 2003/07/11 18:54:19
Oh! It works!!! Thanks.