Menambah group menu baru dan custom menu

Gambar 110. ID: Pembuatan group menu baru dan pemanggilan pada frontend. GB: Making new menu group and calling on the frontend.

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 html 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.

Post Terkait

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...

Author

Administrator

25 September 2016

Hey..... Apa kabar? Semua artikel dan layanan yang kami sediakan di sini semata-mata untuk kepentingan pengguna dan klien. Jadi jika Anda merasa membutuhkan pelayanan kami silahkan jangan ragu untuk menghubungi. Kami juga bersedia untuk melayani konsultasi online melalui media sosial, melalui komentar dan melalui halaman testimonial yang telah kami sediakan. Selain itu Anda juga dapat menggunakan kontak form yang tersedia.

Jika apa yang anda dapatkan dari situs ini bermanfaat, silahkan dukung dengan like dan share . Terimakasih telah berkunjung, silahkan kembali kapanpun anda merasa membutuhkan layanan yang kami sediakan.

Status Akun Iklan 11 Juni 2024

Saya sampaikan bahwa status akun iklan sudah saya cek dan saya kelola. Sehingga pagi ini siap untuk di jalankan.

Abaikan notifikasi/tanda yang ada; Dibatasi anggaran, merah, kuning, apapun itu mohon di abaikan. Saya sudah pertimbangkan dan sesuaikan di masing-masing akun. Pagi ini, pukul 04.45 WIB saya baru selesai periksa dan setting semua akun. Sehingga tidak ada lagi yang perlu di tanyakan. Silahkan jalankan iklan.
Ingin berbagi dengan multibisnisindo dan memberikan kontribusi....? Tulis pengalamanmu Di Sini

Terimakasih
JOPanda

2 Komentar

widya
widya
Bung Admin ganteng tambah dengan gambar biar lebih paham....kalo yg awam spt saya kan kesulitan....terima kasih
Super Administrator
Super Administrator
Ok ... Untuk tutorial berikutnya akan saya sertakan gambar lagi. Maaf atas kekurangan tersebut.
Terimakasih atas kunjungan dan komentarnya.