[英]Drupal show exposed filter both in block and page
再次需要幫助伙計們,有沒有辦法在不刪除頁面過濾器的情況下在塊和頁面中顯示暴露的過濾器? 我在 YES 處使用公開表單過濾器,創建了帶有過濾器的塊,但是當我轉到視圖頁面時,我看不到公開的過濾器。
例如,我有一個帶有暴露塊的 page.tpl。 但是在templates/custom-page.tpl(原始暴露的過濾器在哪里)啟用Exposed Form Filter后看不到它們。 我想要的是暴露的過濾器同時顯示在頁面和塊中。
我用谷歌搜索,但我還沒有找到解決方案。 如果你能幫助我,我將不勝感激。 謝謝!!! 我正在使用 Drupal 7。
這實際上是您的想法,但我會為其他人添加它:
第3點當然不是必需的,但是它將使事情變得更加明顯。 通常,您在做某事6個月后就需要事情變得明顯;-)。
BTW。 克隆頁面后,可以從塊中刪除過濾器。 只有兩個要求:
這也意味着您可以使用各種過濾器集添加更多塊。
您可以將公開的表單設置為不處於阻止狀態(因此它會顯示在頁面上)。 然后,您可以制作自己的具有公開形式的塊(使用視圖函數獲取公開形式)。
要獲取公開的表單,請檢查這些鏈接。
Drupal 7 Views 3:如何以編程方式嵌入Views公開的過濾器
要么。
您可以將過濾器暴露在一個塊中,將此塊放在視圖頁面上,然后使用multiblock制作暴露的過濾器塊的另一個副本以放置在其他位置。 這可能更容易。
在 Drupal 8 和 9 中,這仍然是一個相關的問題。 我發現您可以“欺騙”視圖的頁面顯示以相信公開的表單未作為塊發布。 這將阻止它在頁面顯示上隱藏暴露的表單。
/**
* Implements hook_views_pre_build().
*/
function mymodule_views_pre_build(ViewExecutable $view) {
// Force the 'my_view' page display to always render the exposed form.
if ($view->id() === 'my_view' && $view->getDisplay()->getPluginId() === 'page') {
$view->getDisplay()->setOption('exposed_block', FALSE);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.