דלגו לתוכן

או התחילו מנקודה בטוחה: אינדקס הכלים המלא · מפת הטבלאות המרכזיות

מערכת חדשה — 14 יום חינם

תפריטים

עודכן 30.08.2026

שלושה כלים: איתור התפריט, קריאת הפריטים, כתיבה.

הפרמטר טיפוס חובה המשמעות
siteId String האתר. בהשמטה — האתר של החיבור

מחזיר לכל תפריט: _id, name, originId, marketApp.

התפריטים במערכת סטנדרטית: CRM-Menu (התפריט הצדדי הראשי), Settings (תפריט ההגדרות), Dashboard Menu (רשימת הדשבורדים).

הפרמטר טיפוס חובה המשמעות
menuId String * מזהה התפריט
originMenuId String * מזהה תפריט המקור
siteId String האתר

* אחד מהשניים.

לכל פריט חוזרים: _id, title, type, page או path, icon, order, newWin, parent, visibility.

זו קריאת החובה שלפני כל כתיבה.

הפרמטר טיפוס חובה המשמעות
items Array<Object> ✔ הפריטים לכתיבה
menuId String * התפריט
originMenuId String * חלופה ל‑menuId — כתיבה לפי מזהה המקור עובדת
siteId String האתר

* אחד מהשניים. בלי שניהם: Error: menuId or originMenuId is required. הכלי אינו יוצר תפריט חדש.

אובייקט הפריט:

המפתח טיפוס המשמעות
_id String מזהה פריט קיים. בהשמטה — נוצר פריט חדש
type Enum page או link. ברירת מחדל link
page String ה‑_id של הדף — לפריט מסוג page
path String כתובת — לפריט מסוג link
title String הכותרת. בהשמטה הפריט מקבל את ה‑_id של הדף ככותרת (לא את שמו) — תמיד שלחו title
icon String אייקון FontAwesome — ראו האזהרה
order Number מיקום בתפריט
parent String ה‑_id של פריט האב — יוצר היררכיה
newWin Boolean פתיחה בחלון חדש
visibility Array<String> תפקידים שרשאים לראות, או loggedIn
removeThisItem Boolean מוחק את הפריט
JSON
// הוספת פריט חדש
{ "menuId": "<menuId>", "items": [
{ "type": "page", "page": "<pageId>", "title": "ספקים",
"icon": "fa fa-truck", "order": 7, "visibility": [] }
] }
// עדכון כותרת של פריט קיים — שימו לב שכל השדות חוזרים
{ "menuId": "<menuId>", "items": [
{ "_id": "<itemId>", "type": "page", "page": "<pageId>",
"title": "ספקים וקבלנים", "icon": "fa fa-truck", "order": 7, "visibility": [] }
] }
// מחיקה
{ "menuId": "<menuId>", "items": [ { "_id": "<itemId>", "removeThisItem": true } ] }

אין כלי מחיקה נפרד: הדגל removeThisItem: true על הפריט, בתוך אותה קריאת Set-Menu-Items. זו הפעולה היחידה בכל חבילת הבנייה שבאמת מוחקת משהו — אין Delete-Page, אין מחיקת אלמנט ואין מחיקת שדה.

תת‑תפריט נבנה בשדה parent, שמקבל את ה‑_id של פריט האב:

JSON
{ "menuId": "<menuId>", "items": [
{ "_id": "<childId>", "type": "page", "page": "<pageId>",
"title": "ספקים", "parent": "<parentItemId>", "order": 2, "icon": "fa fa-truck" }
] }

visibility — נראוּת לפי תפקיד

Section titled “visibility — נראוּת לפי תפקיד”

מערך של שמות תפקידים, או המילה loggedIn:

הערך מי רואה
[] כמו רוב הפריטים הקיימים — ללא סינון מפורש
["loggedIn"] כל משתמש מחובר
["Admin", "Report Admin"] חברי התפקידים האלה בלבד

שמות התפקידים הם בדיוק כפי שהם ב‑Get-Roles, כולל רישיות ורווחים.

ל‑Create-Table-View-Page יש פרמטר menuName, שמוסיף את פריט התפריט אוטומטית בעת יצירת דף הרשימה. הכלים כאן נחוצים לסידור מחדש, היררכיה, שינוי אייקון או כותרת, מחיקת פריט, הוספת דשבורד לתפריט הדשבורדים, ושינוי מינוח.

הוספת דשבורד לתפריט הדשבורדים

Section titled “הוספת דשבורד לתפריט הדשבורדים”
1. Get-Menus → מאתרים את "Dashboard Menu", לוקחים את ה-_id
2. Get-Menu-Items(menuId) → רואים את ה-order ואת צורת ה-visibility הקיימת
3. Set-Menu-Items → מוסיפים פריט type:"page" עם ה-pageId של הדשבורד
JSON
{ "menuId": "<dashMenuId>", "items": [
{ "type": "page", "page": "<newDashboardPageId>", "title": "דשבורד שותפים",
"icon": "fa fa-handshake-o", "order": 7, "visibility": [] }
] }

התפריטים הם אחת מארבע השכבות שצריך לעבור בשינוי שפה (“מכירה” ל“פרויקט”):

Get-Menus → לכל תפריט: Get-Menu-Items → Set-Menu-Items עם אובייקטי הפריט המלאים,
כשרק ה-title שונה

אובייקט מלא, כולל _id, type, page/path, order ו‑icon. משלוח חלקי מאבד נתונים. התמונה המלאה: מינוח והתאמת שפה.

Get-Menu-Items(menuId) אחרי כל כתיבה, ושלוש בדיקות: הפריט קיים עם הכותרת הנכונה, מספר הפריטים כמצופה (לא נמחק משהו בשוגג), ו‑type / page נשמרו.

ואז רענון בדפדפן: התפריט נטען עם המסגרת ולא יתעדכן במסך פתוח.