剛剛下班回來,上了平常抓檔的 BT 網站一連,統統掛點,後來才想起這陣子是17大開會的期間。
希望開完會後網站能恢復阿~
2007/10/17
2007/10/13
Drupal 的 Nice Menu 定位方法
這兩天一直在修改版型,改的差不多的時候,想看一下在IE底下會不會有東西跑掉,一切過去發現 Nice Menu 跑位了,而且還跑得很奇怪。
因為我不希望用絕對定位的方式去鎖位置,而相對定位卻會跑位,實在很傷腦筋,花了半天嘗試錯誤,終於被我改出來了~
解決方法是在 style.css 中加入底下的樣式:
.block-nice_menus {
position: static;
}
.block-nice_menus ul{
padding:0;
}
因為我不希望用絕對定位的方式去鎖位置,而相對定位卻會跑位,實在很傷腦筋,花了半天嘗試錯誤,終於被我改出來了~
解決方法是在 style.css 中加入底下的樣式:
.block-nice_menus {
position: static;
}
.block-nice_menus ul{
padding:0;
}
2007/10/10
Drupal 的 Localizer 語言切換選單
最近接了母公司的兩個網站要做,開了兩次會之後總算動工了,目前正在一步步用 Drupal 把功能需求做出來。
其中有一項是要有個像 ASUS 切換語言顯示的下拉式選單,下拉式選單的部份可以用 Nice Menu 這個模組完成,語言切換則交給 Localizer 模組來負責,可是問題是 Localizer 只提供區塊,沒有提供選單~
後來我在 Customizing the ui locale switching block 找到一段程式碼,拿那個來改造。
完成品在這:
<?php
$languages=localizer_block_switchuilocale_links(variable_get('localizer_switchblock_showflags', TRUE), variable_get('localizer_switchblock_showlangname',TRUE), variable_get('localizer_switchblock_flagseparator', ' ', FALSE));
echo '<ul class="nice-menu nice-menu-down">';
echo '<li class="menuparent menu-path-node-add"><a>' . t('Language') . '</a><ul>';
foreach($languages as $i=>$link) {
echo '<li>' . $link . '</li>';
}
echo '</ul></li></ul>';
?>
使用方法很簡單,新增一個區塊,區塊內容填入上面那段程式碼,輸入格式選 PHP Code 即可。
然後把這個區塊塞入適當的區域即可。
重點就是那個 class= 那一串,要寫出 Nice Menu 可以處理的形式~
另外,如果真的一定要用 select 作下拉式選單的話,就填入下面的程式:
<?php
$languages=localizer_block_switchuilocale_links(variable_get('localizer_switchblock_showflags', TRUE), variable_get('localizer_switchblock_showlangname',TRUE), variable_get('localizer_switchblock_flagseparator', ' ', FALSE));
echo '<select onchange="location=this.options[this.selectedIndex].value">';
echo '<option selected="" value="#">' . t('Language') . '</option>';
foreach($languages as $i=>$link) {
$split=array();
preg_match('/ href="(.*)".*>(.*)</U', $link, $split);
echo '<option value="' . $split[1] . '">' . $split[2] . '</option>';
}
echo '</select>';
?>
本來我是直接在 option 裡面加 onClick 事件,不過我覺得用 select 的 onChange 比較好。
其中有一項是要有個像 ASUS 切換語言顯示的下拉式選單,下拉式選單的部份可以用 Nice Menu 這個模組完成,語言切換則交給 Localizer 模組來負責,可是問題是 Localizer 只提供區塊,沒有提供選單~
後來我在 Customizing the ui locale switching block 找到一段程式碼,拿那個來改造。
完成品在這:
<?php
$languages=localizer_block_switchuilocale_links(variable_get('localizer_switchblock_showflags', TRUE), variable_get('localizer_switchblock_showlangname',TRUE), variable_get('localizer_switchblock_flagseparator', ' ', FALSE));
echo '<ul class="nice-menu nice-menu-down">';
echo '<li class="menuparent menu-path-node-add"><a>' . t('Language') . '</a><ul>';
foreach($languages as $i=>$link) {
echo '<li>' . $link . '</li>';
}
echo '</ul></li></ul>';
?>
使用方法很簡單,新增一個區塊,區塊內容填入上面那段程式碼,輸入格式選 PHP Code 即可。
然後把這個區塊塞入適當的區域即可。
重點就是那個 class= 那一串,要寫出 Nice Menu 可以處理的形式~
另外,如果真的一定要用 select 作下拉式選單的話,就填入下面的程式:
<?php
$languages=localizer_block_switchuilocale_links(variable_get('localizer_switchblock_showflags', TRUE), variable_get('localizer_switchblock_showlangname',TRUE), variable_get('localizer_switchblock_flagseparator', ' ', FALSE));
echo '<select onchange="location=this.options[this.selectedIndex].value">';
echo '<option selected="" value="#">' . t('Language') . '</option>';
foreach($languages as $i=>$link) {
$split=array();
preg_match('/ href="(.*)".*>(.*)</U', $link, $split);
echo '<option value="' . $split[1] . '">' . $split[2] . '</option>';
}
echo '</select>';
?>
本來我是直接在 option 裡面加 onClick 事件,不過我覺得用 select 的 onChange 比較好。
訂閱:
文章 (Atom)