PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال شخصی سازی ظاهر ماژول ها در قالب



duzdaram
03-08-2012, 08:51 AM
سلام دوستان،
خسته نباشید.

من مدتی هست طراحی قالب رو برای جوملا (البته برای یک سایت خاص) شروع کردم. سوالی برام پیش اومده که از دوستان خواهشمندم راهنماییم کنند.

من میخوام چندین ماژول (چه پیشفرض و چه ... ) رو در قالبم استفاده کنم و میخوام برای هر کدوم از ماژول ها ظاهری متناسب با قالبم ایجاد کنم. برای این کار چه باید کرد؟ وقتی که ماژول ها رو در موقعیت های قالب قرار میدم، ظاهر هر ماژول به صورت پیشفرض هست که من میخوام تغییرش بدم.

دیدم قالب های آماده توی بسته شون فولدرهای مربوط به ماژول های خاص رو قرار میدن. چطور میشه این کار رو انجام داد؟

و همچنین من میخوام عنوان ماژول رو جدای از محتوای اون ویرایش کنم و ظاهرش رو با قالب تنظیم کنم. چطور میشه این کار رو انجام داد.

ممنون میشم اگر دوستان در این زمینه بنده رو راهنمایی بفرمایند.

البته یادم رفت بگم، من نمیخوام فایل های موجود در فولدر ماژول ها رو تغییری بدم، میخوام فقط برای همون قالبی که دارم طراحی میکنم ظاهر رو تغییر بدم.

safajuy
03-08-2012, 09:35 AM
سلام

جوملا چنين خاصيتي داره. براي اين كار بايد يك پوشه به نام html توي قالبتون ايجاد كنيد. توي اين پوشه بيد استايل هاي خودتون رو براي هر ماژول يا كامپوننت رو بذاريد.

فرضاً براي كاامپوننت مطالب يك پوشه ي ديگه ي اوي html ايجاد مي كنيد به نام com_content و يا براي ماژول ورود(كه پيش فرض جوملاست) يك پوشه مي سازيد به نام mod_login و ...

محتويات اين فايل ها هم همون محتويات پوشه ي view يا tmpl در ماژول يا كامپوننت هستش( براي ماژولها عموماً tmpl هستش و كامپوننت view). شما اين محتويات رو كپي مي كنيد توي پوشه هاي مخصوص خودشون(مثلاً براي ماژول ورود بايد محتويات modules\mod_login\tmpl رو در داخل پوشه ي قالبتون يعني templates/yourtemplate/html/mod_login كپي كنيد.)

حالا بايد استايلي رو كه ميخواييد و اين كه چه چيزي نمايش داده بشه و چه چيزي نمايش داده نشه رو براي اين قالب تعيين كنيد.
مثلاً براي همين ماژول وردو مي تونيد بگيد كه تيك مرا به خاطر داشته باش خذف بشه. يا اينكه در قالبش براي اين گزينه استايل خاصي در نظر بگيريد و در داخل تگ span قرار بديد تا خاص نمايش داده بشه.

موفق باشيد

duzdaram
03-08-2012, 10:00 AM
سلام مجدد،

خیلی ممنونم، خدا خیرتون بده، تست کردم و جواب گرفتم.

فقط این سوالم باقی مونده:


و همچنین من میخوام عنوان ماژول رو جدای از محتوای اون ویرایش کنم و ظاهرش رو با قالب تنظیم کنم. چطور میشه این کار رو انجام داد.

چطور میشه روی ظاهر عنوان ماژول کنترل داشت؟ نمایش یا عدم نمایش اون که از خود کنترل پنل مدیریت تعیین میشه. حالا ظاهرش رو میخوام مثل همین روشی که برای محتویات ماژول فرمودید، کنترل کنم. محتویات ماژول رو دیدم و تونستم تغییر بدم، اما اثری از عنوان ندیدم؟!

safajuy
03-08-2012, 10:12 AM
اگر با div ساخته باشيد مي تونيد براش كلاس تعيين بكنيد.

قطعاً گزيمه ي پسوند كلاس ماژول رو ديديد. اين پسوند كلاس ماژول براي همين كاره. يعني به شما اين امكان رو ميده كه براي ماژول هاتون(فرقي نمي كنه چه ماژولي) استايل خاصي بنويسيد.
دستور كلي بدنه ي ماژول:
div.moduletable هستش. حالا اگر بخواييد بددنه ي اختصاصي براش بنويسيد از :
div.moduletable-classname رو در css مي نويسيد و استايل خودتون رو بهش مي ديد و در پسوند كلاس ماژول از -classname استفاده مي كنيد

حالا اگه بخواييد عنوان رو عوض كنيد مي تونيد يك h3 به انتهاي كلاس ها اضافه كنيد تا عنوان رو تغيير بدين.

يعني:
div.moduletable-classname h3 كه توش دستورات مربوط به عنوان ماژول رو مي نويسيد
دستور عنوان پيش فرض ماژول هم:
div.moduletable h3 هستش كه هر استايلي بهش بديد براي كل ماژولها در نظر گرفته ميشه

موفق باشيد

duzdaram
03-08-2012, 10:36 AM
بله خوشبختانه ساختار قالب با div هست.

بابت توضیحات خلاصه و بسیار مفیدتون خیلی متشکرم.

میرم ببینم که چکار میشه کرد.

خدا خیرتون بده،
در پناه حق،
موفق باشید.