JA文档中文翻译 - JA模板定制FAQ - 改变模块位置

thumb-ja-documentation在前面一篇文档教程中,我们学习了怎样自定义区块的宽度;今天继续页面样式的话题,来看看怎样对模块位置进行自定义调整。

当前这个FAQ系列文档刚刚开始的时候曾经介绍过,我们的目标是打造一款类似JA Mesolite风格的模板;为了使风格更加贴近,我们需要对现有的一些模块位置进行调整。

以头部导航菜单和搜索模块的位置为例;我们需要将现在页面上的搜索模块从header区块位置移至mainnav区块,并置于导航菜单的左侧打开layouts/blocks路径中的header.php文件,找到如下代码并剪切:

<?php if($this->countModules('search')) : ?>
<div id="ja-search">
<jdoc:include type="modules" name="search" />
</div>
<?php endif; ?>

打开mainnav.php文件,在第2行代码后换行并将之前剪切的代码粘贴过来。

保存对两个区块文件所做的修改,接下来我们来做样式。打开templates/ja_purity_ii/css路径中的template.css文件,将610行附近的:

#ja-search {
padding-left: 20px;
background: url(../images/icon-search.gif) no-repeat center left;
position: absolute;
bottom: 15px;
right: 15px;
}

替换为:

#ja-search {
padding-left: 20px;
background: url(../images/icon-search.gif) no-repeat center left;
position: absolute;
bottom: 13px;
left: 15px;
}

当然,我们还需要调整搜索框的宽度;将620行附近的#ja-search .inputbox样式代码替换为:

#ja-search .inputbox {
width: 80%;
border: 1px solid #333;
padding: 3px 5px;
color: #ccc;
background: #444;
font-size: 100%;
font-weight: bold;
}

通过这样的百分比宽度设置,可以保证搜索框的宽度始终是父容器宽度的80%,不会破坏原有导航的结构样式。

接下来我们需要将导航中的菜单整体移至右侧,并使其左边缘与页面主要内容部分的左边缘保持对齐。由于当前布局中左侧边栏(left)区块的宽度是默认的20%,所以我们可以为导航菜单设置20%的左侧外间距(margin-left)。打开templates/ja_purity_ii/css/munu路径,我们需要对里面的一些样式表进行相应修改。

首先打开css.css文件,将23行附近的#ja-cssmenu样式代码替换为:

#ja-cssmenu {
margin: 0 0 0 20%; /* all lists */
padding: 0;
border-right: 1px solid #666;
float: left;
}

然后打开mega.css文件,将13行附近的.ja-megamenu样式代码替换为:

.ja-megamenu { margin: 0 0 0 20%; padding: 0; }

最后,打开dropline.css文件,将23行附近的#jasdl-mainnav样式代码替换为:

#jasdl-mainnav {
position: relative;
border-right: 1px solid #666;
float: left;
margin: 0 0 0 20%;
}

搞定;现在导航部分的样式应该如下图所示的样子了:

ja-purity-ii-how-to-customize-search

译者:Viiiix7210

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: JA Template Framework/FAQs


收藏与分享

评论刷新

2010-02-20 16:23
我用的是1.2的新版, 按照这个顺序错了,在菜单栏里空 出了位置, 但是没有显示搜索筐, 请问什么原因?在修改前, 在原来的header也没显示搜 索筐,是不是原来的代码原因?
2010-02-20 17:02
第二个问题,在实验站 www.hengxing-group.com中, 怎样显示把新假的feature d products和 new products的位置放在ma inbody下面或上面的要求, 而不是象现在这样把left和r ight的位置都占了。
2010-02-21 00:29
Hi,如果原来的显示也不正确, 最好先确认之前有没有错误的地方 ,代码本身或模块位置设置一类; 另外涉及到您站点的一些具体问题 ,我着实不大了解,请见谅。
2010-02-21 16:19
有哪位达人在利用purity1.2 版本的t3框架模式,详细解析下增加模块或 修改模块位置的 方法?这可是t3框架的一个最重要的功能啊?我 看了 英文的说明好像后面也没有说明? 这个咋办呢?请达人看下在www .hengxing-group.com怎样把下面的两个模块位置 改陈在mianbody的下面, 而不占用left和right的 位置?
2010-02-21 17:06
经过试验,发现在ja的puri ty1.2的版本中增加position 很容易,只要在shop。php 中增加'content-bottom' =>'content-bottom'和vtemplatedetai l.xml中增加content-bottom相应位置既可在jo omla的模块位置中找找到相应 位置,但不知为什么原版的英文说 明非要在shop.php zhong 增加'content-mass-bottom' =>'products',而products的是要在c ss中重要定义形状的?
2010-04-13 10:44

sun rui ,我也对该问题产生疑问,不解中 。。。
2010-04-13 11:29
不大清楚,有解决方案就好

添加评论


Security code
换一张图