تخطي للذهاب إلى المحتوى

نموذج Website في Odoo: فهم بنية إعدادات الموقع

دليل شامل لطريقة بناء مواقع في أودو للمطوّرين والمستشارين الوظيفيين — كل ما تحتاجه لبدء التصميم، التطوير، والنشر بنجاح
11 مارس 2026 بواسطة
نموذج Website في Odoo: فهم بنية إعدادات الموقع
Dasolo
لا توجد تعليقات بعد

مقدمة


في Odoo، يُمثل كل نموذج (Model) طريقة تنظيم وتخزين البيانات داخل قاعدة البيانات. أي معلومة تجارية تتعامل معها — صفقة، منتج، صفحة ويب — موجودة داخل سجل لنموذج معين.


فهم نماذج Odoo ضروري للمستشارين الفنيين والبرمجيين على حد سواء. النماذج تشكل العمود الفقري لهندسة البيانات في Odoo: هي التي تحدد الحقول، الروابط بين السجلات، والمنطق التجاري المضمّن.


سنتناول هنا نموذج الموقع (website) تحديدًا. هذا النموذج يدير إعدادات المواقع داخل Odoo، سواء كنت تنشئ مواقع متعددة، تُعيد تصميم الهوية البصرية، أو تُوصل الموقع بأنظمة خارجية.

ما هو نموذج الموقع


نموذج الموقع يمثل إعدادات موقع إلكتروني داخل النظام. يحفظ كل ما يحدد مظهر وسلوك الموقع: اسم النطاق، اللغات المتاحة، عناصر العلامة التجارية، حسابات الشبكات الاجتماعية، وبنية قوائم الموقع.


النموذج جزء من تطبيق Website ويُستخدم في كل موقع تم إنشاؤه داخل Odoo. في بيئات المواقع المتعددة ستجد سجلاً لكل موقع، ولكل سجل نطاقه الخاص، شركته الخاصة، إعدادات لغوية وثيمة منفصلة.


نماذج أخرى في Odoo تربط إلى نموذج الموقع عبر حقل website_id. تستخدم هذه العلاقة لتقييد المحتوى—مثل الصفحات أو المنتجات—بموقع معين، وهي آلية أساسية في العمل مع توريث النماذج وواجهات برمجة تطبيقات Odoo.

الحقول الأساسية في النموذج


فيما يلي الحقول الأهم داخل نموذج الموقع. معرفة هذه الحقول تُسهل ضبط إعدادات الموقع والعمل معها بفعالية.


1. name

نوع: Char. مطلوب. يخزن اسم الموقع كما يظهر في إعدادات الواجهة الخلفية وقوائم التبديل بين المواقع — هو المعرف البسيط الذي يراه المستخدمون الإداريون.


2. sequence

نوع: Integer. الافتراضي 10. يتحكم في ترتيب عرض المواقع عندما يكون هناك أكثر من موقع واحد؛ القيم الأقل تظهر أولًا.


3. domain

نوع: Char. عنوان النطاق الخاص بالموقع (مثلاً https://www.example.com). يضيف Odoo https تلقائيًا إن لم يكن موجودًا، ويجب أن يكون فريدًا لأنّه يُستخدم للتوجيه واعتبارات السيو.


4. company_id

نوع: Many2one (res.company). مطلوب. يربط الموقع بشركة داخل النظام؛ في بيئات متعددة الشركات، كل موقع يعرض بيانات الشركة المرتبطة به فقط.


5. language_ids

نوع: Many2many (res.lang). قائمة اللغات المتاحة على الموقع، والتي يمكن للزائرين التبديل بينها. عادةً تَشمل كل اللغات المثبتة ما لم تُحدد خلاف ذلك.


6. language_count

نوع: Integer. محسوب. عدد اللغات المتاحة؛ يُستخدم لعرض معلومات أو لفرز النتائج في الواجهات.


7. default_lang_id

نوع: Many2one (res.lang). مطلوب. لغة الموقع الافتراضية عند دخول الزائر للمرة الأولى، ويجب أن تكون موجودة ضمن language_ids.


8. auto_redirect_lang

نوع: Boolean. الافتراضي True. عند التفعيل، يعيد الموقع توجيه الزائر إلى نسخته اللغوية بناءً على إعدادات المتصفح إن كانت متاحة.


9. cookies_bar

نوع: Boolean. عند التفعيل يُعرض شريط ملفات تعريف الارتباط للمستخدمين، مفيد للامتثال للقوانين مثل GDPR، ويمكن لـ Odoo توليد صفحة سياسة ملفات تعريف الارتباط تلقائيًا.


10. logo

نوع: Binary. شعار الموقع ويُعرض في الرأس ومناطق أخرى؛ إن لم يُحدد فسيُستخدم شعار Odoo الافتراضي.


11. favicon

نوع: Binary. الأيقونة الصغيرة (favicon) للمتصفح؛ يقوم Odoo بتغيير قياسها إلى 256×256.


12. social_twitter

نوع: Char. رابط حساب تويتر/إكس. يستمد القيمة افتراضيًا من إعدادات الشركة ويُستخدم في التذييل والمشاركة الاجتماعية.


13. social_facebook

نوع: Char. رابط حساب فيسبوك. نمط العمل مماثل لباقي حقول الشبكات الاجتماعية.


14. social_linkedin

نوع: Char. رابط لينكدإن.


15. social_instagram

نوع: Char. رابط إنستغرام.


16. social_youtube

نوع: Char. رابط قناة يوتيوب.


17. social_github

نوع: Char. رابط GitHub.


18. social_tiktok

نوع: Char. رابط TikTok.


19. social_default_image

نوع: Binary. الصورة الافتراضية عند مشاركة روابط الموقع على الشبكات الاجتماعية؛ هذه الصورة تحل محل الشعار عند وجودها وتُستخدم لوسوم Open Graph وTwitter Card.


20. google_analytics_key

نوع: Char. مفتاح Google Analytics لإضافة تتبّع الزوار؛ يقوم Odoo بحقن سكربت التتبع عند ضبطه.


21. google_maps_api_key

نوع: Char. مفتاح واجهة خرائط Google لاستخدام الخرائط وميزات تحديد المواقع.


22. user_id

نوع: Many2one (res.users). مطلوب. يُمثل المستخدم العام للموقع—مستخدم البوابة أو الزائر المجهول—ويأخذ قيمة افتراضية من إعدادات الشركة.


23. cdn_activated

نوع: Boolean. عند التفعيل تُقدّم الأصول الثابتة عبر CDN لتحسين سرعة التحميل.


24. cdn_url

نوع: Char. عنوان القاعدة (base URL) لخدمة CDN المستخدمة عند تفعيل cdn_activated.


25. cdn_filters

نوع: Text. أنماط تعبير نمطي (regex) لعناوين URL التي تُعاد كتابتها لتُخدم من الـ CDN؛ الافتراضي عادةً يشمل المسارات الثابتة.


26. menu_id

نوع: Many2one (website.menu). محسوب. يشير إلى قائمة التنقل الجذرية للموقع.


27. homepage_url

نوع: Char. مسار الصفحة الرئيسية داخل الموقع (مثلاً /contact أو /shop). يجب أن يبدأ بشرطة مائلة (/).


28. custom_code_head

نوع: Html. كود مخصص يُحقن داخل وسم head—مفيد لوضع سكربتات التحليلات أو ميتا تاغات.


29. custom_code_footer

نوع: Html. كود مخصص يُحقن قبل إغلاق وسم body—مناسب لوضع ويدجتات الدردشة أو سكربتات تتبع إضافية.


30. robots_txt

نوع: Html. محتوى مخصص لملف robots.txt للتحكم في وصول محركات البحث والزواحف.


31. theme_id

نوع: Many2one (ir.module.module). الثيمة المثبتة للموقع.


32. auth_signup_uninvited

نوع: Selection. خيارات مثل b2b (بتلقي دعوة) أو b2c (تسجيل مجاني) للتحكم في قدرة الزوار على إنشاء حسابات بدون دعوة.


33. create_date

نوع: Datetime. تاريخ إنشاء السجل، تُديره Odoo تلقائيًا.


34. write_date

نوع: Datetime. تاريخ آخر تعديل على السجل، تُديره Odoo تلقائيًا.

كيف يُستخدم هذا النموذج في سير العمل التجاري


1. مواقع متعددة وتعدد اللغات

الشركات التي تعمل بعدة علامات تجارية أو أسواق تنشئ سجل موقع لكل علامة/منطقة. كل موقع يمكن أن يملك نطاقه الخاص، لائحته من اللغات، ومحتوى مميز. حقل website_id على الصفحات والمدونات والمنتجات يضمن عرض المحتوى المرتبط بالموقع الصحيح.


2. الهوية البصرية والعلامة التجارية

الشعار، favicon، وروابط الشبكات الاجتماعية تُضبط لكل موقع على حدة—وهذا يمكّن فرق التسويق من تحديث الهوية دون التأثير على مواقع أخرى. إضافة صورة مشاركة افتراضية تُحسّن مظهر الروابط عند نشرها على الشبكات.


3. اللغات والسيو

تحديد language_ids وdefault_lang_id يحددان اللغات المتاحة وسلوك التوجيه. تفعيل auto_redirect_lang يرفع من سهولة الاستخدام للزوار الدوليين، كما أن الإعدادات السليمة تخدم احتياجات السيو ووسوم hreflang.


4. الأداء وCDN

مع نمو حركة المرور، تفعيل cdn_activated مع cdn_url ينقل تحميل الأصول الثابتة إلى شبكة تسليم المحتوى، وما تُحدده في cdn_filters يقرر أي الروابط التي يتم إعادة كتابتها.


5. الامتثال والتحليلات

تفعيل cookies_bar يوفّر شريط موافقة ملفات التعقب، بينما google_analytics_key وcustom_code_head يتيحان إضافة أدوات التتبع. أما robots_txt فمهم للتحكم بما يسمح لعناكب البحث بفهرسته.

كيف يُوسّع المطورون هذا النموذج


المطورون يُوسّعون نموذج الموقع باستخدام أنماط عامة ضمن إطار Odoo، حيث يُعدّ توريث النماذج (model inheritance) الآلية الأساسية لذلك.


توريث النماذج

استعمل _inherit = 'website' لتوسيع السلوك والحقول. يمكن إضافة حقول جديدة، تجاوز طرق (methods)، أو إضافة قيود. تبقى تغييراتك في موديل منفصل بما يسهل الحفاظ عليها عند الترقية.


إضافة حقول

عرّف حقولًا جديدة في النموذج الموروث مع اختيار النوع المناسب: Char، Many2one، Boolean، Integer، Text، Selection. فكر في أن تكون بعض الحقول مرتبطة بموقع محدد إذا كانت البيئة متعددة المواقع.


امتدادات بايثون

يمكنك تجاوز دوال مثل create وwrite وunlink لإدخال منطق إضافي، مع استدعاء super() للحفاظ على سلوك الأصل. راعِ الحقول الضرورية مثل user_id وcompany_id عند إنشاء مواقع برمجيًا.


Odoo Studio

يسمح Odoo Studio بإضافة حقول بسرعة وبدون كود، وهو مناسب للتعديلات السريعة. لكن للمنطق المعقّد أو إعدادات متكرّرة عبر واجهات برمجية، يُفضَّل بناء موديول مخصّص للحفاظ على قابلية الصيانة.

ممارسات موصى بها


  • حدد دومين لكل موقع في بيئة الإنتاج لأنّه يسهل التوجيه ويحسن السيو.
  • تأكد أن default_lang_id موجود ضمن language_ids لأن Odoo يتحقق من ذلك عند التغيير.
  • ضع أكواد الطرف الثالث داخل custom_code_head أو custom_code_footer بدلًا من تعديل القوالب الأساسية لتقليل المخاطر عند التحديث.
  • عند بناء تكاملات API، استخدم XML-RPC أو JSON-RPC؛ نموذج الموقع متاح عبر الواجهات، وتأكّد من مطابقة website_id عند مزامنة المحتوى.
  • لحقول مخصصة، استعمل بادئة x_ أو بادئة خاصة بالموديول لتجنُّب تضارب الأسماء مع إصدارات Odoo المستقبلية.

أخطاء شائعة


  • إنشاء نطاقات مكررة يؤدي لخطأ لأن حقل domain يخضع لقايد فريد (unique).
  • نسيان ضبط user_id عند إنشاء المواقع عبر API سيسبب فشلًا لأن الحقل مطلوب.
  • تعيين homepage_url دون شرطة مائلة في البداية يؤدي إلى خطأ؛ يجب أن يبدأ المسار بـ '/'.
  • تفعيل cdn_activated دون وضع cdn_url صالح قد يسبب فشل تحميل الأصول.
  • تجاوز دوال جوهرية دون استدعاء super() قد يكسر عمل موديلات أخرى أو يعرقل التحديثات لاحقًا.

خاتمة


نموذج الموقع هو القلب الذي يحكم إعدادات الموقع داخل Odoo؛ يخزّن نطاق الموقع، اللغات، عناصر العلامة التجارية وسلوكيات العرض. فهم الحقول والعلاقات مع النماذج الأخرى يمكّنك من ضبط وتخصيص ودمج مواقع Odoo بكفاءة.


سواء كنت مستشارًا وظيفيًا تُخطط لهياكل مواقع متعددة أو مطورًا يبني موديلات مخصصة، الإلمام الجيد بنموذج الموقع يوفر وقتك ويقلل الأخطاء.

تحتاج مساعدة في تنفيذ Odoo لديك؟


تعمل Dasolo مع الشركات على تنفيذ وتخصيص وتحسين حلول Odoo، مع خبرة خاصة في تكاملات API وتطوير الموديولات وفهم عميق لهندسة بيانات Odoo ونماذج مثل website.


إذا احتجت مساعدة في تنفيذ Odoo، إعداد مواقع متعددة، أو عمليات التكامل، فريقنا جاهز لدعمك. احجز عرضًا تجريبيًا لمناقشة مشروعك.

نموذج Website في Odoo: فهم بنية إعدادات الموقع
Dasolo 11 مارس 2026
شارك هذا المنشور
تسجيل الدخول حتى تترك تعليقاً