من خلال هذه الصفحات سنتعرف على وحدة Content Construction Kit
و اختصاراً سأكتب CCK
في البداية و من خلال تمرين بسيط سنتعلم كيفية إنشاء نوع محتوى جديد
بعد إتقانك لعملية إنشاء محتوى جديد تستطيع الانتقال إلى العمليات الأكثر تعقيداً لكي تربط مجموعة من العقد بواسطة وحدة Node Reference
كالعادة سأستعين في شرحي لهذه الوحدة بمثال واقعي تستطيع تطبيقه في البداية سنستعمل فقط و حدة CCK
الموضوع:
تصور أنك طالب في كلية الآداب تعيش مشكلة سكن الطلاب و لتحاشي السماسرة و مكاتب تأجير الشقق قررت إنشاء موقع ويب يقدم خدمات في مجال سكن الطلاب و يجمع أصحاب الشقق و الطلاب بدون الحاجة لمكتب سمسرة
إذاً عليك إنشاء موقع
تسمح فيه لأصحاب الشقق بتحرير إعلانات أجار و للطلاب بتحرير إعلانات طلب سكن
حمل أخر إصدار من دروبال ثم أنشئ موقع جديد وسميه خدمات سكن
إذا عندك مشكلة في التنزيل راجع كيفية إنشاء موقع
في هذه الصفحة سنتعلم كيفية إنشاء نوع محتوى جديد
أولاً سننشئ نوع محتوى جديد و سنسميه عرض أجار
يستطيع من خلاله أصحاب العقارات تحرير عروض الآجر و إعطاء أهم المواصفات للعقار و المبلغ الشهري لأجار
ثانياُ سننشئ نوع محتوى جديد و سنسميه طلب أجار
يستطيع من خلاله الطلاب تحرير طلبات الأجار و شرح لأهم المواصفات المطلوبة و ثمن لأجار الممكن دفعه
حمل أخر إصدار من Content Construction Kit
إذا كان عندك مشكلة في تنزيل Content Construction Kit راجع كيفية تنزيل وحدة
كما تلاحظ في هذه الصورة وحدة CCK تتألف من عدة وحدات في البداية لتسهيل الأمور فعل وحدة Content و هي أهم وحدة و عليك تفعيلها أولاً
ثم و حدة Number تستطيع من خلالها إنشاء حقل مؤلف من رقم
ثم و حدة Text تستطيع من خلالها إنشاء حقل مؤلف من نص
أحفظ عملك و تابع
من أدر/أنواع المحتوى/أنواع المحتوى
اضغط على أضف نوع محتوى
في حقل الاسم: ادخل عرض أجار
الاسم الذي سيظهر للمستخدم تستطيع كتابته باللغة العربية
في حقل النوع: ادخل ardajar يستحسن أن تكون أسماء المتغيرات دالة على معانيها
الاسم الذي يستعمله نظام دروبال هناك قواعد لكتابته عليك أن تحترمها
نقاط هامة في تسمية المتغيرات في PHP :
- في لغة الـ PHP لا يوجد حدود على عدد الخانات في تسمية المتغيرات ، ولكن في الغالب لن تحتاج إلى أكثر من 15 خانة لتسمية أي متغير ، لان المبالغة في تسمية المتغيرات تسبب مشاكل في تذكر المتغيرات وما تحتويه من قيم .
- بداية كل متغير يجب أن تبدأ بحرف ( يعني حرف هجائي ) أو علامة ( _ ) Underscore.
- يمكن أن يحتوي اسم المتغير على الحروف أو الأرقام أو علامة ( _ ) فقط ، أما العلامات الأخرى مثل ( + , - , * , / ) أو الـ & لا يمكن كتابتها في اسم المتغير .
- المتغير ( Name$ ) يختلف عن المتغير ( name$ ) لاختلاف حالة حرف الـ N ، ولذلك يجب التأكد من اسم المتغيرات بدقة لتجنب حدوث مشاكل في الوصول إلى متغير معين ، وبالتأكيد لو كان لديك أسلوب خاص في تسمية المتغيرات لسهولة الوصول إليها وتذكرها ستكون كتابة السكر بت أسهل بكثير .
في حقل الوصف : ادخل موجز صغير يشرح للمستخدم وظيفة المحتوى الجديد
أحفظ عملك و تابع
من أدر/أنواع المحتوى/أنواع المحتوى ستجد أن هناك نوع محتوى جديد
اسمه عرض أجار ونوعه ardajar و في عمود العمليات هناك رابط manage fields يعني تحكم في الحقول و هو ما نريده إذاً عليك بالنقر عليه
بعد الضغط عليه ستصل إلى هذه الصفحة ومنها تستطيع إضافة الحقول اللازمة

Label : هنا ستدخل اسمم الحقل كما سيظهر للمستخدم
Field name : هنا ستدخل اسمم الحقل للاستعمال الداخلي و عليك مراعاة أسماء المتغيرات بي اتش بي
Type of data to store: عليك تحديد نوعية الحقل هناك عدة أنواع
نص : Text
رقم عشري : Decimal
رقم صحيح : Integer
رقم حقيقي : Float
في حقل : Form element to edit the data
تستطيع أن تختار أو حقل نص أو حقل نص متعدد الأسطر
في حالتنا و لحاجة استمارة لأجار لنفسح المجال في إدخال مساحة الشقة يتوجب علينا تحرير الحقل بالشكل التالي:
في حالتنا و لحاجة استمارة لأجار لنفسح المجال في إدخال مساحة الشقة يتوجب علينا تحرير الحقل بالشكل التالي:
نص المساعدة : نص لمساعدة المحرر في إنشاء المحتوى
Defaut value : القيمة التلقائية للحقل
ضروري: تحديد هذا الموقع سيجعل إملاء الحقل إجباري
Number of values : عدد القيم المتاحة
Minimum : القيمة الصغرى
Maximum : القيمة العظمى
Precision : عدد الأرقام بعد المسموح به
Scal : عدد الأرقام بعد الفاصلة

Decimal marker : نوعية الفاصل العشري نقطة أو فاصلة
Prefix : هذا النص سيظهر قبل الحقل
Suffix : هذا النص سيظهر بعد الحقل
Allowed values : تستطيع إدخال قائمة بالقيم المتاحة القيم التي لا تظهر في هذه القائمة سترفض
حرر الاستمارة مثل الصورة و أحفظ عملك ثم تابع
بنفس الطريقة
حرر حقل قيمة الأجار
لاحظ بأني اخترت للمساحة رقم عشري
و لقيمة الأجرة الشهرية رقم صحيح

بعد ذلك سنقوم بتحرير حقل البعد عن الكلية لكن للمسافة سنحدد قيم و ذلك يتم بإدخال قيمة في حقل
Number of values عدد القيم المتاحة
في هذا الحقل ادخل 4 الآن عليك إدخال أربع قيم في حقل Allowed values

بعد ذلك عليك إنشاء نوع محتوى جديد و هو طلب أجار ليعن فيه الطلاب عن رغبتهم في استأجار شقة ما عليك إلا اتباع نفس الخطوات المتبعة لإنشاء عرض الأجار مع تغير اسم المتغيرات و اسم الحقول لأننا سنستعمل هذه المعطيات في المرة القادمة مع و حدة Views
وحدة Node reference تأتي مع وحدة Content Construction Kit
هذه الوحدة توفر لك إمكانية الاحتفاظ بمجموعة من المعلومات القابلة للاستخدام داخل عقدة أخرى, الجملة في اللغة الانجليزية هي
A nodereference lets you keep a collected set of reusable data inside a Drupal node
لنفترض بأنك تريد إنشاء موقع مخصص للمطربين العرب و أنشأت نوع محتوى مطرب و نوع محتوى أغنية و تريد أن تربط بين عقدة المطربة أم كلثوم و عقدة الأغنية أنت عمري باستعمالك وحدة Node reference تستطيع أن تربط عقدة أم كلثوم مع كل عقد أغانيها
و من ثم تستطيع استعمال وحدة Views لعرض صفحة تتعلق بالمطربة أم كلثوم و كل أغانيها
وحدة Node reference توفر لك تحقيق صفحة معقدة تحتوي على معلومات مأخوذة من أكثر من عقدة
مثال عملي عن استعمال Node reference
تخيل بأنك تريد إنشاء موقع عن البلاد العربية
في البداية ستنشئ نوع محتوى تسميه بلد و نوع محتوى تسميه مدينة
من محتوى / أنواع المحتوى / أضف نوع محتوى
أنشئ نوع محتوى جديد مثل الصورة التالية:
كمثال لكي نستطيع تطبيق الشرح قمت بإنشاء أربع عقد من نوع بلد للبلاد العربية التالية
سورية
السعودية
مصر
الجزائر
و أصبح عندي العقد التالية :
اعتباراً من الآن عندما تنشئ محتوى جديد من نوع مدينة عليك أن تحدد بأي بلد تتعلق هذه المدينة على الشكل التالي :