Public Member Functions | |
addCss ($name, $params="") | |
addJs ($name, $params="") | |
addCssIe ($name, $params="") | |
addJsIe ($name, $params="") | |
addItem ($type, $name, $params=null, $if=null, $cond=null) | |
removeItem ($type, $name) | |
getCssJsHtml () | |
getChunkedItems ($items, $prefix='', $maxLen=450) | |
getContentType () | |
getMediaType () | |
getCharset () | |
setTitle ($title) | |
getTitle () | |
getDefaultTitle () | |
getDescription () | |
getKeywords () | |
getRobots () | |
getIncludes () | |
Protected Member Functions | |
_construct () |
Definition at line 34 of file Head.php.
_construct | ( | ) | [protected] |
Internal constructor, that is called from real constructor
Please override this one instead of overriding real __construct constructor
Please override this one instead of overriding real __construct constructor
Reimplemented from Mage_Core_Block_Abstract.
Definition at line 36 of file Head.php.
addCss | ( | $ | name, | |
$ | params = "" | |||
) |
addCssIe | ( | $ | name, | |
$ | params = "" | |||
) |
addItem | ( | $ | type, | |
$ | name, | |||
$ | params = null , |
|||
$ | if = null , |
|||
$ | cond = null | |||
) |
Definition at line 65 of file Head.php.
00066 { 00067 if ($type==='skin_css' && empty($params)) { 00068 $params = 'media="all"'; 00069 } 00070 $this->_data['items'][$type.'/'.$name] = array( 00071 'type' => $type, 00072 'name' => $name, 00073 'params' => $params, 00074 'if' => $if, 00075 'cond' => $cond, 00076 ); 00077 return $this; 00078 }
addJs | ( | $ | name, | |
$ | params = "" | |||
) |
addJsIe | ( | $ | name, | |
$ | params = "" | |||
) |
getCharset | ( | ) |
Definition at line 196 of file Head.php.
00197 { 00198 if (empty($this->_data['charset'])) { 00199 $this->_data['charset'] = Mage::getStoreConfig('design/head/default_charset'); 00200 } 00201 return $this->_data['charset']; 00202 }
getChunkedItems | ( | $ | items, | |
$ | prefix = '' , |
|||
$ | maxLen = 450 | |||
) |
Definition at line 165 of file Head.php.
00166 { 00167 $chunks = array(); 00168 $chunk = $prefix; 00169 foreach ($items as $i=>$item) { 00170 if (strlen($chunk.','.$item)>$maxLen) { 00171 $chunks[] = $chunk; 00172 $chunk = $prefix; 00173 } 00174 $chunk .= ','.$item; 00175 } 00176 $chunks[] = $chunk; 00177 return $chunks; 00178 }
getContentType | ( | ) |
Definition at line 180 of file Head.php.
00181 { 00182 if (empty($this->_data['content_type'])) { 00183 $this->_data['content_type'] = $this->getMediaType().'; charset='.$this->getCharset(); 00184 } 00185 return $this->_data['content_type']; 00186 }
getCssJsHtml | ( | ) |
Definition at line 86 of file Head.php.
00087 { 00088 // return ''; 00089 $lines = array(); 00090 $baseJs = Mage::getBaseUrl('js'); 00091 $html = ''; 00092 00093 $script = '<script type="text/javascript" src="%s" %s></script>'; 00094 $stylesheet = '<link rel="stylesheet" type="text/css" href="%s" %s />'; 00095 $alternate = '<link rel="alternate" type="%s" href="%s" %s />'; 00096 00097 foreach ($this->_data['items'] as $item) { 00098 if (!is_null($item['cond']) && !$this->getData($item['cond'])) { 00099 continue; 00100 } 00101 $if = !empty($item['if']) ? $item['if'] : ''; 00102 switch ($item['type']) { 00103 case 'js': 00104 #$lines[$if]['other'][] = sprintf($script, $baseJs.$item['name'], $item['params']); 00105 $lines[$if]['script'][] = $item['name']; 00106 break; 00107 00108 case 'js_css': 00109 //proxying css will require real-time prepending path to all image urls, should we do it? 00110 $lines[$if]['other'][] = sprintf($stylesheet, $baseJs.$item['name'], $item['params']); 00111 #$lines[$if]['stylesheet'][] = $item['name']; 00112 break; 00113 00114 case 'skin_js': 00115 $lines[$if]['other'][] = sprintf($script, $this->getSkinUrl($item['name']), $item['params']); 00116 break; 00117 00118 case 'skin_css': 00119 $lines[$if]['other'][] = sprintf($stylesheet, $this->getSkinUrl($item['name']), $item['params']); 00120 break; 00121 00122 case 'rss': 00123 $lines[$if]['other'][] = sprintf($alternate, 'application/rss+xml'/*'text/xml' for IE?*/, $item['name'], $item['params']); 00124 break; 00125 } 00126 } 00127 00128 foreach ($lines as $if=>$items) { 00129 if (!empty($if)) { 00130 $html .= '<!--[if '.$if.']>'."\n"; 00131 } 00132 if (!empty($items['script'])) { 00133 $scriptItems = array(); 00134 if (Mage::getStoreConfigFlag('dev/js/merge_files')) { 00135 $scriptItems = $this->getChunkedItems($items['script'], 'index.php?c=auto&f='); 00136 } else { 00137 $scriptItems = $items['script']; 00138 } 00139 foreach ($scriptItems as $item) { 00140 $html .= sprintf($script, $baseJs.$item, '') . "\n"; 00141 } 00142 // foreach (array_chunk($items['script'], 15) as $chunk) { 00143 // $html .= sprintf($script, $baseJs.'index.php/x.js?f='.join(',',$chunk), '')."\n"; 00144 // } 00145 } 00146 if (!empty($items['stylesheet'])) { 00147 foreach ($this->getChunkedItems($items['stylesheet'], $baseJs.'index.php?c=auto&f=') as $item) { 00148 $html .= sprintf($stylesheet, $item, '')."\n"; 00149 } 00150 // foreach (array_chunk($items['stylesheet'], 15) as $chunk) { 00151 // $html .= sprintf($stylesheet, $baseJs.'index.php/x.css?f='.join(',',$chunk), '')."\n"; 00152 // } 00153 } 00154 if (!empty($items['other'])) { 00155 $html .= join("\n", $items['other'])."\n"; 00156 } 00157 if (!empty($if)) { 00158 $html .= '<![endif]-->'."\n"; 00159 } 00160 } 00161 00162 return $html; 00163 }
getDefaultTitle | ( | ) |
Definition at line 219 of file Head.php.
00220 { 00221 return Mage::getStoreConfig('design/head/default_title'); 00222 }
getDescription | ( | ) |
Definition at line 224 of file Head.php.
00225 { 00226 if (empty($this->_data['description'])) { 00227 $this->_data['description'] = Mage::getStoreConfig('design/head/default_description'); 00228 } 00229 return $this->_data['description']; 00230 }
getIncludes | ( | ) |
Get miscellanious scripts/styles to be included in head before head closing tag
Definition at line 253 of file Head.php.
00254 { 00255 if (empty($this->_data['includes'])) { 00256 $this->_data['includes'] = Mage::getStoreConfig('design/head/includes'); 00257 } 00258 return $this->_data['includes']; 00259 }
getKeywords | ( | ) |
Definition at line 232 of file Head.php.
00233 { 00234 if (empty($this->_data['keywords'])) { 00235 $this->_data['keywords'] = Mage::getStoreConfig('design/head/default_keywords'); 00236 } 00237 return $this->_data['keywords']; 00238 }
getMediaType | ( | ) |
Definition at line 188 of file Head.php.
00189 { 00190 if (empty($this->_data['media_type'])) { 00191 $this->_data['media_type'] = Mage::getStoreConfig('design/head/default_media_type'); 00192 } 00193 return $this->_data['media_type']; 00194 }
getRobots | ( | ) |
Definition at line 240 of file Head.php.
00241 { 00242 if (empty($this->_data['robots'])) { 00243 $this->_data['robots'] = Mage::getStoreConfig('design/head/default_robots'); 00244 } 00245 return $this->_data['robots']; 00246 }
getTitle | ( | ) |
Definition at line 211 of file Head.php.
00212 { 00213 if (empty($this->_data['title'])) { 00214 $this->_data['title'] = $this->getDefaultTitle(); 00215 } 00216 return htmlspecialchars(html_entity_decode($this->_data['title'], ENT_QUOTES, 'UTF-8')); 00217 }
removeItem | ( | $ | type, | |
$ | name | |||
) |
setTitle | ( | $ | title | ) |
Definition at line 204 of file Head.php.
00205 { 00206 $this->_data['title'] = Mage::getStoreConfig('design/head/title_prefix').' '.$title 00207 .' '.Mage::getStoreConfig('design/head/title_suffix'); 00208 return $this; 00209 }