កន្លង​មក យើង​បាន​បង្កើត​គំរូ​ក្បាល​ទំព័រ​រួច​ហើយ​។ ដូចនេះ នៅ​ពេល​ដែល​អ្នក​អាន​ចុច​ស្វែង​រក​ការផ្សាយ​ទាក់ទង​នឹង​ពាក្យ​ណា​មួយ​នៅ​ក្នុង​ជំពូក​ណា​មួយ បើ​សិន​ជា​នៅ​ក្នុងទំរង់បែបបទ​នៅ​ក្នុង​គំរូ​ក្បាល​គេហទំព័រ​មាន​ការប្រកាស​ពី​លក្ខណៈ action  ពាក្យ​ដែល​ត្រូវ​ស្វែងរក​នៅ​ក្នុង​ជំពូក​ណាមួយ​នោះ នឹង​ត្រូវ​ភ្ជាប់​ទៅ​នឹង​អាស័យដ្ឋាន​ដែល​ជា​ផ្លូវ​ចូល​ទៅ​កាន់​ទំព័រ​ដែល​ជា​តំលៃ​​របស់​​លក្ខណៈ action ​។

 

<!--src/layouts/Header.astro-->
---
---
<section class="header">
    <header class='wrapper region'>
        <div class='logo'>
            <a href='/'><img src='/images/siteLogo.png' /></a>
            <a href='/'>ខ្មែរ​វីដេអូ</a>
        </div>
        <form class='search' action="/search">
            <select name='category'>
                <option>រឿងខ្មែរ</option>
                <option>រឿងថៃ</option>
                <option>រឿងចិន</option>
                <option>រឿងកូរ៉េ</option>
                <option>ឯកសារ</option>
            </select>
            <input type='text' name='q' placeholder='សរសេរ​ពាក្យ​ត្រូវ​ស្វែងរក...' required />
            <input type='submit' value='ស្វែងរក' /> 
        </form>
        <div class='date'>
            <script>
                const datetime = new Date().toLocaleDateString('it-IT')
                $('.date').html(datetime)
            </script>
        </div>
    </header>
</section>

<style>
    .header{
        background: orangered;
    }

    .wrapper{
        display: grid;
        grid-template-columns: 25% auto 20%;
        align-items: center;
        padding: 10px 0;
    }

    .wrapper .logo{
        display: grid;
        grid-template-columns: 60px auto;
        align-items: center;
        grid-gap: 10px;
    }

    .wrapper .logo img{
        width: 60px;
    }

    .wrapper .logo a{
        font: 40px/1.5 StardosStencul, Limonf3;
        color: white;
    }

    .wrapper .search{
        display: grid;
        grid-template-columns: 70px auto 15%;
    }

    .wrapper .search input, .wrapper .search select{
        font: var(--body-font);
    }

    .wrapper .search [name='q']{
        padding: 0 5px;
    }

    .wrapper .date{
        text-align: right;
        color: white;
        font-size: 20px;
    }

    @media only screen and (max-width: 600px){
        .wrapper{
            grid-template-columns: 100%;
            padding: 0 10px;
            text-align: center;
        }

        .wrapper .logo{
            grid-template-columns: 100%;
        }

        .wrapper .date{
            text-align: center;
        }
    }
</style>

 

ឧបមាថា យើង​ជ្រើស​រើស​ស្វែង​រក​កាផ្សាយ​នៅ​ក្នុង​ជំពូក ​​រឿង​ខ្មែរ និង​សរសេរ​ពាក្យ​ថា ស្នេហ៍ ដើម្បី​ស្វែង​រក​កាផ្សាយ​ដែល​មាន​ចំណង​ជើង​មាន​ពាក្យ​ថា ស្នេហ៍ នៅ​ក្នុង​នោះ​។ នៅ​ពេល​ដែលយើង​ចុច​ខ្ទង់ Enter ឬ​ចុច​ប៊ូតុង ស្វែងរក យើង​នឹង​ឃើញនៅ​​ផ្នែក​អាស័យដ្ឋាន​នៅ​លើ browser មាន​ពាក្យ​ដែល​ត្រូវ​ស្វែង​រក​និង​ជំពូក​ត្រូវ​បាន​ភ្ជាប់ទៅ​នឹង​អាស័យដ្ឋាន​នោះ​។

 

http://localhost:4321/search?category=រឿងខ្មែរ&q=ស្នេហ៍

 

ពាក្យ​ទាំងនោះ​ជា​ភាសា​អង់គ្លេស​ត្រូវ​ហៅ​ថា query string ដែល​យើង​អាច​ស្រង់​យក​មក​ប្រើប្រាស់​ក្នុង​ការស្វែងរក​ការផ្សាយ​ទាំងឡាយ​នៅ​ក្នុង​បណ្តុំ​ទិន្នន័យ​ សំរាប់​ផ្លូវ​ចូល​ទៅ​កាន់​ឯកសារ search.astro៕

 

Netlify: https://khmerweb-static-blog.netlify.app

GitHub: https://github.com/Sokhavuth/static-blog