המשימה נשמעת פשוטה: "לשנות את כרטיס המוצר." במציאות, כרטיס המוצר הוא תבנית רכיב bitrix:catalog.element. היא נמצאת ב-/bitrix/components/bitrix/catalog.element/templates/.default/. לא ניתן לערוך אותה ישירות — השינויים יאבדו בעדכון.
יש ליצור override ב-/local/templates/<site_template>/components/ או בתיקיית תבנית האתר. אנו מתמחים בפיתוח תבניות רכיבים מותאמות אישית ל-1C-Bitrix. עם למעלה מ-80 פרויקטים ו-7 שנים על הפלטפורמה, אנו מספקים פתרונות turnkey: מניתוח ועד תבנית מוכנה.
נעריך את הפרויקט שלך בתוך יום אחד ונציע את הפתרון האופטימלי. תבנית מותאמת אישית פועלת פי 2–3 מהר יותר מהתבנית הסטנדרטית בעת יישום רכיבי UI מורכבים כמו טאבים או פילטרים הנטענים ב-AJAX. תקציב הפרויקט מצטמצם ב-30–50% בהשוואה לפיתוח רכיב מותאם אישית מאפס.
סדר דריסת תבנית רכיב
Bitrix מחפש תבנית רכיב בסדר הבא (בפשטות):
/local/templates/<site_template>/components/<namespace>/<component>/<template_name>//bitrix/templates/<site_template>/components/<namespace>/<component>/<template_name>//local/components/<namespace>/<component>/templates/<template_name>//bitrix/components/<namespace>/<component>/templates/<template_name>/
המיקום הנכון לתבניות מותאמות אישית הוא /local/templates/<template>/components/ או /local/components/. זה מבטיח שימור במהלך עדכוני הליבה. לפרטים נוספים על כללי הדריסה, ראו תיעוד רשמי.
מבנה התיקיות המינימלי לתבנית: template.php (חובה), style.css ו-script.js (נכללים אוטומטית).
אילו רכיבים דורשים לרוב עיצוב מותאם אישית?
bitrix:news.list/bitrix:news.detail— חדשות, בלוג, תיק עבודות.$arResult['ITEMS']מכיל מערך של אלמנטים עם שדות ומאפיינים של בלוק מידע.bitrix:catalog.element/bitrix:catalog.section— כרטיס מוצר ועמוד קטע קטלוג.$arResult['ELEMENT']מכיל נתוני מוצר,$arResult['OFFERS']מכיל מק"טים.bitrix:form.result.new— טופס אינטרנטי. התבנית מכילה טופס HTML עם שדות מתוך$arResult['FIELDS'].bitrix:main.include— הכללת אזורים סטטיים.
מהניסיון שלנו: תבנית כרטיס מוצר עם לשוניות
חנות מקוונת לציוד רפואי. התבנית הסטנדרטית bitrix:catalog.element הציגה תיאור, מפרטים ומסמכים בגוש טקסט אחד. המשימה: לפצל ללשוניות — "תיאור", "מפרטים", "מסמכים" (קובצי PDF ממאפיין אינפובלוק מסוג "File").
יצרנו override ב-/local/templates/main/components/bitrix/catalog.element/detail/template.php. בתבנית: לשוניות באמצעות CSS טהור (סלקטורי :target, ללא תלות ב-JS), מפרטים מ-$arResult['ELEMENT']['DISPLAY_PROPERTIES'], מסמכים מהמאפיין עם בדיקה לערך לא ריק. השארנו את מטמון הרכיב ללא שינוי — התבנית עובדת עם ה-$arResult המוכן מראש.
מה זמין בתוך template.php
בתוך template.php, הדברים הבאים נגישים באופן אוטומטי:
$arResult— נתונים שהוכנו על ידי הקומפוננטה (המבנה תלוי בקומפוננטה הספציפית)$arParams— פרמטרים שהועברו בעת קריאה לקומפוננטה$APPLICATION,$USER,$DB— אובייקטים גלובליים של Bitrix$this— אובייקט הקומפוננטה (CBitrixComponent), שדרכו זמינות מתודות כמו$this->GetPath()
לפני העיצוב, אנחנו תמיד לומדים את המבנה של $arResult — либо דרך התיעוד либо דרך var_dump() במהלך הפיתוח. דוגמה טיפוסית: כדי להציג את המאפיין "צבע", יש לקבל $arResult['DISPLAY_PROPERTIES']['COLOR']['VALUE']. אנחנו משתמשים ב-Bitrix D7 ORM לבחירת נתונים אם הקומפוננטה לא מספקת את השדות הדרושים.
כיצד התאמה אישית של עיצוב מזרזת פיתוח
אנחנו לא רק מעצבים תבנית — אנחנו מנתחים את הלוגיקה העסקית ומציעים את המבנה האופטימלי. בעבודה שלנו אנחנו משתמשים ב:
- PHP 8.1+, infoblocks v2.0, ORM
- מטמון מתויג להפחתת עומס על השרת בעד 70%
- אינטגרציה עם 1C, מערכות תשלום, SDEK לפי הצורך
בהשוואה לפיתוח רכיב מותאם אישית, התאמה אישית של תבנית חוסכת עד 50% מהמאמץ. דריסה ב-/local/ מבטיחה שהשינויים נשמרים במהלך עדכוני הליבה.
למה Override בתוך /local/ הוא בטוח
שינויים בתוך /bitrix/ נדרסים במהלך עדכוני הפלטפורמה. תיקיית /local/ אינה מושפעת מעדכונים; כל התבניות המותאמות אישית נשארות שלמות. בנוסף, בעת מעבר לשרת אחר, יש להעביר רק את תיקיית /local/ — כל ההגדרות והתבניות נשמרות. זהו הסטנדרט המקצועי לפיתוח Bitrix.
טעויות נפוצות בעת דריסת תבניות
- עריכת התבנית ב־
/bitrix/— השינויים אובדים לאחר עדכון. - שכחה להשבית את מטמון הרכיב בזמן דיבוג — התוצאה אינה מתעדכנת.
- בלבול בין
$arResult['ITEMS']ל־$arResult['ELEMENTS']— המבנה תלוי ברכיב. - אי־בדיקת תבנית לגרסת מובייל — לעיתים קרובות מתעלמים מהתאמה לרספונסיביות.
מה כלול בעבודה
| שלב | תיאור |
|---|---|
| ניתוח | בחינת התבנית הנוכחית, הדרישות, המבנה של $arResult |
| עיצוב | פיתוח פריסה ולוגיקת תבנית (כולל רספונסיביות) |
| עיצוב חזותי | יצירת template.php, style.css, script.js בתוך /local/ |
| אינטגרציה | קישור לנתונים מתוך $arResult, $arParams |
| בדיקות | בדיקה בעמודים שונים, בדפדפנים שונים, ניקוי מטמון |
| תיעוד | תיאור מבנה התבנית והמלצות לשיפורים עתידיים |
לוחות זמנים משוערים
| סוג המשימה | מסגרת זמן |
|---|---|
| עיצוב תבנית רכיב פשוטה אחת | 4–8 שעות |
| תבנית עם לוגיקה מורכבת (טאבים, סינון, AJAX) | 1–3 ימים |
| סט תבניות (5–10 רכיבים) | 1–2 שבועות |
צרו קשר לקבלת הערכת פרויקט — ננתח את התבניות הנוכחיות שלכם ונציע אפשרויות התאמה אישית. הזמינו עיצוב תבניות מותאם אישית במסלול מלא וקבלו פתרון מוכן עם אחריות לתאימות.
מידע נוסף על פלטפורמת 1C-Bitrix בויקיפדיה.

