logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

如何使整个页面不重新加载

22/02/2025, by 匿名 (未验证)
论坛

你好。

 

我正在为Drupal 7创建一个主题,目前一切似乎都在顺利进行。不过有几个问题需要解决。

 

关于我的主题的一些信息。

在primari_link区域有一个主菜单(用于选择内容类型),(在header区域也有)

还有一个特定类型文章的导航菜单,它会根据主菜单的选择而变化。(在左侧栏区域)和(在main-wrapper区域)

并且有一个内容列,其中显示的内容类型取决于主菜单的选择。 (在右侧栏区域)和(在main-wrapper区域)

 

第一个问题。 

如何使得在primari_link中选择时,仅重新加载结构下方的区域。因此, main-wrapper区域

然后在左侧栏区域选择时,仅重新加载右侧栏区域。

我理解这里需要使用ajax,但我没有找到相关的资料。

 

第二个问题

如何使得在左侧栏中显示特定的内容类型。(特殊类型-表单)每个主菜单项的列表都是不同的,并且在右侧栏中根据左侧栏中选定的元素显示相应内容。

 

第三个问题

我做了三个列,它们的高度不同。我希望它们的高度一致。使用Div进行格式化。

 

在page.tpl.php中使用的是drupal 7

以下是代码片段

 

<script language="JavaScript" type="text/javascript">

	function setEqualHeight(columns){
		var tallestcolumn = 0;
		columns.each(function(){
			currentHeight = $(this).height();
			if(currentHeight > tallestcolumn){
				tallestcolumn = currentHeight;
				}
			}
		);
		columns.height(tallestcolumn);
	}
	$(document).ready(function() {
		setEqualHeight($(".container > div"));

});

</script>

 

 

不工作!!!
 
我做错了什么?浪费了一整天。
 
 

终于在晚餐后解决了这个麻烦 :) 原来在Drupal 7中,当写$时是不被喜欢的,

需要将其替换为jQuery,一切立刻就能正常工作。

我了解到原因是jQuery在 noConflict模式下工作

 

应该是类似这样的形式

 

jQuery(document).ready(function() {
setEqualHeight(jQuery(".container > div"));
});

 

所以到处的$都要替换为jQuery,这样就能幸福了。 

希望这对某些人有用的信息。

 

前两个问题仍然悬而未决。