Browse Source

Merge pull request #1210 from franzliedke/patch-44

Definition list support (#1202)
Dayle Rees 12 years ago
parent
commit
0dc124d342
2 changed files with 24 additions and 0 deletions
  1. 2 0
      laravel/documentation/views/html.md
  2. 22 0
      laravel/html.php

+ 2 - 0
laravel/documentation/views/html.md

@@ -119,6 +119,8 @@ The "mailto" method on the HTML class obfuscates the given e-mail address so it
 	echo HTML::ol(array('Get Peanut Butter', 'Get Chocolate', 'Feast'));
 
 	echo HTML::ul(array('Ubuntu', 'Snow Leopard', 'Windows'));
+	
+	echo HTML::dl(array('Ubuntu' => 'An operating system by Canonical', 'Windows' => 'An operating system by Microsoft'));
 
 <a name="custom-macros"></a>
 ## Custom Macros

+ 22 - 0
laravel/html.php

@@ -347,6 +347,28 @@ class HTML {
 
 		return '<'.$type.static::attributes($attributes).'>'.$html.'</'.$type.'>';
 	}
+	
+	/**
+	 * Generate a definition list.
+	 *
+	 * @param  array   $list
+	 * @param  array   $attributes
+	 * @return string
+	 */
+	public static function dl($list, $attributes = array())
+	{
+		$html = '';
+
+		if (count($list) == 0) return $html;
+		
+		foreach ($list as $term => $description)
+		{
+			$html .= '<dt>'.static::entities($term).'</dt>';
+			$html .= '<dd>'.static::entities($description).'</dd>';
+		}
+		
+		return '<dl'.static::attributes($attributes).'>'.$html.'</dl>';
+	}
 
 	/**
 	 * Build a list of HTML attributes from an array.