zen cart 函数: zen_draw_pull_down_menu

盖斌
2023-12-01
  1. function  zen_draw_pull_down_menu ( $name$values$default  =  ''$parameters  =  ''$required  = false) {  
  2.    $field  =  '<select name="'  . zen_output_string( $name ) .  '"' ;  
  3.    if  (zen_not_null( $parameters ))  $field  .=  ' '  .  $parameters ;  
  4.    $field  .=  '>'  .  "/n" ;  
  5.    if  ( empty empty ( $default ) && isset( $GLOBALS [ $name ]) &&  is_string ( $GLOBALS [ $name ]) )  $default  =  stripslashes ( $GLOBALS [ $name ]);  
  6.    for  ( $i =0,  $n =sizeof( $values );  $i < $n$i ++) {  
  7.      $field  .=  '  <option value="'  . zen_output_string( $values [ $i ][ 'id' ]) .  '"' ;  
  8.      if  ( $default  ==  $values [ $i ][ 'id' ]) {  
  9.        $field  .=  ' selected="selected"' ;  
  10.      }  
  11.      $field  .=  '>'  . zen_output_string( $values [ $i ][ 'text' ],  array ( '"'  =>  '"''/''  =>  '' ', ' < ' => ' < ', ' > ' => ' > ')) . ' </option>' .  "/n" ;  
  12.    }  
  13.    $field  .=  '</select>'  .  "/n" ;  
  14.    if  ( $required  == true)  $field  .= TEXT_FIELD_REQUIRED;  
  15.    return   $field ;  
  16.  }  

zen_draw_pull_down_menu 函数位于 /includes/functions/html_output.php 文件,主要的作用是输出表单的下拉框。

zen_draw_pull_down_menu 函数一共有 $name, $values, $default, $parameters,$required 5个参数。

$name 是下拉框的名字,比如传递 'KWriteDropDownMenu' 给它,

  1. $testName  =  'KWriteDropDownMenu' ;  
  2. echo  zen_draw_pull_down_menu ( $testName , ...);  

就会输出:

 

  1. < select   name = "KWriteDropDownMenu" >   
  2. ...  
  3. ...  
  4. ...  
  5. </ select >   

$values 是选项的值,是个多维数组。其中每个子数组必须包含‘id’和‘text’这2个键名和对应的值。比如传递以下数组给 zen_draw_pull_down_menu

 

  1. $testName  =  'KWriteDropDownMenu' ;  
  2. $testArray  =  array ( array ( 'id' => 'first''text' => '第一' ),   
  3.                 array ( 'id' => 'second''text' => '第二' ),  
  4.                 array ( 'id' => 'third''text' => '第三' ),  
  5.                 array ( 'id' => 'forth''text' => '第四' )  
  6.             );  
  7. echo  zen_draw_pull_down_menu ( $testName$testArray , ...);  

就会输出:

 

  1. < select   name = "KWriteDropDownMenu" >   
  2.   < option   value = "first" > 第一 </ option >   
  3.   < option   value = "second" > 第二 </ option >   
  4.   < option   value = "third" > 第三 </ option >   
  5.   < option   value = "forth" > 第四 </ option >   
  6. </ select >   

$default 参数指定下拉框默认的值。不传递这个参数,则下拉框没有默认值。$default 的值必须是 $values 这个数组中某个子数组的 ‘id’键名。继续上例:

 

  1. $testName  =  'KWriteDropDownMenu' ;  
  2. $testArray  =  array ( array ( 'id' => 'first''text' => '第一' ),   
  3.                 array ( 'id' => 'second''text' => '第二' ),  
  4.                 array ( 'id' => 'third''text' => '第三' ),  
  5.                 array ( 'id' => 'forth''text' => '第四' )  
  6.             );  
  7. $testDefault  =  'first' ;  
  8. echo  zen_draw_pull_down_menu ( $testName$testArray$testDefault , ...);  

得到以下输出结果:

 

  1. < select   name = "KWriteDropDownMenu" >   
  2.   < option   value = "first"   selected = "selected" > 第一 </ option >   
  3.   < option   value = "second" > 第二 </ option >   
  4.   < option   value = "third" > 第三 </ option >   
  5.   < option   value = "forth" > 第四 </ option >   
  6. </ select >   

$parameters 参数用于控制 select 的外观,它会附加到 <select name="..." 的后面以及 > 之前:

  1. $testName  =  'KWriteDropDownMenu' ;  
  2. $testArray  =  array ( array ( 'id' => 'first''text' => '第一' ),   
  3.                 array ( 'id' => 'second''text' => '第二' ),  
  4.                 array ( 'id' => 'third''text' => '第三' ),  
  5.                 array ( 'id' => 'forth''text' => '第四' )  
  6.             );  
  7. $testDefault  =  'first' ;  
  8. $testParameters  =  'class="testSelectClass"' ;  
  9. echo  zen_draw_pull_down_menu ( $testName$testArray$testDefault$testParameters );  

得到以下输出结果:

 

  1. < select   name = "KWriteDropDownMenu"   class = "testSelectClass" >   
  2.  < option   value = "first"   selected = "selected" > 第一 </ option >   
  3.   < option   value = "second" > 第二 </ option >   
  4.   < option   value = "third" > 第三 </ option >   
  5.   < option   value = "forth" > 第四 </ option >   
  6. </ select >   

这样就可以控制 select 的外观和风格了。

$required 是个布尔值,有2个值:false 和 true。有兴趣的朋友可以自己试验一下。

 类似资料: