|
فيلترها - سيستم اسمارتي
در حاليكه اغلب
برنامههاي مكمل (plug in) به سيستم اسمارتي(Smarty) شامل توابع و
روالهاي تغيير دهنده يا ماديفايرها ميباشند، نوع ديگري از برنامههاي
مكمل گرديده بنام فيلترها نيز وجود دارند كه عملكردهاي بيشتري را براي
شما به ارمغان ميآورند. اين فيلترها به شما اجازه ميدهند تا نسبت به
ساخت برنامههاي مكمل بيشتري كه داراي تعامل افزونتري با روالهاي
كاري داخلي سيستم اسمارتي ميباشند اقدام نماييد كه براي اين كار لازم
است تا روالهاي فراخواني تابع PHP، كه بهنگامي اجرا خواهند شد كه
فازهاي خاصي از عملكردهاي تجزيه قالب و اجرا اعمال شده باشند، تنظيم
گردند...
سه نوع مختلف از اين فيلترها عبارتند از:
پيش فيلترها
برنامههاي مكمل
شده پيش فيلتر قبل از كمپايل قالبهاي اسمارتي به اسكريپتهاي PHP
فراخوانده ميشوند. بر اين اساس راهحل جامعي براي برخي از عمليات مشخص
مرتبط با منابع قالبي وجود دارند، نظير برداشت كلمات نامرتبط. اين امر
مخصوصاً براي سيستمهاي مديريت محتوا، كه در آن كاربران مجاز به تبادل
محتوا در قالبهاي اسمارتي ميباشند، مفيد خواهد بود...
پس فيلترها
برنامههاي مكمل
شده مرتبط با پس فيلترها همانند پيش فيلترها ميباشند، اما آنها پس از
كمپايل قالبهاي اسمارتي در اسكريپتهاي PHP اجرا ميشوند، نظير هدرها
يا توابع تعريف XML بيشتر...
فيلترهاي خروجي
برنامههاي مكمل مرتبط با فيلترهاي خروجي
بهنگامي فراخواني ميشوند كه اسمارتي به طور حقيقي براي نمايش خروجي
قالب كمپايل توليد شده در پويشگر آماده ميشود...
ساخت فيلترها
سه راه اصلي براي ساخت فيلترها و مهيا ساختن آن
براي قالبهاي اسمارتي وجود دارد:
ثبت يك فيلتر در زمان اجرا
بعنوان مثال،
چگونگي استفاده از register-outputfilter جهت ثبت يك فيلتر خروجي در
زمان اجرا نشان داده شده است
بارگيري دستي يك فيلتر
روش ديگري جهت بارگيري فيلترها در اسمارتي وجود
دارد كه اين خود بعنوان راه معمول ساخت فايلهاي مكمل و ذخيرهسازي
آنها در يك ديركتوري از پيش تعريف شده ميباشد...
بارگيري اتوماتيك يك فيلتر
يكي از ويژگيهاي
نامطبوع روش قبل در زمينه بارگيري روال مكمل فيلتر آن است كه شما
ميبايست از روشload-filter بر روي هر قالبي كه خواستار اجراي آن
هستيد استفاده كنيد...
فيلتر شماره 1:
حذف دستورات HTML
يكي از مثالهاي
كلاسيك براي روال مكمل پيش فيلتر مثالي است كه توضيحات HTML را از
قالبها حذف ميكند
فيلتر شماره 4: پررنگ كردن موتور جستجو
يكي از رولهاي
مكمل مورد علاقه من از فصل 10 پررنگ نمودن ديناميكي كلمات كليدي
جستجويي ميباشد كه بوسيله كاربران سايت شما وارد شده است. اجازه دهيد
تا اين ايدا را گسترش دهيم و همين كار را براي كاربراني كه از طريق
موتورهاي جستجويي نظير گوگل وارد سايت ما ميشوند انجام دهيم. پروتكل
HTTP پويشگرهاي وب را وادار ميكنند تا هر بار كه كاربر بر روي لينكي
كليك مينمايد نسبت به ارسال يك مقدار خاص اقدام كند و بر اين اساس
صفحه نهايي از اين مسئله كه كاربر از كجا آمده است واقف ميگردد...
ما كليه جزئيات
سطح - پايين در باره روالهاي مكمل فيلتر، شامل چگونگي بوجود آوردن آنها
از ابتدا از طريق نوشتن فايلهاي مكمل مجزاي خود، و چگونگي اشاره
اسمارتي در توابع PHP جاري، يا موضوعات مربوطه جهت اعمال تغييرات در
قالبها، را مورد بررسي قرار داديم. ما همچنين تفاوتهاي بين سه نوع
مكملهاي فيلتر را تشريح نموده و بيان نموديم كه كدام يك از آنها براي
تابعي خاص مناسب است...

|