Menambah group menu baru dan custom menu
- Administrator
- Group menu, Edit menu
- 2076 Kali Dilihat
- 0 Komentar
Untuk menambah group menu baru silahkan login ke dashboard admin. Klik tab "Menu Manager", pada list judul group menu disisi kanan terdapat icon plus "+". Silahkan klik dan isi Judul menunya, lalu save. Anda tinggal isikan menu yang anda inginkan.
Sekarang anda tinggal custom pada frontend. Silahkan buka header.php pada themes yang sedang anda kelola/buat. Pada bagian yang anda inginkan menu tersebut muncul dan tampil tambahkan kode dibawah ini untuk memanggil group menu tersebut:
<?php
echo $this->menu()->getFrontMenu('id-group-menu-baru', ' ', ' ', ' ');
?>
Jika anda melakukan dengan benar dan sesuai dengan source themes yang sedang anda buat, maka seharusnya menu anda akan tampil disana.
Menambahkan class href="" pada menu:
Untuk menambahkan class pada menu, silahkan "perhatikan" kode berikut:
<?php
echo $this->menu()->getFrontMenu(WEB_LANG, 'class="nav navbar-nav"', '', 'class="dropdown-menu"', 'class="dropdown-toggle hvr-bounce-to-bottom" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"');
?>
Lalu ganti file : po-includes/core/vendor/dynamicmenu/front_menu.php dengan file "front_menu2.php" yang isinya sbb:
<?php
/**
*
* - PopojiCMS Core Vendor
*
* - File : front_menu.php
* - Version : 1.0
* - Author : Gawibowo edited by Jenuar Dalapang
* - License : MIT License
*
*
* Ini adalah library untuk mengenerate nested lists.
* This is library for generating nested lists.
*
* Contoh untuk penggunaan class ini
* Example for uses this class
*
*
* $instance = new FrontMenu;
* $menu = $instance->menu(1, 'class="nav" id="side-menu"', '', 'class="nav nav-second-level"');
* echo $menu;
*
*/
class FrontMenu
{
protected $podb;
/**
* Constructor. Initialize database connection
*/
public function __construct()
{
$this->pdo = new PDO("mysql:host=".DATABASE_HOST.";dbname=".DATABASE_NAME."", DATABASE_USER, DATABASE_PASS);
$this->podb = new FluentPDO($this->pdo);
}
/**
* Get menu from database, and generate nested list
*
* @param int $group_id
* @param string $attr, $attrs, $attrss
* @return string
*/
public function menu($group_id, $attr = '', $attrs = '', $attrss = '', $attrsss = '')
{
global $_;
$selectlang = (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'id');
include_once DIR_CON."/lang/main/".$selectlang.".php";
include_once "tree.php";
$tree = new Tree;
$base_root = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && !in_array(strtolower($_SERVER['HTTPS']),array('off','no'))) ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].$_SERVER["PHP_SELF"];
$base_url = preg_replace("//(index.php$)/", "", $base_root);
$menu = $this->podb->from('menu')
->where('group_id', $group_id)
->where('active', 'Y')
->orderBy(array('parent_id ASC', 'position ASC'))
->fetchAll();
foreach ($menu as $row) {
if (!preg_match("~^(?:f|ht)tps?://~i", $row['url'])) {
$menu_url = $base_url.'/'.$row['url'];
} else {
$menu_url = $row['url'];
}
if ($row['parent_id'] == 0) {
if ($row['class'] != '') {
$label = '<a href="' . $menu_url . '" '.($row['target'] != 'none' ? 'target="' . $row['target'] . '"' : '').'>';
} else {
$label = '<a href="' . $menu_url . '" '.($row['target'] != 'none' ? 'target="' . $row['target'] . '"' : '').'>';
}
} else {
if ($row['class'] != '') {
$label = '<a ' . $attrsss . ' href="' . $menu_url . '" '.($row['target'] != 'none' ? 'target="' . $row['target'] . '"' : '').'>';
} else {
$label = '<a ' . $attrsss . ' href="' . $menu_url . '" '.($row['target'] != 'none' ? 'target="' . $row['target'] . '"' : '').'>';
}
}
$label .= $row['title'];
$label .= '</a>';
$li_attr = '';
$tree->add_row($row['id'], $row['parent_id'], $li_attr, $label);
}
$menu = $tree->generate_list($attr, $attrs, $attrss);
return $menu;
}
}
Mohon maaf karena kode tidak langsung saya tampilkan disini. Saya sudah mencobanya, namun hasilnya sebagian kode tidak muncul. Jadi lebih baik saya gunakan pihak ke-3 untuk mengupload kode diatas.
Membuat Menu bahasa dengan bendera
Menu bahasa dengan bendera Karena pernah datang sebuah pertanyaan kepada saya tentang membuat Menu bahasa dengan bendera, berikut saya buat...
Membuat Menu dropdown Responsive
Membuat Menu dropdown Responsive Membuat Menu dropdown Responsive terkadang menjadi salah satu kebutuhan pada blog yang kita kelola, terlebih jika...
