2009-09-27 91 views
1

我該如何爲文本字段添加前綴?例如,我有一個所謂的「網站」字段當前顯示是這樣的:CCK字段前綴?

website: ____________ 

哪裏_是輸入字段。有了模塊「字段標記」,我可以添加前綴和後綴,但他們在http://www.之後或在網站部分之前添加。我需要結束:

website: http:// ____________ 

任何想法如何做到這一點?

回答

0

您可以使用hook_form_alter來修改文本框的#field_prefix(而不是#prefix)。您也可以使用CCK鏈接模塊提供一個正確的URL字段,並根據需要添加http://並驗證URL的格式。

+0

替換一些字符我確實使用CCK鏈接,但它不會將http添加到前面?也許我應該升級我使用的版本。 – coderama 2009-09-28 05:26:48

+0

我不認爲LINK CCk提供這個功能。現在嘗試你的其他建議。 – coderama 2009-09-28 05:46:39

+0

鏈接CCK字段不會將http://放在前面,但會確保用戶輸入了有效的URL。 – ceejayoz 2009-09-28 13:05:42

0

您必須使用'#after-build'機制來做到這一點,以便CCK已經構建了表單元素。

<?php 
function your_module_form_alter(&$form, &$form_state, $form_id) { 
    $form['#after_build'][] = 'your_module_form_after_build_function'; 
} 

function your_module_form_after_build_function($form, &$form_state) { 
    $form['field_your_field_name'][0]['value']['#field_prefix'] = t('Example Prefix'); 
    $form['field_your_field_name'][0]['value']['#field_suffix'] = t('Example Suffix'); 
} 
?> 

您可能還需要使文本字段沒有明確調整CSS(如果你希望你的前綴或後綴出現在同一行文本框)。

見#後建立的形式API參考: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#after_build

+0

Ooops。我的答案是專門爲CCK字段添加前綴或後綴,而不是常規文本字段。 – speedytwenty 2011-02-24 03:38:00

0

你可以用Simple Field Formatter模塊做到這一點,看看下面的截圖

enter image description here

這允許網站管理員可以輕鬆地控制 字段值顯示有以下特點

  • 用指定值預先設置字段值IED文本/ HTML
  • 附加字段值與指定的文本/ HTML
  • 反轉字段值
  • 修剪字段值
  • 轉換域值爲小寫字母
  • 轉換域值爲大寫字母
  • 轉換的字段值的第一個字符爲大寫
  • 轉換每個單詞的第一個字符在字段值爲大寫(7.x的-1.x的-DEV)
  • 與字段值的一些其它字符(7.x的-1.x的-DEV)
  • 鏈接字段值到節點(7.x的-2.X-DEV)