يك اسكلت، چند مقاله

درس قبلي ما را قادر ساخت تا محتواي مقاله‌ي شماره‌ي يك را از پايگاه داده‌ها استخرج كنيم و از آن يك صفحه‌ي وب بسازيم. حال آن را به بيش از يك صفحه‌ي وب تعميم مي‌دهيم.

اسكلت ما اگر فقط مقاله‌ي شماره يك را نشان بدهد به زحمتش نمي‌ارزد. كاري مي‌كنيم كه تمام مقالات را نمايش دهد.

براي اين كار صفحه‌ي وب خودمان را با يك پارامتر، از نوع id_article=2 فرامي‌خوانيم: اين عبارت را در وب گرد خود تايپ كنيد:
«http://votresite.net/spip.php?page=tutoriel&id_article=2» [*]

هميشه مقاله‌ي شماره‌ي يك (و نه مقاله‌ي شماره‌ي 2) به نمايش در مي‌آيد. براي حل اين مشكل در اسكلت tutoriel.html خطي را كه «حلقه‌ي مقاله» [1] را تعريف مي‌كند، اصلاح مي‌كنيم:‌
 <BOUCLE_article(ARTICLES){id_article}>
 همانطور كه مي‌بينيد اين كد :{id_article=1} با اين كد: {id_article} جايگزين شد.

و اكنون: http://votresite.net/spip.php?page=tutoriel&id_article=2 بايد مقاله‌ي شماره‌ي 2 را نمايش دهد. [2]

حلقه‌ي BOUCLE_articleدر يك «بافتار» اجرا مي‌شود كه شامل متغيير id_article مي‌شود كه مقدار 2 را نيز دارد (يعني مقداري كه در يو.آر.ال گنجانده شد). اگر شما در اسكلت {id_article=1} را تعيين كنيد، اسكلت به طور خاص مقاله‌ي شماره يك را مي‌يابد، اما اگر قثط {id_article} تعيين كنيد، اسكلت مقاله‌اي را مي‌يابد كه شماره‌اش توسط بافتار (در اينجا توسط يو.آر.ال) تعيين شده باشد.

اكنون اين صفحه‌ةا را كليك كنيد :
 http://votresite.net/spip.php?page=tutoriel&id_article=1,
 http://votresite.net/spip.php?page=tutoriel&id_article=2 و
 http://votresite.net/spip.php?page=tutoriel [*].

تفاوت را مشاهده مي‌كنيد؟‌ صفحه‌هاي اول و دوم مقالات يك و 2 را نشان مي‌دهند، اما سومي فاقد id_article است، و خطا مي‌دهد.

براووو! اسكلت شما اكنون «بافتاري» [3] شده است.

يادداشت

[*به خاطر داريم كه در نسخه‌هاي قبل از يو.آر.ال براي نشان دادن tutoria بود: http://votresite.net/tutoriel.php3.بعداً يك پارامتر اضافه شد: http://votresite.net/tutoriel.php3. : http://votresite.net/tutoriel.php3?id_article=2, و از اين قبيل.

[1به انگليسي: loop و به فرنسه: boucle

[2نمي‌دهد؟ بايد بدهد. پس كدها را با دقت بررسي كنيد.

[3contextuel

نويسنده Davood Hossein Publié le : Mis à jour : 17/08/23

Traductions : عربي, català, corsu, Deutsch, English, Español, فارسى, français, italiano, 日本語, Nederlands, polski, Português, русский, slovenčina, svenska, Türkçe, українська