Apabila membangunkan tapak web, selalunya perlu menambah bar navigasi untuk memudahkan pengguna mengakses halaman laman web yang berbeza. Apabila membangun menggunakan rangka kerja PHP ThinkPHP, bagaimana untuk menentukan bar navigasi yang mana halaman semasa dimiliki? Artikel ini akan memperkenalkan kepada anda cara melaksanakan bar navigasi ThinkPHP dan cara menentukan halaman semasa.
1. Kaedah pelaksanaan bar navigasi ThinkPHP
Dalam ThinkPHP, bar navigasi biasanya dilaksanakan menggunakan templat awam. Langkah-langkah khusus adalah seperti berikut:
1 Mula-mula buat fail templat awam, seperti header.html, untuk menyimpan kod bar navigasi tapak web. Dalam fail ini, anda boleh menyesuaikan gaya dan susun atur bar navigasi mengikut keperluan anda.
2. Rujuk fail templat awam dalam setiap sub-halaman dan benamkan kod bar navigasi ke dalam sub-halaman. Dalam rangka kerja ThinkPHP, gunakan kod berikut untuk merujuk fail templat awam:
<?php include(THEME_PATH . 'header.html'); ?>
Antaranya, THEME_PATH ialah laluan tema yang ditentukan pengguna.
3 Dalam fail templat awam, anda perlu menggunakan kod PHP untuk menentukan bar navigasi di mana halaman semasa berada. Biasanya pembolehubah $_SERVER['REQUEST_URI'] digunakan untuk mendapatkan alamat URL halaman semasa, dan kemudian pernyataan if digunakan untuk menentukan bar navigasi di mana halaman semasa berada.
Sebagai contoh, kod berikut boleh menentukan sama ada halaman semasa tergolong dalam bar navigasi halaman utama:
<?php if(strpos($_SERVER['REQUEST_URI'], 'index/index') !== false) {?> <li class="active"><a href="/index.php/Home/Index/">首页</a></li> <?php } else { ?> <li><a href="/index.php/Home/Index/">首页</a></li> <?php } ?>
Dalam kod di atas, fungsi strpos() digunakan untuk menentukan sama ada alamat URL daripada halaman semasa mengandungi Rentetan 'indeks/indeks', jika wujud, ini bermakna halaman semasa tergolong dalam bar navigasi halaman utama, dan kemudian tambahkan keadaan yang dipilih pada bar navigasi semasa dengan menetapkan atribut aktif
2. Bagaimana untuk menentukan bar navigasi yang mempunyai halaman semasa
Dalam langkah sebelumnya, kami telah memperkenalkan cara menggunakan pernyataan if untuk menentukan bar navigasi yang mana halaman semasa kepunyaan. Walau bagaimanapun, dalam pembangunan sebenar, kaedah ini mungkin menyebabkan beberapa masalah, seperti: jika alamat URL mengandungi parameter, bagaimana untuk menentukan bar navigasi yang mana halaman semasa berada? Pada ketika ini, anda perlu menggunakan kaedah yang lebih bijak untuk menyelesaikan masalah.
Dalam rangka kerja ThinkPHP, anda boleh menentukan bar navigasi dengan bijak untuk halaman semasa dengan menentukan tatasusunan bar navigasi dan menentukan pengawal semasa dan kaedah operasi. Langkah-langkah khusus adalah seperti berikut:
1. Tentukan tatasusunan bar navigasi dalam fail konfigurasi. Contohnya:
//定义导航栏数组 'NAV_LIST' => array( '首页' => array('Index', 'index'), '新闻' => array('News', 'index'), '产品' => array('Product', 'index'), '联系我们' => array('Contact', 'index'), ),
Dalam tatasusunan di atas, kunci mewakili nama bar navigasi dan nilainya ialah tatasusunan yang mengandungi nama pengawal dan kaedah operasi.
2. Dalam fail templat awam, gunakan gelung foreach untuk melintasi tatasusunan bar navigasi dan gunakan pernyataan if untuk menentukan sama ada pengawal semasa dan kaedah operasi adalah sama dengan nilai dalam navigasi susunan bar. Jika ia adalah sama, tambahkan atribut aktif pada bar navigasi untuk menunjukkan bahawa halaman semasa adalah miliknya.
Sebagai contoh, kod berikut boleh menentukan bar navigasi dengan bijak untuk halaman semasa:
<?php foreach(C('NAV_LIST') as $key=>$vo){ ?> <?php $active = strtolower(CONTROLLER_NAME) == strtolower($vo[0]) && strtolower(ACTION_NAME) == strtolower($vo[1]) ? 'class=active' : ''; ?> <li <?php echo $active;?>><a href="<?php echo U($vo[0].'/'.$vo[1]);?>"><?php echo $key;?></a></li> <?php } ?>
Dalam kod di atas, gelung foreach digunakan untuk melintasi tatasusunan bar navigasi. Kemudian, gunakan pernyataan if untuk menentukan sama ada pengawal semasa dan kaedah operasi adalah sama dengan nilai dalam tatasusunan bar navigasi. Jika ia adalah sama, tambahkan atribut aktif pada teg
Ringkasnya, sama ada anda menggunakan pernyataan if untuk menentukan bar navigasi mana halaman semasa dimiliki, atau menggunakan kaedah pertimbangan pintar, anda perlu menjelaskan pengetahuan berkaitan rangka kerja ThinkPHP. Saya harap pengenalan dalam artikel ini dapat membantu semua orang apabila membangunkan tapak web menggunakan rangka kerja ThinkPHP.
Atas ialah kandungan terperinci Bagaimana untuk menentukan halaman semasa dalam bar navigasi thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!