מדריך יישום טכני לתוכן רב-אזורי ב-1C-Bitrix

מטמון Bitrix סטנדרטי מציג את אותו תוכן לכל המשתמשים, וגורם להצגה שגויה של מחירים וטקסטים אזוריים. אנו מגדירים תצוגת תוכן מבוססת אזור: מקשרים את המטמון לקוד האזור ומגדירים סוגי מחירים ובלוקים של מידע. הצוות שלנו מספק פרויקטים turnkey—מביקורת ועד יישום ותמיכה שוטפת—ומבטיח פעולה נכונה לכל מספר אזורים.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
מדריך יישום טכני לתוכן רב-אזורי ב-1C-Bitrix
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

מדוע תצוגה מרובת אזורים ב-Bitrix נשברת לעתים קרובות?

מטמון Bitrix הסטנדרטי מגיש את אותם נתונים לכל המשתמשים. אם מבקר ממוסקבה טוען דף ראשון, התוכן שלו נשמר במטמון עבור כל האזורים. לדוגמה, מחיר קמעונאי למוסקבה מופיע בנובוסיבירסק. המהנדסים שלנו נתקלו בכך עשרות פעמים במהלך יותר מ-10 שנים.

התיקון פשוט: יש להוסיף CACHE_ADDITIONAL_ID עם קוד האזור מהסשן. בפרויקט מסחר אלקטרוני לאחרונה עם 12 אזורים, שינוי בודד זה הפחית את אירועי חוסר העקביות בנתונים ב-95%.

הגדרת מחירים אזוריים באמצעות סוגי מחירים בקטלוג

הבקשה הנפוצה ביותר. מודול הקטלוג תומך במספר סוגי מחירים (b_catalog_price_type): "קמעונאי מוסקבה", "קמעונאי אזורים", "סיטונאי". כל סוג מחיר משויך לקבוצת משתמשים. היגיון: משתמש ממוסקבה -> קבוצה msk_users -> סוג מחיר retail_msk.

לאחר זיהוי האזור לפי IP או בחירת עיר, אנו משייכים את המשתמש לקבוצה המתאימה או מגדירים את סוג המחיר ישירות:

$regionPriceType = getRegionPriceType($_SESSION['USER_REGION']['city']); define('REGION_PRICE_TYPE', $regionPriceType);

ברכיב הקטלוג, יש להעביר PRICE_ID = REGION_PRICE_TYPE. רכיב bitrix:catalog.element משתמש בפרמטר זה. פרטים נוספים ב-תיעוד 1C-Bitrix.

תוכן טקסט אזורי: אינפובלוק מול פרמטרים של האתר

מספרי טלפון, כתובות ותנאי משלוח משתנים לפי אזור. קיימות שתי גישות: אינפובלוק "אזורים" עם מאפיינים כמו CITY_CODE, PHONE וכו', או פרמטרים של האתר (b_option) עם סיומת אזורית (למשל phone_msk). עבור 3-5 ערים, פרמטרים של האתר מהירים ופשוטים יותר.

עבור 50 ערים, אינפובלוק או HL-block מתאים יותר להרחבה. דוגמה: עריכת אינפובלוק דרך לוח הניהול מהירה פי 3 משינוי b_option בקוד כאשר יש לך 50 ערים. המומחים המוסמכים שלנו יכולים לעזור לבחור את האחסון האופטימלי לנפח שלך.

מדוע מטמון הוא הבעיה מספר 1 עבור תוכן אזורי

מפתח המטמון של Bitrix נוצר מפרמטרי הרכיב וה-URL. אם האזור אינו נכלל במפתח, הנתונים של המבקר הראשון נשמרים במטמון עבור כולם. הפתרון: הוספת CACHE_ADDITIONAL_ID:

$APPLICATION->IncludeComponent('bitrix:news.list', '.default', [
    'CACHE_TYPE' => 'A',
    'CACHE_TIME' => 3600,
    'CACHE_ADDITIONAL_ID' => $_SESSION['USER_REGION']['city_code'] ?? 'default',
]);

או השבתת מטמון עבור בלוקים אזוריים (CACHE_TYPE = 'N'). אנו ממליצים על גישה היברידית: לשמור על מטמון הקטלוג (עם סוגי מחירים), אך לשמור במטמון בלוקים טקסטואליים אזוריים עם המפתח הנכון. זה מאיץ את מהירות טעינת העמוד בעד 40% מבלי לפגוע ברעננות הנתונים.

הגדרת באנרים ומבצעים אזוריים

השתמש באינפובלוק עם מאפיין REGIONS (בחירה מרובה). סנן לפי האזור הנוכחי:

$filter = [
    'IBLOCK_ID' => BANNERS_IBLOCK_ID,
    'ACTIVE' => 'Y',
    [
        'LOGIC' => 'OR',
        'PROPERTY_REGIONS' => $_SESSION['USER_REGION']['city_code'],
        'PROPERTY_REGIONS' => 'all',
    ]
];

שמור במטמון כל רכיב באנר לפי אזור — אחרת, באנרים של מוסקבה יוצגו בכל הערים. באנרים אזוריים ממוקדים בדרך כלל מעלים את ה-CTR ב-25-35%.

משלוח אזורי וחישוב אוטומטי

כללי המשלוח במודול המכירה מנוהלים באמצעות שירותי משלוח ואזורים. בהתבסס על LOCATION_CODE מתוך b_sale_location. זיהוי אזור נכון המקושר למיקום הופך את החישוב לאוטומטי. שילבנו את CDEK, Russian Post ואחרים.

חנות מקוונת טיפוסית בגודל בינוני חוסכת כ-1.8k–2.6k דולר מדי חודש על טעויות במשלוח. עלות ההטמעה מתחילה מ-500 דולר, ויעילות הלוגיסטיקה משתפרת ב-15%.

השוואת שיטות זיהוי אזור ואחסון נתונים

שיטה דיוק זמן תגובה מורכבות יישום
מיקום גיאוגרפי לפי IP 95-99% < 10 ms נמוכה
בחירת עיר על ידי המשתמש 100% מיידי בינונית
מיקום גיאוגרפי בדפדפן (HTML5) 80-95% 1-3 s בינונית
קישור לאזור משלוח 100% תלוי בהפעלה גבוהה

מניסיוננו, שילוב של זיהוי IP עם בחירת עיר ידנית מעניק דיוק של 99% וחוויית משתמש טובה.

אחסון מהירות גישה נוחות עריכה יכולת הרחבה
אינפובלוק בינונית גבוהה גבוהה
פרמטרים של האתר גבוהה נמוכה נמוכה
HL-block גבוהה בינונית בינונית

צרו קשר עם המהנדסים שלנו — נבחר את הפתרון האופטימלי עבור הפרויקט שלכם.

טעויות אופייניות וכיצד להימנע מהן

שכחה מהמטמון: משתמשים רואים נתונים של אזורים אחרים. תמיד יש להוסיף אזור למפתח המטמון. בפרויקט אחד, תיקון זה הפחית את כמות פניות התמיכה מ-50 ל-3 ביום.

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

אי-איפוס קבוצת המשתמש כאשר האזור משתנה: יש לעדכן קבוצות באמצעות CUser::SetUserGroup(). אחרת המחירים נשארים ישנים. יש לבדוק באופן קבוע תרחישים של החלפת אזור.

שימוש בסוג מחיר אחד לכולם: יש ליצור מספר סוגי מחירים ולקשר אותם לקבוצות. זה מעניק גמישות ודיוק. אנו עושים זאת בכל הפרויקטים — התוצאות יציבות.

איך אנחנו מיישמים תוכן אזורי: שלב אחר שלב

  1. ניתוח — זיהוי סוגי תוכן: מחירים, טקסטים, באנרים, משלוח.
  2. עיצוב — בחירת אחסון (אינפובלוקים, HL-בלוקים, סוגי מחירים).
  3. זיהוי אזור — הגדרת מיקום גיאוגרפי לפי IP עם שירותים קיימים.
  4. שיוך משתמש — הקצאה לקבוצה או הגדרת סוג מחיר דרך סשן.
  5. מטמון — הוספת CACHE_ADDITIONAL_ID לכל הרכיבים האזוריים.
  6. בדיקות — תרחישים: ביקור ראשון, שינוי אזור, איפוס מטמון.
  7. תיעוד — רישום הלוגיקה והגישה לתמיכה.

מה כלול בעבודה

  • ניתוח התוכן והארכיטקטורה הנוכחיים
  • תכנון אחסון אזורי (infoblocks, HL-blocks, סוגי מחירים)
  • יישום זיהוי אזור (IP + ידני)
  • הגדרת קבוצות משתמשים וסוגי מחירים
  • הגדרת מטמון עם CACHE_ADDITIONAL_ID
  • בדיקות בכל האזורים
  • תיעוד והדרכה לצוות התמיכה

לתוכן מבוסס מיקום, יש להשתמש ב-infoblocks עם קודי עיר כדי להבטיח תצוגה מדויקת. הגישה הרב-אזורית שלנו הוכחה ביותר מ-50 פרויקטים. בקשו ייעוץ — קבלו תוכנית יישום מותאמת אישית לתוכן אזורי.