2012-11-15 73 views
1

我有分類術語層次結構,我將它們用作視圖中的過濾器。它在選擇框中顯示層次結構,但子項顯示連字符( - )。我曾嘗試在表單中添加連字符,但我做了,但我無法替換它的空格。添加空間來選擇表單中的選項alter

if ($form_id == 'views_exposed_form') { 
     $i = 0; 
     foreach ($form['field_region_tid']["#options"] as $op) { 
      foreach ($op->option as $key => $arr) { 
       if ($arr != null) { 
        $form['field_region_tid']["#options"][$i]->option[$key] = str_replace("-"," ", $arr); 

       } 

      } 
      $i++; 
     } 

    } 

我怎樣才能把空格在子選項的開始。或者我應該採取其他方式嗎? 謝謝!

回答

0

從form_id我得到它是一個窗體生成的意見。如果是這樣,那麼if條件中的代碼將永遠不會被調用,因爲您的模塊由於兩個模塊的重量而在views模塊之後執行。爲了解決這個問題:

  1. 打開你的數據庫管理(phpMyAdmin的在大多數情況下),並開放system表。

  2. 然後將您的模塊的權重更改爲大於10的值,因爲它是views模塊的默認權重,您需要在views模塊之後執行模塊。

希望這有助於...穆罕默德。

+0

穆罕默德「如果」條件被調用,但選項顯示爲 作爲字符串不閃爍空間。 – Sardor

0

如果問題是,當你的鉤子被稱爲答案在於

hook_module_implements_alter() 

,但它並不像你說的。您的代碼看起來不錯, 您試過

str_replace("-"," ", $arr); 

相關問題