Menyular
Ushbu sahifada umumiy platforma navigatsiyasini bajarib beruvchi menyular bo'limi bilan tanishib chiqishingiz mumkin.
Asosiy ma'lumotlar
Istalgan dasturiy ta’minot bir necha funksional bo’limlardan tashkil topgan bo’ladi. Odatda bu bo’limlarga kirish, umumiy hamma resurslar ro’yhatini ko’rsatishda asosiy menyudan foydalaniladi. Platon platformasi dasturchi uchun juda qulay va mukammal menyu konstruktorini taklif qiladi. Ushbu bo’limda Veb-dasturga menyu qo’shish, uni tahrirlash va ko’rinishlarini boshqarish bo’yicha ma’lumotlar beriladi.
Bo'lim tuzilishi
Menyular bo'limiga o'tish uchun yon menyudagi Menyular bo'limini tanlashingiz lozim.

Asosiy sahifa
Menyular sahifasiga kirganingizda quyidagi sahifa ochiladi.

Ushbu sahifada e'tibor berilishi lozim bo'lgan qismlar:
- Izlash maydoni. Qo'shilgan menyular orasidan izlash.
Sinxronizatsiyalashtugmasi. Menyular ro'yxatini foydalanuvchi ishchi muhiti bilan sinxronizatsiyalashtirib oladi.- Nomi ustuni. Tanlangan menyuni tahrirlash oynasini ochadi.
Qo'shishtugmasi. Yangi menyu qo'shish oynasini ochib beradi.
Yangi menyu qo'shish oynasi
tugmasi bosilganida quyidagi oyna ochiladi:

Asosiy ma'lumotlar bo'limi
- parent. Ota menyu bo'limini ko'rsatish uchun.
- sort_order. Saralash tartibi.
- badge_type. Menyu haqidagi ma'lumotlarni olib kelish uchun ishlatiladi. Buni ikki xil yo'l bilan ishlatish mumkin:
- SQL orqali ma'lumot olib kelish
- Platon API orqali ma'lumot olib kelish

- state. Ko'rinish holati.
INFO
E'tibor bering! state maydoni Platon konstruktorining barcha elementlarida uchraydi va uch xil ko'rinishda bo'lishi mumkin:
- active – joriy elementni tizimda ko'rinuvchi holatga o'tkazadi.
- hidden – joriy elementni tizim ichida ko'rinmas holatiga o'tkazadi.
- archive – joriy elementni arxivlashtirib qo'yadi.
- link. Ushbu menyu olib boruvchi havola. Ushbu maydonda menyu ochilganda foydalanuvchilarga qanday sahifa , jadval , forma ochilishini belgilaymiz. Masalan:
Biron bir sahifani ochish uchun :pages/{sahifa_nomi},
Forma ochish uchun esa :forms/{forma_nome},
Jadval ochilishi uchun esa :tables/{jadval_nomi}
INFO
Qo'shimcha ma'lumot! Ushbu maydonga foydalanuvchilarning ruxsati yoki id siga qarab boshqa boshqa saxifalarni ochish shartlarini ham berishimiz mumkin. Masalan: Ruxsati admin bo'lgan foydalanuvchilar uchun users sahifasi, ruxsati admin bo'lmagan foydalanuvchilar uchun esa boshqa sahifani ochishimiz kerak bo'lsa, ya'ni: bjs: ($user.has_perm('admin')) ? 'pages/users': 'pages/user2' Bu holatda ushbu menyuga bosilganda ruxsati admin bo'lgan foydalanuvchilar uchun users sahifasi ochiladi, aks holda esa user2 sahifasi ochiladi.
INFO
Qo'shimcha ma'lumot! Qo'shimcha ravishda fjs: funksiyasi orqali javascriptning boshqa shartlarini ham ishlatishimiz mumkin Ya'ni fjs: (() => { shartlar va return })();
- name maydonlari. Menyu matni.
WARNING
E'tibor bering!
name1, name2, name3 va name4 ma'lumotlari 4 xil holatda to'ldirilishi lozim: name1 – O'zbek kirill yozuvidaname2 – Rus tilidaname3 – O'zbek lotin yozuvidaname4 – Ingliz tilida
Qo'shimcha ma'lumotlar bo'limi
- visibility. Foydalanuvchi tipiga qarab ko'rinishni belgilash. Ushbu maydonda bu menyu kimlarga ko'rinishini anqilab berishiligimiz mumkin, yani bu menyu ruxsat berilmagan foydalanuvchilarga umuman ko'rinmaydi.
INFO
Qo'shimcha ma'lumot! Ushbu maydonda ham link singari $user orqali foydalanuvchi ma'lumotlarini olamiz. Masalan: $user.has_perm('admin') Ya'ni bu menyu faqat admin bo'lgan foydalanuvchilarga ko'rinadi.
WARNING
Muhim eslatma!
Bu cheklovlar platon adminlar uchun ishlamaydi.
- icon. Menyu ikon rasmi.
TIP
Qo'shimcha ma'lumot!
Platon platformasida avvaldan icon rasmlari kiritilgan bo'lib, ularni Ctrl + I klaviatura kombinatsiyasini bosgan holda ko'rishingiz mumkin.
- has_divider_before. Menyu bo'limidan avval chegara qo'yish.
- main. Menyu bo'limi vebsaytga kirishi bilan ochilishini ta'minlash.
- is_track_menu. Menyular bo'limida belgilan aynan bir menyuni belgilanganligini ifodalovchi vizual effekt.
Qulayliklar
Menyular bo'limi bir qancha qo'shimcha qulayliklarni taklif qiladi. Quyida uchbu qulayliklar haqida gap boradi.
Ichki menyular qo'shish
WARNING
Ogohlantirish!
Misol sifatida keltiriluvchi Ichki menyular qo'shish qo'llanmasida havolalar qo'llanilmaydi. Shunig uchun har bir menyu bo'limida link maydoni bo'sh qoldirilgan.
Bu misolda asosiy e'tibor parent maydonini ishlatishga qartilgan.
Menyular panelida dasturchi bir nechta menyuni ma'lum bir menyu ostida birlashtira oladi. Buning uchun bir menyu ichiga boshqa bir menyuni parent sifatida ko'rsatish kifoya. Quyida ushbu holat ko'rsatib o'tiladi.
Menyu qo'shishga misollar
Diagnostika menyusi.

Loglar menyusi.

Natija
Natijada menyular sahifasi Sizfa bunday ko'rinishga ega bo'lishi lozim:

Menyu havolalari
Menyu bo'limi biror sahifaga yuborishi uchun uni qo'shish vqtida link maydoni to'ldirilishi kerak. Havolalar bir necha xil bo'lishi mumkin:
- Ichki havola. Platon platformasi ichidagi biror sahifa, jadval yoki formaga yuborishi. Misol uchun:
forms/reportstables/productspages/index - Tashqi havola. Platondan tashqaridagi biror vebsayt havolsaiga yuborishi. Bunda HTTP protokol ko'rsatilishi shart. Misol uchun:
https://google.com
Menyuga yorliq qo'yish
Menyuda quyidagi rasmda ko'rsatilganidek yorliq qo'yish qulayligi mavjud. Bunda Menyu qo'shish oynasidagi badge maydoni to'ldirilishi maqsadga muvofiqdir.

Eng asosiy talab – bu badge maydonini SQL so'rov orqali ko'rsatishdir. Ya'ni ushbu maydonda Siz Ma'lumotlar bazasidan biror ma'lumotni SQL so'rov sifatida olib kelishingiz mumkin.
Misol uchun: SELECT COUNT(id) FROM users. Ushbu so'rov foydalanuvchilar sonini olib keladi.
Bundan tashqari Siz oddiy matnni ham yorliq sifatida ko'rsatishingiz mumkin. Buning uchun badge maydonida, misol uchun: SELECT 'new' degan yozuvni yozishingiz mumkin. Shunda Siz tanlagan menyu bo'limi yonida new yozuvi paydo bo'lib qoladi.