September 25, 2016

Menambah group menu baru dan custom menu

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.

Chat
Program Kemitraan Multibisnisindo untuk Pertumbuhan BisnisDaftar Sekarang

Program Kemitraan Multibisnisindo untuk Pertumbuhan Bisnis

Ingin usaha Anda tampil lebih profesional, lebih mudah ditemukan, dan lebih siap menerima calon pelanggan? Bergabunglah sebagai mitra Multibisnisindo.