This is the web site of Parva Design, a graphic and web design specialist and software provider. This site generally publicises the PageBlender product, a web design tool written by Parva Design.
Skip navigation

pageblender logo
the professional web building system
ABSOLUTELY FREE - download your copy now

Matrix

Matrix lines are quite a common requirement on the web. This one was inspired by the initial requirements of Glenn Crouch of ESB Consultancy http://www.esbconsult.com whose ideas have helped PageBlender grow.

We can use the power of the grid and the variable in PageBlender. First, setting up a variable for a grid line:

#define @matrixline <a href="%s="page"">%s="name"</a>|%s="p1"|%s="p2"|%s="p3"|%s="p4"|%s="p5"

Now we can use this variable in conjunction with the required parameters to form the matrix:

#grid stylegrid(border:1px solid #80FF00;font-family:Helvetica;font-size:0.8em) stripev=#BBFFBB header(#C0C0C0) style(text-align:center;) title(Component matrix) colstyles(text-align:left;border-bottom:1px dotted #80FF00,border-bottom:1px dotted #80FF00,border-bottom:1px dotted #80FF00,border-bottom:1px dotted #80FF00,border-bottom:1px dotted #80FF00,border-bottom:1px dotted #80FF00) padding(1) spacing(0)
Component|A|B|C|D|E
@matrixline[=page:#][=name:component1][=p5:*]
@matrixline[=page:#][=name:component2][=p4:*]
@matrixline[=page:#][=name:component3][=p4:*][=p5:*]
@matrixline[=page:#][=name:component1][=p3:*]
@matrixline[=page:#][=name:component2][=p3:*][=p5:*]
@matrixline[=page:#][=name:component3][=p3:*][=p4:*]
@matrixline[=page:#][=name:component1][=p3:*][=p4:*][=p5:*]
@matrixline[=page:#][=name:component2][=p2:*][=p5:*]
@matrixline[=page:#][=name:component3][=p2:*][=p4:*]
@matrixline[=page:#][=name:component1][=p2:*][=p4:*][=p5:*]
@matrixline[=page:#][=name:component2][=p2:*][=p3:*]
@matrixline[=page:#][=name:component3][=p2:*][=p3:*][=p5:*]
@matrixline[=page:#][=name:component1][=p2:*][=p3:*][=p4:*]
@matrixline[=page:#][=name:component2][=p2:*][=p3:*][=p4:*][=p5:*]
@matrixline[=page:#][=name:component3][=p1:*]
@matrixline[=page:#][=name:component1][=p1:*][=p5:*]
@matrixline[=page:#][=name:component2][=p1:*][=p4:*]
@matrixline[=page:#][=name:component3][=p1:*][=p4:*][=p5:*]
#nogrid

Component matrix
Component A B C D E
component1         *
component2       *  
component3       * *
component1     *    
component2     *   *
component3     * *  
component1     * * *
component2   *     *
component3   *   *  
component1   *   * *
component2   * *    
component3   * *   *
component1   * * *  
component2   * * * *
component3 *        
component1 *       *
component2 *     *  
component3 *     * *