אתרים ודפים — קריאה
לפני שעורכים דף צריך למצוא אותו, ולפני שמוסיפים אלמנט צריך לדעת לאיזה מזהה. שלושת הכלים בעמוד הזה הם קריאה בלבד, והם הצעד הראשון בכל משימת בנייה.
Get-Sites
Section titled “Get-Sites”מחזיר את רשימת האתרים באפליקציה. אין לו פרמטרים.
{}התשובה היא מערך, אובייקט אחד לכל אתר:
[{ "siteId": "6a8a95b63cd0a41edaebecfc", "siteName": "SITE for MyBusiness", "siteUrl": "https://<tenant>.mbapps.co.il/" }]מתי בכלל צריך siteId
Section titled “מתי בכלל צריך siteId”כמעט כל כלי בחבילת הבנייה מקבל siteId כפרמטר רשות. בחיבור רגיל — אפליקציה אחת עם אתר אחד — משמיטים אותו והשרת בוחר את האתר של החיבור. Get-Sites נחוץ רק כשהאפליקציה מחזיקה יותר מאתר אחד, ואז מעבירים siteId מפורש לכל כלי דפים.
Get-Site-Pages
Section titled “Get-Site-Pages”מחזיר את כל דפי המערכת.
| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
siteId |
String | האתר שממנו לשלוף את הדפים. בהשמטה — האתר של החיבור |
{}לכל דף חוזרים _id, name (הנתיב, למשל apps/mybusiness/Task) ו‑isMasterPage.
במערכת vanilla חוזרים כ‑220 דפים — כולל דפי apps/mybooks/*, apps/mycampaigns/* ו‑apps/mychat/*, לא רק apps/mybusiness/*. סננו לפי הקידומת.
לקרוא את שמות הדפים
Section titled “לקרוא את שמות הדפים”השם הוא נתיב, והוא מקודד את תפקיד הדף:
| הדפוס | מה זה | דוגמה |
|---|---|---|
apps/mybusiness/<Name>s — רבים |
דף רשימה (טבלת תצוגה) | apps/mybusiness/Accounts |
apps/mybusiness/<Name> — יחיד |
דף כרטיס (טופס רשומה) | apps/mybusiness/Account |
Mobile-* |
גרסת המובייל של אותו דף | apps/mybusiness/Mobile-Sale |
Dashboard* |
דשבורד | apps/mybusiness/DashboardSales |
apps/mybusiness/System-Tables-* |
דף ניהול לטבלת lookup מערכתית | apps/mybusiness/System-Tables-Sale-Statuses |
isMasterPage: true |
דף מאסטר — מחזיק את מסגרת הניווט | apps/mybusiness/CRMmaster |
המוסכמה הזו היא הכלי היעיל ביותר לאיתור דף. מחפשים את כרטיס המכירה? apps/mybusiness/Sale. את דף הרשימה? apps/mybusiness/Sales.
דפי מאסטר
Section titled “דפי מאסטר”דף רגיל אינו עומד לבד: הוא נושא masterPageId, והתוכן שלו הוא אובייקט שממופתח לפי אזורי התוכן של המאסטר. השניים ממוזגים בזמן ריצה.
| המאסטר | מי משתמש בו | ההתנהגות |
|---|---|---|
CRMmaster |
דפי רשימה, דשבורדים | מסגרת ניווט מלאה |
MasterTicket |
כרטיסי הישויות המובנות (לקוח, מכירה, פנייה) | מסגרת כרטיס; עובד גם בכתובת ישירה (?oid=) |
NewMaster |
כל דף ש‑Create-Form-Page יוצר |
מאסטר של חלון מודאלי: עובד בתוך סרגל צד iframe למשתמש מחובר. בכתובת ישירה עם ?oid=<id> בלבד מציג שדות ריקים; עם ?oid=<id>&cls=<Class>&Mode=Ticket — הפורמט שהמוצר עצמו משתמש בו — הרשומה נטענת |
PortalMaster / Mobile-* |
פורטל לקוחות / דפי מובייל | כמעט לא מותאמים |
אזורי התוכן — _MPID
Section titled “אזורי התוכן — _MPID”התוכן של דף שיושב על מאסטר הוא אובייקט שהמפתחות שלו הם אזורי המאסטר:
| האזור | מה יש בו | מי ממלא |
|---|---|---|
_MPID0 |
התוכן הראשי — הטופס, הסקשנים, השדות, הטבלאות המקושרות | אתם. כל בניית הדף קורית כאן |
_MPID1 |
הסרגל העליון — כפתור חזרה, כותרת דינמית | נוצר אוטומטית |
_MPID2 |
הסרגל התחתון — כפתורי שמירה ומחיקה | נוצר אוטומטית |
_MPID3 |
אזור נוסף, ריק בדפים המובנים | — |
לא כל דף נושא את כל האזורים: דף על NewMaster מחזיר _MPID0 ו‑_MPID1 בלבד, דשבורד על CRMmaster — _MPID0 ו‑_MPID1. כותבים תמיד ל‑_MPID0.
Get-Page-Content
Section titled “Get-Page-Content”מחזיר את ה‑HTML (ואת ה‑CSS/JS) של דף.
| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
pageId |
String | * | מזהה הדף (_id בן 24 תווים) |
pageName |
String | * | הנתיב, למשל apps/mybusiness/Sale |
minimal |
Boolean | true = רק מבנה HTML בסיסי. ברירת מחדל false |
|
siteId |
String | האתר |
* נדרש pageId או pageName — אחד מהשניים.
// ניתוח מבנה — מהיר, קריא, וקוטע חלק מהאלמנטים{ "pageName": "apps/mybusiness/Sale", "minimal": true }
// גילוי אלמנטים אינטראקטיביים — האמת המלאה{ "pageId": "69bfd6c945604bc0d35674fb", "minimal": false }התשובה נושאת _id, name, isMasterPage, masterPageId, publishedAt, content (אובייקט אזורי ה‑_MPID — ראו למעלה), cssCode, jsCode ו‑isRtl. ב‑minimal: true ה‑content אינו HTML אלא עץ טקסטואלי מקוצר (tag / id / class / children, בסגנון YAML) — קריא לניתוח מבנה, לא לחיפוש מחרוזות HTML.
לדף שיש לו masterPageId, גם המאפיין isRtl חוזר — הוא נורש מהמאסטר. במערכת עברית הוא true, ואז עמודה 0 מרונדרת בצד ימין.
מודל הדף — מה מחפשים ב‑HTML
Section titled “מודל הדף — מה מחפשים ב‑HTML”form.dbForm (data-simbla-class="Suppliers") ← מה שקושר את הטופס למחלקה ב‑DB└── div.rDivider ← שורה. זה מה ש‑Edit-Page מכנה row └── div.sDivider.col-md-N ← עמודה בגריד של 12 └── div.form-group → <label> + <input> ← שדה| מה שרואים ב‑HTML | מה זה | לאיזה פרמטר זה נכנס |
|---|---|---|
div.rDivider עם data-title="Row" |
שורה בגריד | toExistingRow, newRowAfterRow, rowId, insertAfterRow |
div.sDivider עם data-title="Column" |
עמודה בשורה, 0‑based | toExistingColumn, columnNumber |
data-simbla-class על הטופס |
המחלקה שהטופס כותב אליה | tableClassName ב‑Edit-Table-View |
מזהה אלמנט (P272, P113) |
האלמנט עצמו | elemId, intoExistingElemId, tableId, afterElement |
מחלקה simblaEL |
אלמנט שניתן לשכפול | elemId ב‑Duplicate-Element |
מחלקה ai-placeHolder |
שורה ריקה שממתינה למילוי | דף טרי מ‑Create-Form-Page נולד עם אחת כזו |
שלושת הצעדים שכל משימת בנייה מתחילה בהם
Section titled “שלושת הצעדים שכל משימת בנייה מתחילה בהם”1. Get-Site-Pages() → מוצאים את הדף לפי השם, לוקחים את _id2. Get-Page-Content(pageId, minimal:false) → מזהים שורות, עמודות ואלמנטים קיימים3. Get-Schema(className) → מאמתים ששדה שרוצים להציג באמת קייםרק אחרי שלושת אלה כותבים. סוכן שמדלג על השלב השני ומנחש rowId יוצר אלמנט במקום הלא נכון — ומכיוון שאין כלי מחיקת אלמנט, התיקון הוא הסתרה ב‑CSS או שחזור גרסה.
מה אין בשכבה הזו
Section titled “מה אין בשכבה הזו”- אין
Delete-Page. דף שלא רוצים מסתירים או משנים לו את השם ל‑_old_*דרךSet-Page-Settings. - אין יצירת דף ריק על מאסטר לבחירתכם — כל דף חדש מתחיל מ‑
Create-Form-Page(עלNewMaster) או משכפול דף קיים. - אין כלי ליצירת טופס חיפוש (
form.dbFormQuery) ואין עריכה של השדות שבתוכו. הדרך היחידה היא לשכפל דף שכבר יש בו אחד, או JS בדף. - אין נעילה בין העורך הוויזואלי ל‑MCP — שניהם עורכים את אותו ארטיפקט. עריכה במקביל מאבדת את הצד האחד בשקט. תאמו עם מי שפתוח לו ה‑Simbla.
- עריכת דפים ואלמנטים — מה עושים עם המזהים שמצאתם כאן
- הגדרות דף, קוד וגרסאות — מטא‑דאטה, הרשאות פתיחה, וגיבוי לפני שינוי
- אלמנטי דשבורד · טבלאות תצוגה ודפי רשימה
- כלי סכימה — טבלאות ושדות — השדה חייב להתקיים לפני שהוא מגיע לדף
- אינדקס הכלים המלא · שרת ה‑MCP