我需要在我的頁面的側邊欄中顯示部分暴露的表單,並在$content
區域中顯示錶單和內容的其餘部分。我真的沒有什麼好辦法可以做到這一點。我以某種方式讓它顯示出來,通過使用「暴露形式」設置「塊」視圖,然後試圖僅通過.tpl文件顯示我需要的部分。問題是,當點擊提交按鈕(提交按鈕位於$content
區域)時,則不考慮邊欄中的過濾器。Drupal的意見 - 分裂暴露的形式可能嗎?
回答
一些橫向思維...爲什麼不探索僅CSS選項?您可以將該表單元素與position:absolute
一起玩?或者(考慮是右側欄)float:right
,然後一些負右邊距將其推送到邊欄?如果您正在使用960網格系統,請使用pull
和push
課程。
從上面的解釋我假設你在塊和內容區域打印相同的表單,並且你隱藏page.tpl中的表單的一部分,如果這是真的,那麼你可以在你的自定義中使用hook_form_alter()模塊然後
- 將表單元素的值(存在於塊中)存儲在全局變量中。
- 現在使用該全局變量並設置表單元素(存在於內容區域中,此表單元素對用戶不可見)。如果你實現了其他方式
提供更多信息。
問候, Chintan。
如果你使用類似context你可以得到暴露過濾器阻塞在同一頁面中顯示的兩倍。然後,您可以使用CSS隱藏每個表單中不想顯示的字段。
您遇到的基本問題是,有在不同的地方有兩種形式,他們會每個人都有自己的表單元素 - 被觸發時提交,只有相同的形式元素中的表單字段發送。您需要將它們移動到一個表單中,或者依靠JavaScript來從兩種表單中收集字段並構建帖子。
這裏有一個相關的問題: https://drupal.stackexchange.com/questions/3827/multiple-copies-of-views-filter-form-exposed-filters 它描述瞭如何複製你的過濾器。但它看起來像一個醜陋的黑客。
有點清潔似乎#6提到的這個方法: http://drupal.org/node/641838#comment-3247748 沒有測試出來,但它看起來不錯。
它還是會給予你一些開銷(重複的觀點),但它可能是這樣使用視圖最簡單的方法。
在另一方面你可能會寫一個模塊,並建立自己的自定義過濾塊,掛鉤到您的視圖。這裏有一篇關於此的博客文章: http://www.hashbangcode.com/blog/creating-custom-views-filters-exposed-form-element-drupal-6-561.html
首先我要回答你的問題,然後我將解釋爲什麼你問錯了問題:
如果構建了formapi外的形式,你可能有一些運氣。這會變得更糟,並且需要你對諸如大規模分配之類的攻擊向量進行額外的關注。
views_some_view.tpl.php:
<form name="input" action="/link/to/view" method="get">
Country: <input type="text" name="country" />
my_custom_exposed_view.module:hook_block() 市:
這將使一個形式,在大多數情況下將其從<form>
開始,有一些輸入字段,然後有lot的隨機HTML,然後輸入一些字段然後關閉。
正如你可能知道,一個<input type="submit" value="Submit" />
只會發佈form
標籤就被封閉在的一切都在下面的HTML提交按鈕:
<form name="input_1" action="/link/to/view" method="get">
Country: <input type="text" name="country" />
</form>
<form name="input_2" action="/link/to/view" method="get">
City: <input type="text" name="city" />
<input type="submit" value="Submit" />
</form>
將只發送City
。這些不是你正在尋找的機器人。
這將需要一個大的形式,但由於form
和/form
之間的所有內容都非常動態,並且包含大量的HTML,包括潛在的其他形式,所以這實際上並不是您想要的。此外:完全獨立於內容地控制塊外觀(示出/未示出)。您需要許多堅固的代碼才能確保塊a)在起始form
標籤不存在時從不出現,並且b)該塊將保證在存在標籤form
時顯示。否則,你不僅僅是無效的HTML,而是大多數情況下會導致頁面無法使用的破碎的HTML。
你根本不想在表格中填寫表格的一部分,而在內容中填寫其他部分。
但是,您希望它可視化就好像一個部分在身體中,其餘部分在側邊欄中。
好消息是,用HTML表示結構是獨立的。這就是你的解決方案所在。
- 給你的表單字段很好的ID和類。您可以使用
hook_form_alter
來更改現有表單,但您可能只是想自己爲整個表單創建HTML。主題層允許。 - 使用CSS按ID和位置挑出單個表單字段:將它們絕對放入正確的位置。或者通過CLASS和職位挑選出各個領域的類別:將它們相對於正確的位置。
- 做一個簡單的識別程序,允許向body-tag添加一個類。 (見下文)。
添加一些CSS來移動邊欄的下邊,當表單字段位於body-tag中時,爲表單字段的移動提供空間。
<body class="<?php print $splitform ?>">
function my_themename_preprocess_page() { if ($GET['q'] == 'path/to/view') { $vars['spliform'] = "splitform" } }
您可以創建塊作爲空的div並有從主網頁JavaScript和二級過濾器形式和其他任何你在那裏需要填充它。再次,您可以使用javascript將表單值從塊表單複製到提交時主窗體中的隱藏字段。這樣可以從一個地方爲您提供所需的全部控制(節點輸出)。唯一值得注意的是,它依賴於更多的JavaScript來將它們結合在一起。
- 1. 如何驗證的意見輸入暴露形式在Drupal-6
- 2. Drupal 7意見暴露的過濾器
- 3. 如何添加CSS類到Drupal 7意見暴露形式
- 4. Drupal的意見重置暴露的過濾器值的變化
- 5. 暴露在Drupal
- 6. 暴露在Drupal
- 7. Drupal搜索和意見暴露過濾器
- 8. 重置Drupal中暴露形式的按鈕
- 9. Drupal,暴露的意見過濾器:包含結果的列表選項
- 10. Drupal 7意見暴露的過濾器「任何」與有限的選擇
- 11. Drupal 7,分類暴露過濾器
- 12. Drupal 7意見3:暴露過濾器,搜索特定的領域
- 13. drupal視圖暴露的過濾器在Linux安裝中不可見
- 14. Drupal的:做這些權限暴露我
- 15. Drupal的意見require_once
- 16. Drupal中暴露的日期過濾器 - 使「月」可選
- 17. 在drupal的公民意見
- 18. 滑動UIView部分的方式來暴露另一個視圖,並使暴露的視圖可交互?
- 19. 如何翻譯意見暴露過濾器
- 20. Drupal的意見和內容分類
- 21. Drupal的意見UI,過濾器暴露,收集字段的內容中的日期只有月和年(無日)
- 22. 通過web api暴露Spotify的「你的意思」功能
- 23. Drupal的意見 - 當沒有結果來自視圖時顯示沒有暴露的過濾器選項
- 24. java屬性 - 暴露還是不暴露?
- 25. Drupal 7意見與BEF MAX_JOIN_SIZE錯誤
- 26. 的Drupal 7 drupal_set_title的意見
- 27. 暴露功能上軌
- 28. 暴露組件功能ES6
- 29. Drupal的7 - 使用意見
- 30. 能從只暴露迭代器的「readNext」部分的對象創建流嗎?
正在使用JavaScript的一個選項? – bjudson
不,不是。我想嘗試使用服務器端方法來做到這一點。 – Matthew
我不是100%肯定的,但我認爲你必須爲這樣的事情寫一個自定義模塊,或者完全從視圖中移除,或者相當大地修改它的行爲。 – bjudson