இப்பதிவில் ட்ரூபாலில் பெட்டிகள் [Drupal Blocks] என்பதைப்பற்றி காண்போம்.
ட்ரூபாலில் பெட்டிகள் [Drupal Blocks]
http://tamilnanbargal.com/node/32036
ஒரு இணைய பக்கத்தில் அந்த பக்கத்தின் முதன்மை உள்ளடக்கத்தைத் தவிர பக்கத்தின் இரு பக்கம், மேற்பக்கம், கீழ்ப்பக்கம் என அனைத்து பகுதிகளிலும் நீங்கள் சிறுசிறு உரைகயோ படங்களையோ படிவங்களையோ பார்த்திருப்பீர்கள். இந்த சின்ன உரைத்தொகுப்புகளை நாம் பெட்டிகள் (Blocks) என்கிறோம். நீங்கள் வலைதளங்களைப் பயன்படுத்துவோர்கள் எனில் இதையே விட்ஜட்ஸ் என அழைக்கக் கேட்டிருப்பீர்கள்.

இந்த வகை பெட்டிகள் ட்ரூபால் தளத்தில் எவ்வாறு பயன்படுத்தப்படுகிறது என்பதை இங்கே பார்ப்போம்.
நீங்கள் தள மேலாளராக தளத்தினுள் நுழைந்த பிறகு admin/build/block பக்கத்திற்குச் சென்றால் அதுவரை ட்ரூபால் தளத்தில் உருவாக்கி வைத்துள்ள எல்லா பெட்டிகளின் பட்டியலைக் காணமுடியும். இப்பெட்டிகள் ட்ரூபலிலே உள்ளிணைக்கப்பட்டதாகவோ, வேறு நீட்சிகளால் வந்ததாகவோ அல்லது நீங்கள் உருவாக்கியதாகவோ இருக்கும்.
இந்த பக்கத்தில் ஒரு பெட்டியை தளத்தின் எந்த பக்கத்தில் தெரியவைப்பது, ஒரு பெட்டியை ஒரு பக்கத்தின் எந்த இடத்தில் தெரியவைப்பது, யார்யாருக்கெல்லாம் இப்பெட்டிகள் தெரியவேண்டும் போன்றவைகளை நிர்வகிக்க முடியும்.
இப்பக்கத்தைப் பார்த்தால் இவைகள் ஒவ்வொரு தலைப்பில் வகைப்படுத்தப்பட்டிருப்பதைக் காணலாம். இதுவரை செயல்படுத்தப்படாத பெட்டிகள் Disabled என்ற தலைப்பின் கீழும் மற்ற பெட்டிகள் பக்கத்தின் எந்த பகுதியில் தெரியவைக்கப்பட்டிருக்கிறதோ அந்தந்த தலைப்பின் கீழும் வரிசைபடுத்தப்பட்டிருக்கும்.
ட்ரூபால் தளத்தில் நுழையும் படிவம் கொண்ட பக்கம் user/login என இருந்தாலும் நுழைவுப்படிவத்திற்கும் தனியாக ஒரு பெட்டி வைக்கப்பட்டிருப்பதை காணலாம். அது இயல்பாக left sidebar பகுதியில் செயல்படுத்தப் பட்டிருப்பதைக் காணலாம். இப்போது இப்பெட்டியை நீங்கள் வலது பக்கத்திற்கு தெரியவைக்க வேண்டும் எனில் அந்த வரிசையில் region என்ற தெரிவுப்பெட்டி இருப்பதில் இருந்து right side bar என்பதை தெரிவு செய்து சேமித்துக்கொண்டால் போதுமானது.
பகுதிகள் [Regions]:
பெட்டிகளைப்பற்றி பார்க்கும் போது பகுதிகள் பற்றிய ஒரு சிறிய அறிமுகத்தை இங்கே காண்போம்.
ஒரு இணைய தள பக்கத்தைப்பார்த்தால் அவை header, footer, left, right என பல பகுதிகளாக பிரிக்கப்பட்டிருக்கும். இவை உரைகளை அல்லது தகவல்களை சீரான முறையில் பல பகுதிகளாக பகுத்துக்காட்ட regions பயன்படுகிறது. உதாரணமாக header, footer, left side bar, right side bar, content போன்று ஒரு பக்கம் பிரிக்கப்பட்டிருக்கும். இப்பெயர்களும் எண்ணிக்கைகளும் நாம் பயன்படுத்தியிருக்கும் தீம் அடிப்படையிலானது.
நாம் ஒரு பெட்டியை footer ல் தெரியவேண்டும் எனக்கொடுத்தால் நாம் பயன்படுத்தியிருக்கும் தீம் அதை சரியான இடத்தில் தெரியவைக்கும் வேலையை கவனிக்கும். எந்த region பக்கத்தின் எங்கே தெரியும் என்பது நாம் பயன்படுத்தியிருக்கும் தீமின் page.tpl.php கோப்பின் மூலம் வரையறை செய்யப்பட்டிருப்பதை அக்கோப்பை திறந்தால் தெரிந்துகொள்ளலாம்.
புதிய பெட்டிகளை உருவாக்க:
இப்போது உங்களுக்கு நமது தளத்தின் அனைத்து பக்கத்திலும் "தளத்திற்கு வரவேற்கிறோம்" என்ற ஒரு புதிய பெட்டி தேவைப்படுகிறது என வைத்துக்கொள்வோம். அதை எவ்வாறு செய்வது என இங்கே பார்ப்போம்.
- புதிய பெட்டிகளை உருவாக்க admin/build/block பக்கத்தில் மேலே Add block என்ற tab இருக்கும். அதை தெரிவு செய்யுங்கள்.

- இப்பது புதிய பெட்டி உருவாக்கும் படிவும் தெரிய வரும்
- பெட்டியைப்பற்றிய சிறு அறிமுகத்தை description என்பதில் கொடுத்து விடுங்கள்.
- பெட்டியின் தலைப்பு என்ன வேண்டும் என்பதை அதற்குக்கீழே கொடுங்கள். இங்கே தலைப்பு கொடுக்க வேண்டும் என்பது கட்டாயமல்ல. ஒரு பெட்டியை தலைப்பு கொடுக்காமலும் நீங்கள் உருவாக்க ட்ரூபால் அனுமதிக்கும்.
- பின்பு பெட்டியில் உரை என்ன தெரிய வேண்டும் என்பதை தட்டச்சுங்கள். உதாரணத்திற்கு
"தமிழ் நண்பர்கள் தளம் உங்களை அன்புடன் வரவேற்கிறது." என்பது போல தேவையானதை கொடுங்கள். - "User specific visibility settings" என்பதில் மூன்று தெரிவுகள் இருக்கும். இவை இப்பெட்டியை தளத்தின் பயனாளர் அவர்களுக்குத் தெரியவேண்டாம் என கொடுக்க முடியுமா என்பதை தீர்மானிக்கும்.
Users cannot control whether or not they see this block - பயனாளருக்கு இப்பெட்டியை தெரியவேண்டாம் என மறைக்க அனுமதி இல்லை.
Show this block by default, but let individual users hide it- பயனாளருக்கு இப்பெட்டி தெரியும். அவர்கள் தேவையில்லை எனில் இதை அவர்களாகவே மறைக்க அனுமதி உண்டு.
Hide this block by default but let individual users show it - பயனாளருக்கு இப்பெட்டி தெரியாது. அவர்கள் தேவை எனில் இதை அவர்களாகவே தெரியவேண்டும் எனக்கொடுக்க அனுமதி உண்டு.
பயனாளருக்கு இந்த அனுமதிகளை நாம் கொடுத்திருந்தால் அவர்களின் கணக்குப் படிவத்தை மாற்றும் போது இந்தப் பெட்டிகள் அவர்களுக்குக் காட்டப்பட்டு அதை மறைக்கவோ தெரியவைக்கவோ அனுமதி கொடுக்கப்பட்டிருக்கும்.
பொதுவாக தளத்தின் பயனாளருக்கு பெட்டிகளை மறைக்க அனுமதிக்க மாட்டோம். எனவே இதில் முதல் தெரிவை தேர்வு செய்யலாம்.
- Role specific visibility settings:
அடுத்த இப்பெட்டி யாருக்கெல்லாம் தெரிய வேண்டும் என்பதை தெரிவு செய்யுங்கள். இங்கே நம் தளத்தின் அனைத்து பயனர் பாத்திரங்களும் பட்டியலிடப்பட்டிருக்கும். அதில் authenticated user என்பதை தளத்தில் நுழைந்தவரையும் anonymous என்பது தளத்தில் நுழையாமல் தளத்தை பார்வையிடுபவர்களையும் குறிக்கும்.
எதையும் தெரிவு செய்யாமல் விட்டால் இப்பெட்டி எல்லா பயனாளர்களுக்கும் தெரியும். - Page specific visibility settings: இங்கே இப்பெட்டி எந்தெந்த பக்கத்தில் தெரிய வேண்டும் என நீங்கள் கொடுக்க வேண்டும்.

Show on every page except the listed pages:
இதைத்தெரிவு செய்தால் இயல்பாக பெட்டி தளத்தின் எல்லாப் பக்கத்திலும் தெரியும். ஆனால் கீழே கொடுக்கப்பட்டிருக்கும் பக்கங்களில் மட்டும் தெரியாது.
உதாரணமாக ஒரு விளம்பரப்பெட்டி என வைத்துக்கொள்வோம். அதை தளத்தின் எல்லாப் பக்கத்திலும் தெரிய வேண்டும். ஆனால் தள நிர்வாகப் பக்கங்களில் தெரிய வேண்டாம் எனில்
முதல் தெரிவை தெரிவு செய்து கீழே pages என இருப்பதில் admin* எனக்கொடுத்து விடலாம். இங்கே * என்பது admin எனத்துவங்கும் அனைத்து பக்கங்களுக்கும் என பொருள் படும். admin என மட்டும் கொடுத்தால் admin என்கிற முதற்பக்கத்திற்கு மட்டும் பெட்டி தெரியாது. ஆனால் admin/settigns அல்லது admin/user போன்ற வேறு பக்கத்திற்குச் சென்றால் பெட்டி தெரியும்.
அனைத்து பயனர் பக்கத்திற்கும் தெரிய வேண்டாம் எனில் user* எனவும், அனைத்து பதிவுப் பக்கத்திற்கும் தெரிய வேண்டாம் எனில் node* எனவும் கொடுக்கலாம். தளத்தின் முதல் பக்கத்திற்கு மட்டும் தெரியக்கூடாது எனில் எனக்கொடுக்கவும்.Show on only the listed pages:
இதைத்தெரிவு செய்தால் பெட்டி கீழே கொடுக்கப்பட்டிருக்கும் எல்லா பக்கங்களில் மட்டும் தெரியும். இதைத்தவிர வேறு பக்கங்களில் தெரியாது.
எனவே ஒரு பெட்டியை நீங்கள் தளத்தின் முதல் பக்கத்திற்கு மட்டும் தெரியவேண்டும் எனில் இங்கே pages என்பதில் எனக்கொடுக்கவும்.
அனைத்து பதிவுப் பக்கத்திற்கு மட்டும் தெரிய வேண்டும் எனில் node* எனக் கொடுக்கலாம்.
அனைத்து பயனர் பக்கத்திற்கு மட்டும் தெரிய வேண்டும் எனில் user* எனக் கொடுக்கலாம்.அனைத்து பயனர் பக்கத்திற்கு மட்டும் தெரிய வேண்டும் ஆனால் anonymous பயனாளருக்கு தெரியவேண்டாம் எனில் இங்கே user* எனக் கொடுத்து மேலே Role specific visibility settings என்ற பகுதியில் authenticated user என்பதை மட்டும் தெரிவு செய்யவும்.
user/*/edit என்று கொடுத்தால் பயனர் கணக்கை மாற்றும் பக்கத்திற்கு மட்டும் தெரியும். இங்கே * என்பதற்கு "பக்க விழியில் user/ எனத்தொடங்கியும் இறுதியில் /edit என முடிந்தும் இடையில் என்ன இருந்தாலும்" எனப் பொருள் படும். அதாவது user/1/edit, user/2/edit, user/123/edit போன்றவை.
ஒரு தனித்த பக்கத்திற்கு மட்டும் தெரிந்தால் போதும் எனில் அப்பக்கத்தின் வழியை இங்கே கொடுக்கவும். உதாரணமாக node/1, node/1234, , user/regiser
Show if the following PHP code returns TRUE (PHP-mode, experts only):
மேலே கொடுக்கப்பட்ட இரண்டு வழிமுறைகளால் கிட்டத்தட்ட பொதுவான அனைத்து வகையாகவும் நாம் பெட்டிகள் தெரிவதை கட்டுப்படுத்த முடிந்தாலும். சில நேரங்களில் அவைகளை வைத்து நம் தேவைக்கு ஏற்ப கட்டுப்படுத்த இயலாமல் இருக்கும்.
உதாரணமாக, ஒரு பெட்டியை அனைத்து பதிவுப்பக்கங்களுக்கும் தெரிய வைக்க வேண்டும் (அதாவது node/*) ஆனால் பதிவை பதியும் அல்லது பதிவை மாற்றும் (node/add/*, node/*/edit) பக்கங்களுக்கு தெரியவைக்கக்கூடாது என்றால் அதை மேலே உள்ள இரண்டு வகை தெரிவுகளினால் பயன்படுத்திக்கொள்ள கடினம்.
ஏனென்றால் அனைத்து பதிவுப்பக்கங்களுக்கும் வேண்டும் என்பதால் நாம் node/* எனக்கொடுப்போம் ஆனால் இதிலேலே node/add/*, node/*/edit போன்ற பக்கங்கள் உள்ளிணைந்து வந்து விடுகிறது.
இதே போலவும் வேறு பல முக்கிய தீர்வுகளின் அடிப்படையிலும் உங்களுக்கு பெட்டியை தெரியவைப்பதை கட்டுப்படுத்தவும் மூன்றாவது தெரிவு பயன்படுகிறது.இத்தெரிவை தெரிவு செய்தால் நீங்கள் pages பெட்டியில் தெரிவை தீர்மானிக்கும் php நிரலை உள்ளீடு செய்ய வேண்டும். இது பல நேரங்களில் ஆபத்தானது. ஏனென்றால் சில நேரம் இந்த php நிரலில் பிழை இருந்தால் தளத்தின் எந்த பக்கத்திற்கும் உங்களால் நுழைய முடியாமல் போகும் நிலை ஏற்படலாம். எனவே இங்கே உள்ளீடு செய்யும் php நிரலில் பிழை இல்லாமல் பார்த்துக்கொள்ளவும். ஒருவேளை நீங்கள் சேமிக்கும் போது பிழை வந்து பக்கம் தெரியாமல் இருந்துவிட்டால் உடனே உலவியில் back தெரிவு செய்து முந்திய பக்கத்தில் அமைவுகளை மாற்றி திரும்ப சேமிக்கவும்.
இப்போது மேலே கொடுக்கப்பட்ட உதாரணத்தின் படி பெட்டியை தெரியவைக்க வேண்டும் எனில் pages என்பதில்
எனக்கொடுத்து விடலாம்.
இந்நிரலில் arg என்ற function பயன்படுத்தியுள்ளோம், இது ட்ரூபாலின் உள்ளிணைந்த function ஆகும், இதில் arg( 0 ) எனக்கொடுத்தால் பக்க வழியின் (page path) முதல் சொல்லையும் arg( 1 ) எனக்கொடுத்தால் பக்க வழியின் இரண்டாவது சொல்லையும் தரும். node/add/story என்பது பக்கத்தின் வழியாக இருந்தால் இதில் arg( 0 ) என்பது node ஆகவும் arg( 1 ) என்பது add ஆகவும் arg( 2 ) என்பது story ஆகவும் இருக்கும்.
இதன்படி,
பக்கத்தின் முதல் arg (arg ( 0 ) ) node என இல்லாவிட்டாலும், இரண்டாவது அல்லது மூன்றாவது arg, add அல்லது edit என இருந்தாலும் return FALSE கொடுத்துள்ளோம்.
எனவே பதிவை பதியும் அல்லது பதிவை மாற்றும் (node/add/*, node/*/edit) பக்கங்களுக்கு பெட்டி தெரியாது.இப்போது நம் தேவைக்கு ஏற்ப படிவத்தை நிரப்பி சேமித்துக் கொள்ளவும். ட்ரூபால் மறுபடி பெட்டிகள் பட்டியல் பக்கத்திற்கு வந்திருக்கும்.
- இங்கே நீங்கள் இப்போது உருவாக்கிய பெட்டி disabled என்ற தலைப்பின் கீழ் தெரியவரும். இப்பெட்டிக்கு நேராக உள்ள region என்பதில் இருந்து பெட்டியை பக்கத்தின் எந்த பகுதியில் தெரியவைக்க வேண்டும் என்பதை தெரிவு செய்து படிவத்தை சேமிக்கவும். நீங்கள் உருவாக்கிய பெட்டி அந்தந்த பக்கத்தில் காட்டசியளிக்கத்துவங்கும்.
இங்கே நாம் சாதாரண உரையை மட்டும் எப்படி பெட்டியாக கொண்டுவருவது என்பதை பார்த்தோம். இதே போல வேறு பல நீட்சிகளின் வாயிலாகவும் விதவிதமான பெட்டிகளை உருவாக்கி இங்கே நிர்வகிக்க முடியும். உதாரணமாக தெரிவு பட்டியலில் (menu) நீங்கள் ஒரு பட்டியை உருவாக்கியிருந்தால் அந்த பட்டியும் இங்கே ஒரு பெட்டியாக வந்துவிடும். வாக்கு (polls) நீட்சியை வைத்து வாக்குப்பெட்டியை உருவாக்க முடியும். இவைகளைப்பற்றி வரும் இதழ்களில் பார்ப்போம்.
--
வினோத் - கன்னியாகுமரி
http://tamilnanbargal.com/friends/vinoth
இக்கட்டுரையைப்பற்றி கருத்து கூறவும் சந்தேகங்களுக்கும் தயவு செய்து தொடர்பு கொள்ளவும்
கருத்துகள்
நன்றி
சிறந்த வழிகாட்டல்
யாழ்பாவாணன்.
http://tamilnanbargal.com/blogs/yarlpavanan
தூய தமிழ் அறிவோம்:
https://www.facebook.com/nattamil









