PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نوشتن یک قالب برای جوملا (حرفه ای)



mrsoroush
03-03-2012, 01:46 PM
با سلام
من میخوام برای جوملا یک قالب بنویسیم. فایلهای xml و css و index.php و.... رو نوشتم و مشکلی ندارم و قالب بطور صحیح در جوملا نصب میشه و اجرا میشه. css این قالب برروی مطالبی که از بخش مدیریت ارسال میشه اعمال نمیشه و فقط برای صفحه اصلی طراحی کرده ام.
حالا یه مشکلی دارم و میخوام مطالبی که از طرف مدیر سایت ارسال میشه رو استایل بندی کنیم. اما نمیدونم چجوری میتونم به این مطالب دسترسی داشته باشم. کدهای چند قالب آماده رو مطالعه کردم اما به درستی متوجه نشدم و این سوالات برام پیش اومد:
1- فولدر html در قالبها چه کاربردی داره و چطور با صفحه index.php ارتباط برقرار میکنه؟
2- میشه در مورد این عبارت توضیحی بدین:
کد HTML:

$this->params->get('sample')
مثلا params چی هست و یا به جای sample چه مقادیری میشه گذاشت
اگه یه توضیح جامع بدین واقعا ممنون میشم. کارم واقعا گیره
ممنون

safajuy
03-03-2012, 02:21 PM
سلام

1- فولدر html در قالبها چه کاربردی داره و چطور با صفحه index.php ارتباط برقرار میکنه؟

كامپوننت يا ماژول هاي جوملا (اكثرشون) يه بخشي دارند به نام view. اين بخش وظيفه ي چينش كامپوننت رو بر عهده دارند. براي اينكه براي قالبتون چينشو استايل خاصي بنويسيد يه پوشه به نام html ايجاد مي كنيد و استايل خودتون رو مي ريزيد. براي مثال شما ميخواييد نام نويسنده و تاريخ انتشار در سمت چپ ياراست مطالب باشه. بنا بر اين براي كامپوننت مطالب يك پوشه ي html مي سازيد و داخل اين پوشه يك پوشه ديگه ميسازيد به نام com_content و داخلش اون چيزي رو كه دوست داريدمي نويسيد.

2- میشه در مورد این عبارت توضیحی بدین:
بعضي اوقات شما نيازداريد كه يك قالب با چندين استايل بسازيد يا اينكه قالبتون رو دو جهته(راستچين و چپ چين) بكنيد. در واقع نياز به يك قالب ديناميك داريد. براي اين كار از دستوري كه در بالا داديد استفاده ميشه. اين دستور اطلاعات رو از xml ميگيره. يعني اگراين مقداررو استفاده مي كنيد بايد توي xml در تگ params براش مقدار تعيين كنيد. اين كار رو با تجزيه و تحليل قالبهاي پيش فرض مي تونيد بدست بياريد.
مقداري كه توي param استفاده ميشه مي تونههر چيزي باشه. مي تونه سوييچ كنه روي CSS، مي تونه جهت رو عوش كنه يا اينكه فرضاً متن روي هدر رو تغيير بده و... .

اين توضيحات ابتدايي بود. بقيه ش رو خودتون بايد دنبالش بريد. اگر هم كمك خواستيد مي تونيد ادامه ي همين تاپيك بپرسيد


موفق باشيد

mr.soroush
03-04-2012, 05:44 AM
ممنون از توضیحاتتون خیلی مفید بود
در اصل من میخوام برای جوملا یه قالب بنویسم اما نمیدونم چجوری بین مطالبی از که مدیریت ارسال میشه با فایل css ای که طراحی کردم ارتباط برقرار کنم. مثلا اگر مطلبی که مدیر از بخش مدیریت ارسال میکنه دارای عکس بود، مثلا با استایل margin-left:20px نمایش داده بشه و اگر دارای عکس نبود یه اتفاق دیگه بیفته. میشه توضیح بدین که از کجا میتونم به تگ های مطالبی که از جانب مدیریت ارسال میشه دسترسی داشته باشم
خیلی خیلی ممنون

safajuy
03-04-2012, 08:25 AM
جوملا (<b><font color=red>فقط کاربران عضو انجمن می توانند لینک ها را مشاهده کنند</font></b>)برای خودش یک سری استایل خاص داره. این استایل*ها برای هر کامپوننتی جداست. به عنوان مثال برای ساخت بدنه*ی ماژول از div.moduletable استفاده می*شه. یا برای عنوان مطالب از contentheading استقاده می*کنیم (کلاس هستش)
برای فرضاً *تصویر هم تگ عمومی img هست ولی روی کل تصاویر و عکس*ها افکت می*ذاره
اما برای اینکه صرفاً روی عکس مطالب چنین افکتی بذاریم نشدنیست. چون توی قالب بندی مطالب استایلی برای تصاویر مطالب تعیین نشده
جوملا (<b><font color=red>فقط کاربران عضو انجمن می توانند لینک ها را مشاهده کنند</font></b>)به این خاطر از ویرایش گر*ها استفاده می*کنه که بتونید html رو وارد مطلب خودتون بکنید و خودتون چینش تصاویر ومطالبتون رو تعیین کنید. این کارمی تونه در قالب یک پلاگین عملی بشه ولی بصورت کلی نشدنیست. از نمونه*ی پلاگین*ها هم jathumbnail هستش که این کار رو برای شما انجام می*ده وسایز و استایل خاصی به مطالب می*ده

موفق باشيد

110asad
03-12-2012, 11:21 AM
یک سوال داشتم واون اینکه برای اینکه یک دیو برای هر مطلبی که در جوملا وارد میشه یا هر ماژولی که در قسمت ماژولها وارد میشه اون دیو با cssهاش تکرار بشه باید چکار کرد
خیلی ممنون از توجه شما عزیزان

safajuy
03-13-2012, 07:25 PM
یک سوال داشتم واون اینکه برای اینکه یک دیو برای هر مطلبی که در جوملا وارد میشه یا هر ماژولی که در قسمت ماژولها وارد میشه اون دیو با cssهاش تکرار بشه باید چکار کرد
خیلی ممنون از توجه شما عزیزان

سلام

منظورتون رو متوجه نشدم.

بيشتر توضيح بديد

موفق اشيد

110asad
03-15-2012, 08:16 AM
شرمنده اگر گنگ توضیح دادم
می خواستم بدونم چطور میشه قالب قسمت کانتنت که برای مطالب است تکرار بشه یعنی هر مطلب جدیدی که وارد میشه داخل قالب جدید قرار بگیره
مثل این عکس<b><font color=red>فقط کاربران عضو انجمن می توانند لینک ها را مشاهده کنند</font></b>

safajuy
03-15-2012, 09:32 AM
اين كامپوننت هم از دستورات لغو كننده استفادهكرده

يعني يك پوشه به نام com_content نوشته و درداخل اون استايل تخصصي براي مطالب نوشته.

در بخش كه مربوط به محتوا ميشه يك div ساخته و اون دايو رو در css بهش استايل داده.(براي حرفه اي ها اين كار ساده ست)

يك مقدار تخصصيه اين كار و نياز به آشنايي كامل در زمينه ي جوملا و طراحي قالب جوملا داره

موفق باشيد

110asad
03-15-2012, 02:26 PM
با سلام
خیلی ممنون که جواب سوالات ناقص من رو میدین من حرفه ای نیستم ونمیتونم سوالاتم رو درست بپرسم اما شما لطف می کنید وبا کمال صبر جواب من رو میدین
فقط یه سوال آیا با ایجاد پوشه و قرار دادن استایل های مخصوص دیو کانتنت خود جوملا میفهمه و مطالب رو جدا میکنه یا نه باید css خاصی نوشت یا در ایندکس پی اچ پی کد پی اچ پی ای نیاز دارد
من خیلی از قالبا رو مخصوصا آرتیستر رو دیدم ولی چیز خاصی برای رندوم کردن یا حلقه وایل نداشت
بازم خیلی شرمندم که اینقدر سوال می کنم

110asad
03-15-2012, 03:06 PM
با سلام
لطفا در مورد دستورات لغو کننده هم کمی توضیح دهید
با تشکر

safajuy
03-15-2012, 03:27 PM
سلام

لطفا در مورد دستورات لغو کننده هم کمی توضیح دهید
دستورات لغو كننده مواقعي به كار ميرن كه شما بخواييد استايل يك ماژول يا كامپوننت رو اختصاصي كنيد. فرضاً بخواييد اطلاعات مطلب شما در سمت راست نمايش داده بشه يا ماژول ورود شما به صورت افقي در بياد يا اينكه حتي آيكنهاش رو عوض كنيد!
براي اين كار يك پوشه درقالبتون ايجاد مي كنيد به نام html و نام ماژول يا كامپوننت خودتون رو وارد مي كنيد(به عنوان مثال mod_login يا com_contact)


فقط یه سوال آیا با ایجاد پوشه و قرار دادن استایل های مخصوص دیو کانتنت خود جوملا میفهمه و مطالب رو جدا میکنه یا نه باید css خاصی نوشت یا در ایندکس پی اچ پی کد پی اچ پی ای نیاز دارد
بعد ازاينكه div رو ايجاد كرديد به css بريد و براي اون div يك استايل بذاريد. مثلاً دورش حاشيه بندازيد

من خیلی از قالبا رو مخصوصا آرتیستر رو دیدم ولی چیز خاصی برای رندوم کردن یا حلقه وایل نداشت
آرتيستر هم اينجور قالب رو ايجاد مي كنه. نيازي به دستور اضافي نيست. حلقه ها توي قالب نوشته نمي شن.
البته قالبهاي آرتيستر رو استاندارد نمي بينم و ايرادهاي زيادي داره

موفق باشيد

110asad
03-16-2012, 07:56 AM
با سلام وتشکر مجدد
من به سی اس اس دیو کانتنت حاشیه میدم اما برای کل مطالب میندازه نه برای هر مطلب جداگانه برای اینکه بوردر رو جدا جدا برای هر مطلب مثل تصویری که در صفحه قبل گذاشتم بندازه چکار کنم؟
خیلی خیلی ممنون از پاسختون

شرمنده اگر من اینقدر سوال میکنم چون هیچ جا کسی به واردی شما پیدا نکردم
بازم ممنون

برای این موضوع فایل آموزشی دارین ؟
لطفا اگر هست معرفی کنید.
چون آموزش هایی که هست همه خیلی ساده فقط درمورد موقعیت ماژول ها و ... توضیح میدن در مورد این موضوع ها خیلی بحث نشده.
با تشکر

shmata
03-16-2012, 08:20 AM
با سلام
برای این موضوع فایل آموزشی دارین که من کمتر مزاحم شما بشم؟
آموزش طراحی Template های جوملا (<b><font color=red>فقط کاربران عضو انجمن می توانند لینک ها را مشاهده کنند</font></b> D8%A8_%D8%AF%D8%B1_%D8%AC%D9%88%D9%85%D9%84%D8%A7)

110asad
03-16-2012, 09:07 AM
ممنون اما داخل این آموزش مشکل من بحث نشده

shmata
03-16-2012, 09:20 AM
ممنون اما داخل این آموزش مشکل من بحث نشده

در قسمت ساختار فایل*ها و directoryهای یک قالب جوملا در مورد فایل template.css توضیح داده شده .
شما هر استایلی که میخواهید به اجزای سایتتون بدید را باید به این فایل اضافه کنید.

110asad
03-16-2012, 09:56 AM
ممنون اما برای اینکه استایل های کانتنت تکرار بشه باید چکار کرد
چه استایلی باید نوشت

shmata
03-16-2012, 10:15 AM
برای اینکه هر مطلبی که شما از مدیریت مطالب ایجاد میکنید یک استایل بگیرد باید


<div class="comp">
<jdoc:include type="component" />
</div>

در فایل css تون استایلهای کلاس comp را مشخص کنید و اگر خواستید مطلبی را متمایز کنید و از این کلاس استفاده نکند
میتوانید در داخل خود مطلب (مدیریت مطالب) به آن مطلب یک id اختصاص دهید و استایل آن id را در فایل css مشخص کنید.

110asad
03-16-2012, 11:06 AM
خیلی ممنون
من این کارا رو میکنم ولی نمیدونم چه مشکلی هست که همه مطالب رو داخل یک دیو نمایش میده و جدا نمیکنه
وسوال دیگه اینکه این امر برای ماژول ها هم همینطور هست چون اونها هم داخل یک دیو نمایش داده میشن و جدا نمیشن
ممنون از صبر شما نسبت به سوالات من
یا علی

safajuy
03-16-2012, 12:06 PM
سلام

ماژول ها رو بايد با padding و margin از هم ديگه جداكنيد. من اين كار رو براي ماژولها انجام دادم و مشكلي نبود. اگر كدش رو قرار بديد ممنون ميشم

در مورد مطالب هم بايد از طريق پوشه ي html/com_content وارد بشيد. المان هاي محتوا رو در داخل يك div بذاريد و به اون div استايلي بديد.

اين مورد رو حتماً بايد در مطالب انجام بديد و در index اين كار با پيچيدگي همراه هست

شما فايل default رو درمسير html/com_content ايجاد كرديد؟

موفق باشيد

110asad
03-16-2012, 02:11 PM
با سلام
ماژول ها رو درست کردم اشتباهم در سی اس اس بود
اما در مورد مطالب من default رو ایجاد نکردم و برای این فایل باید چه خاصیتی ایجاد کرد
منظور شما اینه که من در ایندکس داخل یک دیو المان کانتننت رو بذارم و استایل بدم اما داخل فایل default چی بذارم؟