WidgetYAMLSubtemplates Class Reference
Prints YAML subtemplates. More...
 
Public Member Functions | 
|
| __construct ($arr_data, $arr_slotswidths, $cls) | |
| render ($policy=self::NONE) | |
Static Public Member Functions | 
|
| static | output ($arr_data, $arr_slotswidths, $cls= '') | 
| Output a subtemplate.  | 
|
Public Attributes | 
|
| const | SLOTS_2_25_75 = '25_75' | 
| Two cols à 25% and 75%.  | 
|
| const | SLOTS_2_33_66 = '33_66' | 
| Two cols à 33% and 66%.  | 
|
| const | SLOTS_2_50 = '2' | 
| Two cols à 50%.  | 
|
| const | SLOTS_2_66_33 = '66_33' | 
| Two cols à 33% and 66%.  | 
|
| const | SLOTS_2_75_25 = '75_25' | 
| Two cols à 75% and 25%.  | 
|
| const | SLOTS_2_GOLDEN_RATIO_LEFT = 'golden_ratio_left' | 
| Two cols with golden ratio, smaler col on
the left.  | 
|
| const | SLOTS_2_GOLDEN_RATIO_RIGHT = 'golden_ratio_right' | 
| Two cols with golden ratio, smaler col on
the right.  | 
|
| const | SLOTS_3_33 = '3' | 
| Three cols à 33%.  | 
|
| const | SLOTS_4_25 = '4' | 
| Four cols à 25%.  | 
|
| const | SLOTS_5_20 = '5' | 
| Five cols à 20%.  | 
|
| const | SLOTS_AUTO = 'AUTO' | 
| Automatically detect (= 100/count(data)).
 | 
|
Protected Member Functions | 
|
| create_slots ($slotwidths) | |
| translate_slot ($slot) | |
Protected Attributes | 
|
| $cls | |
| $data | |
| $slotwidths | |
Detailed Description
Prints YAML subtemplates.
Definition at line 5 of file yamlsubtemplates.widget.php.
Constructor & Destructor Documentation
| WidgetYAMLSubtemplates::__construct | ( | $ | arr_data, | |
| $ | arr_slotswidths, | |||
| $ | cls | |||
| ) | 
Definition at line 66 of file yamlsubtemplates.widget.php.
00066 { 00067 $this->data = $arr_data; 00068 if (is_array($arr_slotswidths)) { 00069 $this->slotwidths = $arr_slotswidths; 00070 } 00071 else { 00072 $this->slotwidths = $this->translate_slot($arr_slotswidths); 00073 } 00074 $this->cls = $cls; 00075 }
Member Function Documentation
| WidgetYAMLSubtemplates::create_slots | ( | $ | slotwidths | ) | [protected] | 
Definition at line 124 of file yamlsubtemplates.widget.php.
00124 { 00125 $ret = array(); 00126 $c = count($slotwidths); 00127 for($i = 0; $i < $c; $i++) { 00128 $appendix = 'l'; 00129 $appendix_sub = ''; 00130 if ($i == ($c - 1)) { 00131 $appendix = 'r'; 00132 $appendix_sub = 'r'; 00133 } else if ($i == 0) { 00134 $appendix_sub = 'l'; 00135 } 00136 $ret[] = array('cls' => 'c' . $slotwidths[$i] . $appendix, 'subc' => 'subc'. $appendix_sub); 00137 } 00138 return $ret; 00139 }
| static WidgetYAMLSubtemplates::output | ( | $ | arr_data, | |
| $ | arr_slotswidths, | |||
| $ | cls = '' | 
|||
| ) | [static] | 
Output a subtemplate.
- Parameters:
 - 
$arr_data Array of HTML elemtns for subtemplates $arr_slotwidths Either array of slot widths, or One of the SLOT_* constants  
Definition at line 61 of file yamlsubtemplates.widget.php.
00061 { 00062 $w = new WidgetYAMLSubtemplates($arr_data, $arr_slotswidths, $cls); 00063 return $w->render(); 00064 }
| WidgetYAMLSubtemplates::render | ( | $ | policy =
self::NONE | 
) | 
Implements IRenderer.
Definition at line 110 of file yamlsubtemplates.widget.php.
00110 { 00111 $slots = $this->create_slots($this->slotwidths); 00112 $ret = ''; 00113 while(count($this->data)) { 00114 $row = ''; 00115 foreach($slots as $slot) { 00116 $row .= html::div(html::div(array_shift($this->data), $slot['subc']), $slot['cls']); 00117 $row .= "\n"; 00118 } 00119 $ret .= html::div($row, 'subcolumns ' . $this->cls) . "\n"; 00120 } 00121 return $ret; 00122 }
| WidgetYAMLSubtemplates::translate_slot | ( | $ | slot | ) | [protected] | 
Definition at line 77 of file yamlsubtemplates.widget.php.
00077 { 00078 switch ($slot) { 00079 case self::SLOTS_AUTO: 00080 $c = count($this->data); 00081 if ($c > 0) { 00082 return array_fill(0, $c, floor(100/$c)); 00083 } else { 00084 return array(50, 50); 00085 } 00086 case self::SLOTS_2_33_66: 00087 return array(33, 66); 00088 case self::SLOTS_2_66_33: 00089 return array(66, 33); 00090 case self::SLOTS_2_25_75: 00091 return array(25, 75); 00092 case self::SLOTS_2_75_25: 00093 return array(75, 25); 00094 case self::SLOTS_2_GOLDEN_RATIO_LEFT: 00095 return array(38, 62); 00096 case self::SLOTS_2_GOLDEN_RATIO_RIGHT: 00097 return array(62, 38); 00098 case self::SLOTS_3_33: 00099 return array(33, 33, 33); 00100 case self::SLOTS_4_25: 00101 return array(25, 25, 25, 25); 00102 case self::SLOTS_5_20: 00103 return array(20, 20, 20, 20, 20); 00104 case self::SLOTS_2_50: 00105 default: 00106 return array(50, 50); 00107 } 00108 }
Member Data Documentation
WidgetYAMLSubtemplates::$cls
[protected] | 
Definition at line 53 of file yamlsubtemplates.widget.php.
WidgetYAMLSubtemplates::$data
[protected] | 
Definition at line 52 of file yamlsubtemplates.widget.php.
WidgetYAMLSubtemplates::$slotwidths
[protected] | 
Definition at line 51 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_25_75 = '25_75' | 
Two cols à 25% and 75%.
Definition at line 13 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_33_66 = '33_66' | 
Two cols à 33% and 66%.
Definition at line 21 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_50 = '2' | 
Two cols à 50%.
Definition at line 9 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_66_33 = '66_33' | 
Two cols à 33% and 66%.
Definition at line 25 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_75_25 = '75_25' | 
Two cols à 75% and 25%.
Definition at line 17 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_GOLDEN_RATIO_LEFT = 'golden_ratio_left' | 
Two cols with golden ratio, smaler col on the left.
Definition at line 29 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_2_GOLDEN_RATIO_RIGHT = 'golden_ratio_right' | 
Two cols with golden ratio, smaler col on the right.
Definition at line 33 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_3_33 = '3' | 
Three cols à 33%.
Definition at line 37 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_4_25 = '4' | 
Four cols à 25%.
Definition at line 41 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_5_20 = '5' | 
Five cols à 20%.
Definition at line 45 of file yamlsubtemplates.widget.php.
| const WidgetYAMLSubtemplates::SLOTS_AUTO = 'AUTO' | 
Automatically detect (= 100/count(data)).
Definition at line 49 of file yamlsubtemplates.widget.php.
The documentation for this class was generated from the following file:
- contributions/css.yaml/view/widgets/yamlsubtemplates.widget.php
 
