الاصدار الاول من الصفحة الرئيسية

اصبح لدينا فكرة اكثر وضوحاً عن تصفح موقعنا. دعنا نبني اول اصدار من صفحتنا الرئيسية.

<html>
<head>
<title>[#NOM_SITE_SPIP] المحتويات</title>
</head>
<body>

<center>
<a href="releases.php3">الاصدارات المقبلة</a>
| <a href="rating.php3">افضل الالعاب الحالية</a>
</center>

	<BOUCLE_sectors(RUBRIQUES){id_parent=0}{par titre}>
		<p><b><a href="#URL_RUBRIQUE">#TITRE</a></b>
		
		<B_sub_sections>
		<ul>
		<BOUCLE_sub_sections(RUBRIQUES){id_parent}>
			<li><a href="#URL_RUBRIQUE">#TITRE</a>
		</BOUCLE_sub_sections>
		</ul>
		</B_sub_sections>
		
	</BOUCLE_sectors>	

</body>
</html>

قبل ادخال الحلقات التي تعرض احدث ما يحتوي الموقع، نكتفي بإنشاء الوصلات الى المحتويات البديلة (يدوياً) وعرض بنية الموقع (الاقسام الاساسية واقسامها الفرعية فقط).

سوف ندخل لائحة بأحدث خمسة اختبارات تم نشرها في الموقع. ونعرض لكل اختبار، (فضلاً عن الشعار وعنوان الاختبار ووصفه):
 حلقة (RUBRIQUES) لاسترجاع اسم اللعبة
 حلقة (MOTS) تحتوي على نوع «علامة» لعرض العلامة
 حلقة ثانية (MOTS) تحتوي على نوع «البيئة» لعرض البيئات المناسبة.

كل ذلك نعرف كيف ننفذه.

<BOUCLE_tests(ARTICLES){titre_mot=إختبار}{par date}{inverse}{0,5}>
	<p><div style="border:1px solid black">
	[(#LOGO_ARTICLE_RUBRIQUE|left|#URL_ARTICLE)]

	<BOUCLE_sec_tests(RUBRIQUES){id_rubrique}>
	<h3>#TITRE</h3>
	</BOUCLE_sec_tests>

	<h4>#TITRE</h4>
	
	<BOUCLE_rating_tests(MOTS){id_article}{type=علامة}>
	<b>العلامة: #TITRE/10</b><p>
	</BOUCLE_rating_tests>
	
	<BOUCLE_plat_tests(MOTS){id_article}{type=البيئة}>
	[(#LOGO_MOT|left)]
	</BOUCLE_plat_tests>
		
	[(#DESCRIPTIF)]
	<p align="right"><a href="#URL_ARTICLE">الاطلاع على هذا الاختبار...</a>
	</div>
</BOUCLE_tests>

نضيف الآن احدث خمسة استعراضات وخمسة حلول وخمس نصائح. ويختلف العرض في كل مرة لكن المبدأ هو نفسه مثل الحلقة السابقة (ولكن بنكهات مبسطة لأننا نريد عرض معلومات اقل):

<B_previews>
<p><b>إستعراضات:</b>
<ul>
<BOUCLE_previews(ARTICLES){titre_mot=إستعراض}{par date}{inverse}{0,5}>
	
	<BOUCLE_sec_previews(RUBRIQUES){id_rubrique}>
	<li><b>#TITRE</b> /
	</BOUCLE_sec_previews>

	<a href="#URL_ARTICLE">#TITRE</a>
	
	<BOUCLE_plat_previews(MOTS){id_article}{type=البيئة}>
	[(#LOGO_MOT)]
	</BOUCLE_plat_previews>

</BOUCLE_previews>
</ul>
</B_previews>

<B_solutions>
<p><b>حلول :</b>
<ul>
<BOUCLE_solutions(ARTICLES){titre_mot=حلول}{par date}{inverse}{0,5}>
	
	<BOUCLE_sec_solutions(RUBRIQUES){id_rubrique}>
	<li><b><a href="#URL_ARTICLE">#TITRE</a></b>
	</BOUCLE_sec_solutions>
	
	<BOUCLE_plat_solutions(MOTS){id_article}{type=البيئة}>
	(#TITRE)
	</BOUCLE_plat_solutions>

</BOUCLE_solutions>
</ul>
</B_solutions>


<B_tips>
<p><b>نصائح:</b>
<ul>
<BOUCLE_tips(ARTICLES){titre_mot=نصائح}{par date}{inverse}{0,5}>
	
	<BOUCLE_sec_tips(RUBRIQUES){id_rubrique}>
	<li><b><a href="#URL_ARTICLE">#TITRE</a></b>
	</BOUCLE_sec_tips>
	
	<BOUCLE_plat_tips(MOTS){id_article}{type=البيئة}>
	(#TITRE)
	</BOUCLE_plat_tips>

</BOUCLE_tips>
</ul>
</B_tips>

اخيراً، لائحة الاخبار. ودائماً حسب المبدأ نفسه، وهذه المرة تدل وصلة هايبرتكست الى صفحة اخبار اللعبة المشتركة. ونضع الوصلة في اسم اللعبة (اي عنوان القسم) ونعرض عنوان الخبر.

<B_news>
<p><b>الاخبار:</b>
<ul>
<BOUCLE_news(ARTICLES){titre_mot=أخبار}{par date}{inverse}{0,5}>
	
	<BOUCLE_sec_news(RUBRIQUES){id_rubrique}>
	<li><b><a href="news_jeu.php3?id_rubrique=#ID_RUBRIQUE">#TITRE</a>:</b>
	</BOUCLE_sec_news>
	#TITRE
	
</BOUCLE_news>
</ul>
</B_news>

يبقى علينا تحديد بنية الموقع حسب الموضوع (اي حسب اصناف الالعاب الرئيسية: مغامرات، رياضة،...). وهنا ايضاً لا توجد اية صعوبة:

	<BOUCLE_sectors(RUBRIQUES){id_parent=0}{par titre}>
		<p><b><a href="#URL_RUBRIQUE">#TITRE</a></b>
		
		<B_sub_sections>
		<ul>
		<BOUCLE_sub_sections(RUBRIQUES){id_parent}>
			<BOUCLE_art_sub(ARTICLES){id_rubrique}>
			</BOUCLE_art_sub>
			<li><a href="#URL_RUBRIQUE">#TITRE</a>
			<//B_art_sub>
		</BOUCLE_sub_sections>
		</ul>
		</B_sub_sections>
		
	</BOUCLE_sectors>	

على اننا نذكر امراً دقيقاً هنا: في الاقسام الفرعية، تتأكد حلقة BOUCLE_art_sub من وجود مقالات (لا تعرض هذه الحلقة اي شيء). ولا يتم عرض الاسم والوصلة وعنوان القسم الفرعي الا اذا كان لا يوجد قسم داخل القسم الفرعي، لأنه تم وضع هذا العرض في النص الاختياري البديل. والحال انه لا يجب عرض اقسام الالعاب الموجودة مباشرة في قسم ما.

لم تنته صفحة المحتويات بعد (في المقالات القادمة سوف نطور امكاناتها اكثر) ولكنها كاملة:
 تعرض الصفحة بنية الموقع حسب المواضيع الاساسية
 تعرض ايضاً الاختبارات الحديثة (والتي نعتبرها - هكذا قررنا - العنصر الاكثر اهمية في الموقع) بوضوح
 نستغل معلومات البيئات
 نستغل «انواع المقالات» (الاخبار والاستعراضات والاختبارات والحلول والنصائح معروضة كل على حدة)
 نستغل علامة اللعبة اضافة الى تاريخ الصدور الرسمي...

وفعلنا كل هذا دون استخدام سطر PHP واحد ودون تغيير بنية قاعدة البيانات. لم نقم حتى بتغيير وظيفة بعض مكونات المقالات للوصول الى هدفنا (فكان يمكننا مثلاً استخدام العنوان المدخل في المقالات للبيئة المستدخمة والعنوان الفرعي للعلامة مما كان قد يسمح لنا بعرض هذه المعلومات دائماً).

مؤلف George نُشر في: تم التحديث: 21/03/23

الترجمات: عربي, català, Español, français, italiano