aboutsummaryrefslogtreecommitdiff
path: root/engine/classes
diff options
context:
space:
mode:
Diffstat (limited to 'engine/classes')
-rw-r--r--engine/classes/ElggMenuItem.php61
1 files changed, 61 insertions, 0 deletions
diff --git a/engine/classes/ElggMenuItem.php b/engine/classes/ElggMenuItem.php
index 108cb56f2..0de5feddb 100644
--- a/engine/classes/ElggMenuItem.php
+++ b/engine/classes/ElggMenuItem.php
@@ -24,6 +24,16 @@ class ElggMenuItem {
protected $url = null;
/**
+ * @var array Classes to apply to the anchor tag.
+ */
+ protected $linkClass = array();
+
+ /**
+ * @var array Classes to apply to the li tag.
+ */
+ protected $itemClass = array();
+
+ /**
* @var array Page context array
*/
protected $contexts = array('all');
@@ -232,6 +242,54 @@ class ElggMenuItem {
}
/**
+ * Set the anchor class
+ *
+ * @param mixed $class An array of class names, or a single string class name.
+ *
+ * @return void
+ */
+ public function setLinkClass($class) {
+ if (!is_array($class)) {
+ $this->linkClass[] = $class;
+ } else {
+ $this->linkClass = $class;
+ }
+ }
+
+ /**
+ * Get the anchor classes as text
+ *
+ * @return string
+ */
+ public function getLinkClass() {
+ return implode(' ', $this->linkClass);
+ }
+
+ /**
+ * Set the li classes
+ *
+ * @param mixed $class An array of class names, or a single string class name.
+ *
+ * @return void
+ */
+ public function setItemClass($class) {
+ if (!is_array($class)) {
+ $this->itemClass[] = $class;
+ } else {
+ $this->itemClass = $class;
+ }
+ }
+
+ /**
+ * Get the li classes as text
+ *
+ * @return string
+ */
+ public function getItemClass() {
+ return implode(' ', $this->itemClass);
+ }
+
+ /**
* Set the weight of the menu item
*
* @param int $weight The lower weight items float to the top of the menu
@@ -354,6 +412,9 @@ class ElggMenuItem {
if ($this->url) {
$vars['href'] = $this->url;
}
+ if ($this->linkClass) {
+ $vars['class'] = $this->linkClass;
+ }
return elgg_view('output/url', $vars);
}