آموزش تغییر نام پوزیشن های قالب جوملا

بطور پیش فرض پوزیشن های قالب جوملا در فایل templateDetails.xml اعلان می شوند. سپس در <div> صحیح مربوطه در فایل index.php ریشه قالب پروتواستار گذاشته می شوند و این <div> ها در فایل استیل شیت template.css از طریق css سبک دهی می شوند.

قالب پروتواستار نسخه های جوملا 3.2 و بالاتر به طور پیش فرض دارای پوزیشن های زیر هستند که در فایل templateDetails.xml تعریف شده اند:

banner
debug
position-0
position-1
position-2
position-3
position-4
position-5
position-6
position-7
position-8
position-9
position-10
position-11
position-12
position-13
position-14
footer

برای دیدن مکان پیش فرض هر یک از این پوزیشن ها در وب پیج کمپایل شده، پوزیشن های ماژول پروتواستار را ببینید. تعدادی از این پوزیشن ها به عنوان unused دسته بندی می شوند، بدین معنی که این پوزیشن ها در فایل index.php استفاده نشده اند. می توان این پوزیشن ها را در هر جایی از فایل index.php درج کرد و در صورت تمایل می توان سیستم عددی نام گذاری پوزیشن ها را استفاده کرد.

جوملا, قالب جوملا, ساید بار جوملا, پوزیشن جوملا, ماژول جوملا, کامپوننت جوملا, نصب جوملا, ویرایش قالب جوملا, قالب ریسپانسیو, ایجاد پوزیشن ماژول جدید,تغییر نام پوزیشن های جوملا, تغییر نام جایگاه ماژول های جوملا

اگر به هر دلیلی نمی خواهید نامگذاری عددی پوزیشن ها را حفظ کنید و می خواهید از نام پوزیشن استفاده کنید که نشانگر محل قرارگیری آنها است، می توانید نام آنها را تغییر دهید.

بخاطر داشته باشید که در زمان آپدیت جوملا، فایل های قالب پروتواستار بخصوص index.php و templateDetails.xml رونویسی می شوند و تغییرات از بین می روند. بنابراین همیشه قبل از آپگرید سایت یک نسخه پشتیبان تهیه کنید. عملکرد برتر این است که از قالب پروتواستار اورجینال یک نسخه کپی کرده و نامگذاری کرد. سپس از نسخه کپی به عنوان قالب پیش فرض سایت استفاده کرد تا تغییرات و سفارشی سازی ها در آپدیت سایت از بین نروند. می توانید در مدیر قالب جوملا از قالب پروتو استار کپی تهیه کنید.

فایل templateDetails.xml به جوملا می گوید که این پوزیشن ها وجود دارد، اما فایل index.php جایگاه این پوزیشن ها در وب پیج را تعیین می کند. در زیر برای مثال پوزیشن-1 قالب پروتواستار آمده است که در یک <div class="navigation"> قرار دارد:

<?php if ($this->countModules('position-1')) : ?>
    <div class="navigation"> 
        <jdoc:include type="modules" name="position-1" style="none" />
    </div> 
<?php endif; ?>

این کد ترکیبی از دستورات PHP و HTML می باشد. کدهای PHP در بین تگ های <?php و ?> قرار دارند.

اگر می خواهید نام پیش فرض پوزیشن ها را عوض کنید بایستی اینکار را در فایل templateDetails.xml و همچنین فایل index.php موجود در فلدر پروتوستار در دایرکتوری نصب جوملا انجام دهید. قبل از هر گونه ویرایش این فایل ها یک نسخه پشتیبان برای موارد اضطراری تهیه کنید.

مواظب باشید که نام جدید هر یک از پوزیشن ها که در فایل templateDetails.xml تعریف کرده اید را برای متناظر آن در فایل index.php استفاده کنید. مثلا اگر پوزیشن-1 را mainmenu نام گذاری کرده اید، تمامی تکرارهای position-1 در فایل index.php را به mainmenu تغییر دهید. این عمل را برای تمامی پوزیشن های تعدیل شده تکرار کنید.

<?php if ($this->countModules('mainmenu')) : ?>
    <div class="navigation"> 
        <jdoc:include type="modules" name="mainmenu" style="none" />
    </div> 
<?php endif; ?>