Thursday, December 18, 2008

Google Search එකෙන් වැඩ ගමු

Google Search එකෙන් වෙබ් පිටු සෙවුමට වඩා වැඩ රාශියක්‌ කරගන්න පුලුවන් නේ. මම අද හදන්නෙ ඉන් කිහිපයක්‌ ගැන කියන්නයි.

Google එකෙන් ගණන් හදමු

Google search එකෙන් පහසුවෙන්ම ගනන් හදන්න පුලුවන්. අවශ්‍ය ගාන සෙවුම් කොටුවේ ඇතුල්කර search බොත්තම ඔබන්න.

උදා - 5 x 5 සදහා සෙවුම් කොටුවේ 5*5 ඇතුල් කර සොයන්න.

google calc

විනිමය අනුපාත

ඇමරිකානු ඩොලර් 50 ක්‌ ලංකා රුපියල් වලින් කීයද? යන්න google, සොයන්න මේ විදිහට - 50 USD in LKR

google exchange rates

සින්දු ලේසියෙන් හොයමු!

හදිස්‌සියට සින්දුවක්‌ හොයාගන්න ගූගල් සෙවුම් පිටු අස්‌සෙ සාමාන්‍ය විදිහට සොයලා කාලෙ කන්න ඕන නැහැ. ලේසියෙන්ම හොයාගන්න පුලුවන් මේ විදිහට හෙව්වොත්. සෙවුම් කොටුවේ මේ විදිහට සොයන්න intitle:index.of mp3 songtitle උදාහරනයක්‌ ලෙස Metallica ගෙ nothing else matters සොයමු. පහත රූපයේ පරිදි සෙවිය යුතුයි.

search songs

එන සෙවුම් ප්‍රතිඵල වලින් පලමු එකට ගිහින් බලමු.

search songs

ඔන්න අපිට පේනවා ඇපාචි ඩිරෙක්‌ටරි ලිස්‌ටින් ඉවත් නොකල වෙබ් ගොනුවක්‌. මෙයින් අවශ්‍ය සින්දුව ක්‌ලික්‌ කල පසු එය පරිගනකයට භාගත වේවි.

වෙලාව බලන්න

වේලව බලන්න මෙලෙස හොයන්න. what time is it 'city name'. උදා - what time is it new york

time

රටක ප්‍රධාන නගර වල වේලාවන් බලන්න අවශ්‍ය නම් what time is it සමග රට ඇතුල් කරන්න.

time

Friday, December 12, 2008

jQuery | sidemenu එකක්‌ හදමු

ඔන්න ආපහු ආවා jQuery එක්‌ක. අද බලමු තවත් මෙනු එකක්‌ කොහොමද හදන්නෙ කියලා. මේකට මම භවිතා කරන්නේ next() . next() මගින් අපිට යම් element එකක ඊලගට ඇති element එක ගන්න පුලුවන්.

jquery menu

මුලින්ම අපි html list එකක්‌ මගින් මෙනු එකෙහි සැකැස්‌ම හදමු.

<ul id="nav">
    <li><a class="main" href="#">Home</a>
     <ul>
         <li><a href="#">my blog</a></li>
            <li><a href="#">my facebook profile</a></li>
            <li><a href="#">my website</a></li>
        </ul>
    </li>
    <li><a class="main" href="#">SBU</a>
     <ul>
         <li><a href="#">Sinhala Bloggers Union</a></li>
            <li><a href="#">Sinhala Blog Reader</a></li>
            <li><a href="#">MyBlog.lk</a></li>
            <li><a href="#">Sinhala Blogs Facebook App</a></li>
        </ul>
    </li>
    <li><a class="main" href="#">Links</a>
  <ul>
            <li><a href="#">google</a></li>
            <li><a href="#">youtube</a></li>
            <li><a href="#">facebook</a></li>
  </ul>
    </li>
    <li><a class="main" href="#">About Me</a></li>
    <li><a class="main" href="#">Contact</a></li>
</ul>

දැන් එය මෙසේ දිස්‌වේවී. දැන් අපේ මෙනු එක css මගින් style කරන්න වෙලාව.

පිටුවේ ඇති සියලුම element වල padding සහ margin, 0 කිරීම සදහා css ගොනුවට * { margin:0; padding0; } කේතය අතුල් කරනවා. ඉන් පසු ul (unordered list) එකෙහි li (list item) වල bullet එක ඉවත් කිරීමට සහ එක li තුල ඉඩ ලබා දීමට li { list-style:none; line-height:36px; display:inline; } ලෙස යොදනවා. menu එකෙහි ප්‍රමානය රඳවා ගැනීමට මම wrapper div එකක්‌ තුලට menu list එක දමා තිබෙනවා. එහි පලල 350px ලෙස දෙමු.

* { 
    margin:0; 
    padding:0; 
}

li { 
    list-style:none; 
    line-height:36px;  
    display:inline; 
}

#wrapper { 
    width:350px; 
    margin:30px 0 0 30px;
}

එලෙසම මෙනු එකෙහි ලින්ක්‌ සදහා css style ලබා දෙමු.

#nav li a, #nav li a:visited { 
    display:block; 
    color:#fff; 
    text-decoration:none; 
    padding-left:15px; 
    font-family:Georgia, "Times New Roman", Times, serif; 
    font-style:italic; 
    font-size:22px; 
    border-bottom:1px solid #fff; 
    background:#3b5998 url(arrow.gif) top right no-repeat; 
}
#nav li a:hover, a.active_link { 
    background-position:bottom right!important; 
}

#nav li ul li a, #nav li ul li a:visited { 
    font-weight:normal!important; 
    color:#3b5998!important; 
    background:#d8dfea!important; 
}
#nav li ul li a:hover { 
    background:#c6d5ed!important; 
}

මෙහි ලින්ක්‌ එකේ පසුබිම් රූපයක්‌ ලෙස මම කුඩා ඊතලයක රූපයක්‌ photoshop මගින් සාදා ගත්තා. පහත ආකාරයට එම රූපයේ ඉහල කොටසින් ලින්ක්‌ එකෙහි සාමාන්‍ය පෙනුමත් පහල කොටසින් ලින්ක්‌ එක hover කල පසු පෙනුමත් දැක්‌වෙන ලෙස රූපය සාදාගෙන තිබෙනවා.css මගින් ලින්ක්‌ hover එක කල විට පසුබිම් රූපයේ පිහිටීම වෙනස්‌ කිරීමෙන් අපිට මෙනු එකෙහි දැක්‌වෙන ආකාරයේ effect එක ලබාගන්නට පුලුවන්.

menu background arrow

දැන් අපේ මෙනු එක css style සමග මෙසේ පෙනේවි.

සම්පූර්ණ css කේතය
* { 
    margin:0; 
    padding:0;
}

#wrapper {  
    width:350px;  
    margin:30px 0 0 30px; 
}

li {  
    list-style:none;  
    line-height:36px;
    display:inline;
}

#nav li a, #nav li a:visited {  
    display:block;  
    color:#fff;  
    text-decoration:none;  
    padding-left:15px;  
    font-family:Georgia, "Times New Roman", Times, serif;  
    font-style:italic;  
    font-size:22px;  
    border-bottom:1px solid #fff;  
    background:#3b5998 url(arrow.gif) top right no-repeat; 
}

#nav li a:hover, a.active_link {  
    background-position:bottom right!important; 
}

#nav li ul li a, #nav li ul li a:visited {  
    font-weight:normal!important;  
    color:#3b5998!important;  
    background:#d8dfea!important; 
}

#nav li ul li a:hover {  
    background:#c6d5ed!important; 
}

දැන් අපි jquery මගින් මෙනු එකට සජීවී බවක්‌ එකතු කරමු. ප්‍රථමයෙන් jquery ගොනුව ඔබේ පිටුවට එකතු කරගන්න. නවතම ගොනුව jquery.com වෙතින් ලබා ගන්නට පුලුවන්.

$(document).ready(function(){
    $('#nav li ul').hide();
    $('#nav li a.main').click(function(){
        $('#nav li ul:visible').slideUp('normal');
        $('.active_link').removeClass('active_link');
        $(this).addClass('active_link').next().slideDown('slow');
    });
});

මුලින්ම අපි sub menu සගවමු. මේ සදහා document ready function හි $('#nav li ul') මගින් #nav හි සියලු li තුල ඇති ul ලබාගෙන (එනම් sub menu), hide() මගින් ඒවා සැගවිය හැකියි.

ඉන්පසු මෙනු එකෙහි main class එක සහිත සියලු ලින්ක්‌ සඳහා click function එකක් යොදනවා.එ තුල මුලින්ම කර ඇත්තේ දැනටමත් sub menu විවෘතව ඇත්ද යන්න බැලීමයි. විවෘතව ඇත්නම් ඒවා slide up වෙනවා. මෙහි active_link class එක භාවිතා කරන්නේ ලින්ක්‌ එකෙහි පසුබිම් රූපය වන ඊතලය වෙනස්‌ කිරීම සදහායි. active link class එක ලින්ක්‌ එකට යෙදූ විට ඊතලය පහලට යොමුවී තිබෙන අතර active link class එක ලින්ක්‌ එකේ නැති විට ඊතලය දකුණට යොමු වෙනවා.

අවසාන පේලියෙන් කියන්නේ ඔබ ක්‌ලික්‌ කල ලින්ක්‌ එකට ($(this)), active_link class එක එකතු කරන ලෙසත් ඉන් පසු එම ලින්ක්‌ එකට පසුව ඊලගට ඇති element එක වන sub menu එක slide down කරන ලෙසයි.

අවසාන ප්‍රතිඵලය මෙසේ දිස්‌වේවි.

Thursday, November 27, 2008

facebook app | සිංහල බ්ලොග් කියවනය

දැන් කාගෙ කාගෙත් කාලය වැඩියෙන් වැය කරන්නෙ facebook එකේ නේ. ඔන්න ඒක නිසා හැදුව පොඩි facebook application එකක්‌ සිංහල බ්ලොග් කියවනයේ අලුත්ම ලිපි පෙන්වන්න. මේක තාම ප්‍රාථමික මට්‌ටමේ තියෙන්නෙ. දාල ම බලන්න කො. ඉදිරියට තව අංග රාශියක්‌ එකතු කිරීමට බලාපොරොත්තු වෙනවා.

 

http://apps.facebook.com/sinhala_blogs/

 

Sinhala Blogs

 

අවශ්‍ය නම් මෙය 'profile tab' ලෙස එකතු කරන්නත් පුලුවන්. ඉහත සබැඳියට පිවිසීමෙන් පසු ඔබේ 'profile' එකට ගොස්‌ එහි ඇති (+) ලකුන ඔබා එන සෙවුම තුල 'sinhala blogs' සොයන්න.

 

Sinhala Blogs

Wednesday, November 26, 2008

jQuery | Contact From එකක්‌ හදමු

වෙබ් අඩවියක වැදගත් අංගයක්‌ නේ contact form එක. අපි අද බලමු කොහොමද jquery/php/ajax භාවිතයෙන් එකක්‌ හදන්නෙ කියලා. හුගක්‌ වෙබ් අඩවි වල මේ පිලිබඳ සටහන් තිබුනත්, සිංහලෙන් වැඩි විස්‌තර නැති නිසා මම හිතුවා මේ ගැන ලියන්න.

අවසාන ප්‍රතිඵලය මුලින්ම බලලම ඉමු. කිසිම කොටුවක්‌ සම්පූර්ණ නොකර send බොත්තම ඔබා බලන්න. මෙහි fileds පුරවන්නෙ නැතිව send බොත්තම එබුවොත් පනිවුඩයක්‌ දිස්‌ වෙනවා එම fields සම්පූර්ණ කරන ලෙස ඉල්ලමින්. නැවත එම fields සම්පූර්ණ කල පසු පමනයි form එක submit වන්නේ.

අපි form layout එකෙන් පටන්ගමු.

html
<div id="wrapper">
 <h1>Contact Form</h1>
    <ul id="response">
     <li class="process">Processing..</li>
    </ul>
 <form method="post" action="send.php">
     <label for="name">Name</label>
        <input type="text" name="name" id="name" />
        <label for="email">Email</label>
        <input type="text" name="email" id="email" />
        <label for="message">Message</label>
        <textarea id="message" name="message" cols="20" rows="5"></textarea>
        <input type="button" value="send" id="send" name="submit" />
    </form>
</div>
css
* {
 padding:0; 
 margin:0;
}

body { 
 font-family:Verdana, Arial, Helvetica, sans-serif; 
 font-size:12px; 
 padding-top:30px; 
}

#wrapper { 
 width:500px; 
 margin:0 auto; 
 padding:20px; 
 background:#f9f9f9; 
 border:1px solid #ddd; 
}

label { 
 display:block; 
 padding:10px 0 5px; 
}

input, textarea { 
 width:490px; 
 border:1px solid #ddd!important; 
 padding:5px!important; 
}

input#send { 
 margin-top:15px; 
 width:100px; 
 text-align:center; 
 font-weight:bold; 
 background:#ddd; 
}

ul#response { 
 list-style-position:inside; 
 padding:20px 0 10px; 
}

ul#response li { 
 color:#c00; 
}

.sent { 
 color:#090!important; 
 list-style:none; 
}

jQuery

jquery.com වෙබ් අඩවියෙන් අලුත්ම jQuery ගොනුව ලබාගෙන ඔබේ පිටුවට link කරගන්න. මෙම form එක සඳහා අපි jquery හි ajax යෙදුම භාවිතා කරනවා. එය කරන්නෙ මෙහෙමයි. පහතින් පේලියෙන් පේලිය විස්‌තර කරන්නම්.

$(document).ready(function(){
  $('.process').hide();
  $('#send').click(function(){
    $('.process').fadeIn('fast');
      var name = $('#name').val();
      var email = $('#email').val();
      var message = $('#message').val();      
      $.ajax({
        type: 'post',
        url: 'send.php',
        data: 'name=' + name + '&email=' + email + '&message=' + message,
        success: function(msg{
          $('.process').fadeOut(1000);    
          $('#response').html(msg);
        }
      });
  });
});

පලවන පේලියෙන් සුපුරුදු පරිදි ආරම්භ වීමට ප්‍රථම පිටුව පූරණය වන තෙක්‌ සිටිනවා.

දෙවන පේලියෙන් කරන්නේ අපේ තාවකාලික පනිවිඩය ෆෝරමයේ send බොත්තම ඔබන තෙක්‌ සගවා තබා ගැන්ම.

තුන් වන පේලියේදී #send id එක සහිත send බොත්තම සදහා click function එකක්‌ යොදනවා. එනම් බොත්තම එබූ පසු එම වරහන් තුල ඇති කේතය (4 සිට 16 දක්‌වා පේලි) ක්‍රියත්මක වෙනවා.

හතරවන පේලියෙන් තාවකාලික පනිවිඩය පෙන්වනවා.

5, 6, 7 පේලි මගින් භාවිතයේ පහසුව සදහා අදාල id සහිත input සහ textarea වෙතින් එන අගයන් (values) විචල්‍යන්ට දමා ගන්නවා.

8 - 16 පේලි ajax post එක සදහායි. මෙහි මම භාවිතා කරන සැකසුම කොටස්‌ හතරකින් සමන්විතයි.type - යවන ආකාරය, url - යවන්නේ කුමන ගොනුවටද, data - යවන දත්තයන් සහ success - ලැබෙන ප්‍රතිචාරය එම කොටස්‌ හතරයි.

මෙහිදී මම ඊමේල් පනිවිඩය යෑවීමට 'phpMailer' නමැති නොමිලේ ලබාගත හැකි php class එක පාවිච්චි කරනවා. ඔබේ සර්වරයේ php version එකට ගැලපෙන ගොනුව phpMailer වෙතින් ලබාගන්නට පුලුවන්.

එම phpMailer ෆෝල්ඩරයත් ඔබේ contact form එක ඇති ෆෝල්ඩරය තුලටම දමන්න.

දැන් ඇත්තේ send.php ගොනුව php මගින් සාදා ගැනීමයි. මෙය ඉතා පහසුවෙන් phpMailer හි example ගිනු පිරික්‌සීමෙන් සාදාගන්නට පුලුවන්. අපේ contact form එක සඳහා සරල validation සහිත send.php ගොනුවක්‌ පහත පරිදි ලියන්න පුලුවන්.

<?php
 
 $name = trim($_POST['name']);
 $email = $_POST['email'];
 $message = $_POST['message'];
 
 $site_owners_email = 'youremail@email.com'; // ඔබේ ඊමේල් ලිපිනය යොදන්න 
 $site_owners_name = 'your name'; // ඔබේ නම යොදන්න 
 
 if (strlen($name) < 2) {
  $error['name'] = "Please enter your name"; 
 }
 
 if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) {
  $error['email'] = "Please enter a valid email address"; 
 }
 
 if (strlen($message) < 3) {
  $error['message'] = "Please leave a comment.";
 }
 
 if (!$error) {
  
  require_once('phpMailer/class.phpmailer.php');
  $mail = new PHPMailer();
  
  $mail->From = $email;
  $mail->FromName = $name;
  $mail->Subject = "Website Contact Form";
  $mail->AddAddress($site_owners_email, $site_owners_name);
  $mail->Body = $message;
    
  $mail->Send();
  
  echo "<li class='sent'>Thank You " . $name . ". We recived your message.</li>";
  
 }
 else {

  $response = (isset($error['name'])) ? "<li>" . $error['name'] . "</li> \n" : null;
  $response .= (isset($error['email'])) ? "<li>" . $error['email'] . "</li> \n" : null;
  $response .= (isset($error['message'])) ? "<li>" . $error['message'] . "</li>" : null;
  
  echo $response;
 }

?>

දැන් සියල්ල සූදානම්. ගැටලු ඇත්නම් comment මගින් විමසන්න.

සම්පූර්ණ කේතය මෙතනින් ගන්න