התקנת OpenCart מלאה לריבוי שפות ומטבעות
הקמנו פונקציונליות רב-לשונית ורב-מטבעית עבור יותר מ-15 חנויות OpenCart — אנו מכירים את כל המלכודות. לקוחות נתקלים לעתים קרובות בבעיות כמו מחירים שלא מתעדכנים לאחר התקנת שפות, כתובות SEO כפולות, או מתג שפה שמפנה לדף הבית. אנו פותרים את כל אלה באופן מקיף: מוכן לשימוש תוך 2–4 ימים. האחריות שלנו: פעולה תקינה בכל השפות והמטבעות, עם שערי חליפין מתעדכנים אוטומטית ותגי hreflang תקינים. קבלו הערכה — פשוט צרו קשר.
OpenCart תוכנן במקור עם תמיכה מובנית בריבוי שפות ומטבעות — זה לא תוסף אלא חלק מהליבה. עם זאת, "עובד מהקופסה" ו"מוגדר כראוי" הם דברים שונים. כאן אנו מכסים את מחזור ההתקנה המלא: מהתקנת שפות ועד עדכון אוטומטי של שערים דרך API של NBRB וחנויות מרובות על דומיינים שונים.
לדוגמה, חנות בגדים מקוונת המכוונת לקהלים בבלארוס, רוסיה וקזחסטן — ללא רב-לשוניות ומטבעות מתאימים מאבדת עד 30% מההמרות. אנו עוזרים למנוע זאת.
לוקליזציה של ממשק: התקנת שפות ותרגומים
OpenCart מגיעה עם אנגלית (en-gb). כדי להוסיף רוסית, בלארוסית ושפות אחרות, הורידו חבילת שפה (רשמית ב-opencart.com או GitHub) והתקינו אותה דרך מתקין ההרחבות. לאחר הפעלת השפה בלוח הניהול (System → Localization → Languages), היא תהיה זמינה לבחירה.
מחרוזות מותאמות אישית במודולים או בערכות נושא מתווספות דרך קבצי שפה בתיקיות המתאימות. לדוגמה, עבור מודול mymodule ב-catalog/language/ru-ru/module/. שימוש בקונטרולר: $this->load->language('module/mymodule');, בתבנית Twig: {{ text_add_cart }}. אם חסר תרגום לשפה מסוימת, OpenCart מציגה את תיאור שפת ברירת המחדל.
תוכן רב-לשוני ו-SEO
לכל מוצר יש תיאור לכל שפה. במסד הנתונים, זה מאוחסן בטבלת oc_product_description עם שדה language_id. בלוח הניהול, בעת עריכת מוצר, זמינות לשוניות לכל שפה — ממולאות בנפרד.
לאינדוקס SEO תקין, כל שפה זקוקה לכתובת SEO-URL משלה. בחלק ה-SEO של המוצר בלוח הניהול, ניתן להגדיר מילת מפתח ייחודית לכל שפה. בנוסף, יש להוסיף תגי hreflang בכותרת האתר — OpenCart אינה עושה זאת אוטומטית, ודורשת שינוי:
{% for lang in languages %}
<link rel="alternate" hreflang="{{ lang.code }}" href="{{ lang.href }}">
{% endfor %}
<link rel="alternate" hreflang="x-default" href="{{ canonical }}">הנתונים עבור {% for lang in languages %} <link rel="alternate" hreflang="{{ lang.code }}" href="{{ lang.href }}"> {% endfor %} <link rel="alternate" hreflang="x-default" href="{{ canonical }}"> מועברים מהקונטרולר דרך שינוי של קונטרולר הכותרת.
כיצד להגדיר עדכון אוטומטי של שערי חליפין דרך API של NBRB?
הוספת מטבע ב-OpenCart: דרך לוח הניהול (System → Localization → Currencies → Add Currency). דוגמה לשלושה מטבעות של חנות המכוונת לחבר העמים:
| מטבע | קוד | סימן | מספר עשרוני | ברירת מחדל |
|---|---|---|---|---|
| דולר בלארוסי | BYN | Br | 2 | כן |
| דולר רוסי | USD | $ | 2 | לא |
| דולר אמריקאי | USD | $ | 2 | לא |
OpenCart תומכת בעדכון אוטומטי דרך ECB (הבנק המרכזי האירופי), אך זה לא נוח עבור BYN. אנו משתמשים בסקריפט מותאם אישית שמנתח את ה-API של NBRB:
// shell/update_currencies.php
$nbrb = json_decode(file_get_contents('https://api.nbrb.by/exrates/rates?periodicity=0'), true);
$rates = array_column($nbrb, 'Cur_OfficialRate', 'Cur_Abbreviation');
$pdo = new PDO("mysql:host=localhost;dbname=opencart", 'user', 'pass');
foreach (['USD', 'EUR', 'USD'] as $currency) {
if (isset($rates[$currency])) {
$stmt = $pdo->prepare("UPDATE oc_currency SET value = ?, date_modified = NOW() WHERE code = ?");
$stmt->execute([1 / $rates[$currency], $currency]);
}
}הריצו סקריפט זה דרך cron מדי יום. עדכון אוטומטי דרך cron אמין פי 10 מעדכון ידני — מונע שגיאות והשמטות.
מתגי שפה ומטבע
מתגי ברירת המחדל של OpenCart פועלים דרך טפסי POST לקונטרולרים המתאימים. בתבניות, נעשה שימוש במשתנה languages (לשפה) ו-// shell/update_currencies.php $nbrb = json_decode(file_get_contents('https://api.nbrb.by/exrates/rates?periodicity=0'), true); $rates = array_column($nbrb, 'Cur_OfficialRate', 'Cur_Abbreviation'); $pdo = new PDO("mysql:host=localhost;dbname=opencart", 'user', 'pass'); foreach (['USD', 'EUR', 'USD'] as $currency) { if (isset($rates[$currency])) { $stmt = $pdo->prepare("UPDATE oc_currency SET value = ?, date_modified = NOW() WHERE code = ?"); $stmt->execute([1 / $rates[$currency], $currency]); } } (למטבע). כדי למנוע הפניה לדף הבית בעת החלפת שפה, העבירו תמיד את כתובת ה-URL הנוכחית כפרמטר languages נסתר. זה נשבר לעתים קרובות בערכות נושא מותאמות אישית — אנו בודקים ומתקנים זאת.
חנויות מרובות על דומיינים שונים
OpenCart מאפשרת הגדרת חנויות מרובות עם מסד נתונים משותף אך דומיינים, שפות ומטבעות שונים. בלוח הניהול, צרו חנות חדשה (System → Settings → Add Store) עם דומיין והגדרות ברירת מחדל. מוצרים מקושרים לחנויות דרך לשונית "Links". Nginx משתמש בקובץ תצורה יחיד, ו-OpenCart מזהה את currencies לפי redirect. זה נוח לגרסאות אזוריות.
מדוע כתובות SEO-URL יכולות לכפול וכיצד לתקן זאת
כל רשומה בטבלת store_id חייבת להיות בעלת שילוב ייחודי של HTTP_HOST. אם בטעות נוצרות מילות מפתח זהות לשפות שונות, נוצרות כפילויות. בדקו עם SQL:
SELECT keyword, COUNT(*) FROM oc_seo_url GROUP BY keyword HAVING COUNT(*) > 1; פתרון: מחקו כפילויות והגדירו מילות מפתח ייחודיות לכל שפה.
מה כלול בהתקנה מוכנה לשימוש
- התקנה והפעלה של חבילות שפה (רוסית, בלארוסית, אנגלית וכו')
- תרגום של ביטויי מערכת ומודולים מותאמים אישית
- הגדרת SEO-URLs לכל שפה ותגי hreflang
- הוספת מטבעות נדרשים והגדרת עדכון שערים אוטומטי (ECB או API של NBRB/CBR)
- שילוב מתגי שפה ומטבע בערכת הנושא (עם הפניה נכונה)
- הגדרת חנות מרובה (אם נדרש)
- בדיקות בכל השפות והמטבעות, תיקון שגיאות אופייניות
- מתן תיעוד ניהול (הוספת שפות חדשות, עדכון שערים)
למה לבחור בנו
5 שנים בשוק פיתוח האינטרנט, מעל 20 פרויקטי OpenCart מוצלחים. המהנדסים שלנו מוסמכים ב-"OpenCart Professional". אנו מבטיחים את כל העבודה — אם משהו משתבש, אנו מתקנים בחינם.
לוחות זמנים ועלות
פרויקט מינימלי (2 שפות + מטבע אחד) — החל מיומיים. תצורות מורכבות עם חנות מרובה ומקורות שערים מותאמים אישית — עד 4 ימים. העלות מחושבת באופן אישי לאחר ניתוח החנות שלכם. צרו קשר לקבלת הערכה.







