diff --git a/plugins/box/menu/menu.admin.php b/plugins/box/menu/menu.admin.php index ce6076db..7d62fde1 100644 --- a/plugins/box/menu/menu.admin.php +++ b/plugins/box/menu/menu.admin.php @@ -53,6 +53,7 @@ public static function main() $menu_item_name = $item['name']; $menu_item_link = $item['link']; $menu_item_category = $item['category']; + $menu_item_class = $item['class']; $menu_item_target = $item['target']; $menu_item_order = $item['order']; @@ -68,6 +69,7 @@ public static function main() if (Request::post('menu_item_name')) $menu_item_name = Request::post('menu_item_name'); else $menu_item_name = $item['name']; if (Request::post('menu_item_link')) $menu_item_link = Request::post('menu_item_link'); else $menu_item_link = $item['link']; if (Request::post('menu_item_category')) $menu_item_category = Request::post('menu_item_category'); else $menu_item_category = $item['category']; + if (Request::post('menu_item_class')) $menu_item_class = Request::post('menu_item_class'); else $menu_item_class = $item['class']; if (Request::post('menu_item_target')) $menu_item_target = Request::post('menu_item_target'); else $menu_item_target = $item['target']; if (Request::post('menu_item_order')) $menu_item_order = Request::post('menu_item_order'); else $menu_item_order = $item['order']; @@ -80,6 +82,7 @@ public static function main() array('name' => Request::post('menu_item_name'), 'link' => Request::post('menu_item_link'), 'category' => Security::safeName(Request::post('menu_item_category'), '-', true), + 'class' => Request::post('menu_item_class'), 'target' => Request::post('menu_item_target'), 'order' => Request::post('menu_item_order'))); @@ -95,6 +98,7 @@ public static function main() ->assign('menu_item_name', $menu_item_name) ->assign('menu_item_link', $menu_item_link) ->assign('menu_item_category', $menu_item_category) + ->assign('menu_item_class', $menu_item_class) ->assign('menu_item_target', $menu_item_target) ->assign('menu_item_order', $menu_item_order) ->assign('menu_item_target_array', $menu_item_target_array) @@ -114,6 +118,7 @@ public static function main() $menu_item_name = ''; $menu_item_link = ''; $menu_item_category = ''; + $menu_item_class = ''; $menu_item_target = ''; $menu_item_order = ''; $errors = array(); @@ -131,6 +136,7 @@ public static function main() if (Request::post('menu_item_name')) $menu_item_name = Request::post('menu_item_name'); else $menu_item_name = ''; if (Request::post('menu_item_link')) $menu_item_link = Request::post('menu_item_link'); else $menu_item_link = ''; if (Request::post('menu_item_category')) $menu_item_category = Request::post('menu_item_category'); else $menu_item_category = $current_category; + if (Request::post('menu_item_class')) $menu_item_class = Request::post('menu_item_class'); else $menu_item_class = ''; if (Request::post('menu_item_target')) $menu_item_target = Request::post('menu_item_target'); else $menu_item_target = ''; if (Request::post('menu_item_order')) $menu_item_order = Request::post('menu_item_order'); else $menu_item_order = ''; @@ -142,6 +148,7 @@ public static function main() MenuAdmin::$menu->insert(array('name' => Request::post('menu_item_name'), 'link' => Request::post('menu_item_link'), 'category' => Security::safeName(Request::post('menu_item_category'), '-', true), + 'class' => Request::post('menu_item_class'), 'target' => Request::post('menu_item_target'), 'order' => Request::post('menu_item_order'))); @@ -156,6 +163,7 @@ public static function main() ->assign('menu_item_name', $menu_item_name) ->assign('menu_item_link', $menu_item_link) ->assign('menu_item_category', $menu_item_category) + ->assign('menu_item_class', $menu_item_class) ->assign('menu_item_target', $menu_item_target) ->assign('menu_item_order', $menu_item_order) ->assign('menu_item_target_array', $menu_item_target_array) diff --git a/plugins/box/menu/menu.plugin.php b/plugins/box/menu/menu.plugin.php index 3152fd77..df6a39ea 100644 --- a/plugins/box/menu/menu.plugin.php +++ b/plugins/box/menu/menu.plugin.php @@ -39,19 +39,33 @@ class Menu /** * Get menu * - * @param string $category Category name + * @param string $category Category name + * @param array $after_text Text after item menu */ - public static function get($category = '') + public static function get($category = '', $after_text = '') + { + echo Menu::getAsString($category, $after_text); + } + + /** + * Get menu as string + * + * @param string $category Category name + * @param array $after_text Text after item menu + * @return string + */ + public static function getAsString($category = '', $after_text = '') { // Get menu table $menu = new Table('menu'); // Display view - View::factory('box/menu/views/frontend/index') - ->assign('items', $menu->select('[category="'.$category.'"]', 'all', null, array('id', 'name', 'link', 'target', 'order', 'category'), 'order', 'ASC')) + return View::factory('box/menu/views/frontend/index') + ->assign('items', $menu->select('[category="'.$category.'"]', 'all', null, array('id', 'name', 'link', 'target', 'class', 'order', 'category'), 'order', 'ASC')) ->assign('uri', Uri::segments()) ->assign('defpage', Option::get('defaultpage')) - ->display(); - + ->assign('after_text_array', $after_text) + ->render(); } + } diff --git a/plugins/box/menu/views/backend/add.view.php b/plugins/box/menu/views/backend/add.view.php index 787512a4..2de72104 100644 --- a/plugins/box/menu/views/backend/add.view.php +++ b/plugins/box/menu/views/backend/add.view.php @@ -26,6 +26,10 @@ Form::label('menu_item_category', __('Item category', 'menu')). Form::input('menu_item_category', $menu_item_category, array('class' => 'input-xlarge')) ); + echo ( + Form::label('menu_item_class', __('CSS class', 'menu')). + Form::input('menu_item_class', $menu_item_class, array('class' => 'input-xlarge')) + ); ?> 'input-xlarge')) ); + echo ( + Form::label('menu_item_class', __('CSS class', 'menu')). + Form::input('menu_item_class', $menu_item_class, array('class' => 'input-xlarge')) + ); ?> 0) { foreach ($items as $item) { @@ -10,7 +11,7 @@ $item['link'] = Html::toText($item['link']); $item['name'] = Html::toText($item['name']); - $pos = strpos($item['link'], 'http://'); + $pos = strpos($item['link'], 'http://') || ($item['link'] !== '' && $item['link']{0} == '#'); if ($pos === false) { $link = Option::get('siteurl').$item['link']; } else { @@ -43,10 +44,22 @@ $target = ' target="'.$item['target'].'" '; } - echo '