اضافه کردن آیتم به منوی CRM

نحوه افزودن آیتم‌های سفارشی به نوار ناوبری کناری CRM با استفاده از هوک اکشن `la24_dashboard_menu_items`.


مرور کلی

اکشن `la24_dashboard_menu_items` در مرحله ساخت ناوبری پنل CRM اجرا می‌شود. با اتصال به این اکشن می‌توانید سرفصل‌ها و لینک‌های قابل کلیک را به نوار کناری چپ داشبورد CRM اضافه کنید.

امضای هوک

php
do_action( 'la24_dashboard_menu_items' );
**نوع:** Action **زمان اجرا:** هنگام ساخت ناوبری پنل CRM **بازگشتی:** هیچ — `LA24()->Menu()::multi_add()` را مستقیماً درون callback فراخوانی کنید

استفاده پایه

php
add_action( 'la24_dashboard_menu_items', function () {

    $menus = array();

    // سرفصل سطح اول (والد / بخش قابل جمع‌شدن)
    $menus['my_crm_section'] = array(
        'name'      => __( 'ماژول CRM من', 'my-crm-ext' ),
        'icon'      => 'fa fa-briefcase',
        'parent'    => '',        // خالی = سطح اول
        'priority'  => 80,        // عدد کمتر = بالاتر در منو
        'is_toggle' => true,      // true = سرفصل قابل جمع‌شدن
    );

    // آیتم فرزند
    $menus['MyCrmPage'] = array(
        'name'      => __( 'داشبورد CRM', 'my-crm-ext' ),
        'icon'      => 'fa fa-tachometer',
        'parent'    => 'my_crm_section',  // کلید والد
        'priority'  => 10,
        'is_toggle' => false,
    );

    // آیتم فرزند دیگر
    $menus['MyCrmReports'] = array(
        'name'      => __( 'گزارش‌ها', 'my-crm-ext' ),
        'icon'      => 'fa fa-bar-chart',
        'parent'    => 'my_crm_section',
        'priority'  => 20,
        'is_toggle' => false,
    );

    LA24()->Menu()::multi_add( $menus );
} );

فیلدهای آیتم منو

فیلدنوعتوضیح
`name`stringبرچسب نمایشی (قابل ترجمه از طریق `__()`)
`icon`stringکلاس FontAwesome مثل `fa fa-users`
`parent`stringکلید والد، یا `''` برای سطح اول
`priority`intترتیب نمایش (صعودی — عدد کمتر بالاتر نمایش داده می‌شود)
`is_toggle`bool`true` = سرفصل قابل جمع‌شدن؛ `false` = لینک قابل کلیک

منوهای سلسله‌مراتبی

آیتم‌های منو از یک سطح تودرتویی پشتیبانی می‌کنند:
  • در سرفصل (`is_toggle: true`) مقدار `parent` را خالی بگذارید
  • در آیتم‌های فرزند، مقدار `parent` را برابر کلید سرفصل قرار دهید
آیتمی که کلیدش با یک اندپوینت ثبت‌شده در `la24_endpoints` مطابقت داشته باشد، به‌صورت خودکار به URL آن اندپوینت لینک می‌شود.

اولویت و ترتیب

  • مقادیر کمتر `priority` بالاتر در نوار کناری نمایش داده می‌شوند
  • آیتم‌های اصلی LA24Core از اولویت‌های `10` تا `50` استفاده می‌کنند
  • برای افزونه‌های سفارشی از مقادیر `60` به بالا استفاده کنید تا از تداخل جلوگیری شود
php
// این بخش پایین همه آیتم‌های اصلی نمایش داده می‌شود
$menus['my_section'] = array(
    'priority'  => 90,
    'is_toggle' => true,
    ...
);