登录 注册

登录

问题 jdoc:include type="head" 的具体解释?

更多
2011年03月29日 14:13 - 2011年03月30日 00:40 #1 作者: 探员
我知道 <jdoc:include type="head" /> 是模板index.php头部装入一些<head>内容,比如 CSS,Javascript 什么的,也查了官方文档JDocumentRendererHead类,是构建<head>内容的,问题是:

那些数据(css,js)是从哪得来的??

实际的问题是使用 Virtuemart 和 RocketThemes 模板,模板的某些功能只有在“virtuemart”菜单下才起作用,而我想让它在所有页面生效。仔细对比不同菜单下生成的 html 文件,发现在“virtuemart”菜单下多出几行“<script type="text/javascript" src="http://......”,查看模板的index.php文件,发现所有这些 javascript 都来自 <jdoc:include type="head" /> 这条命令。

谁能帮我说下joomla中<head>内容都是怎么来的吗?实在找不到了。
最后修改: 2011年03月30日 00:40 由 Joomla之门.

登录 或者   注册一个会员帐号 来参与讨论

  • Rex
  • Rex 的头像
  • 离线
  • COM_KUNENA_SAMPLEDATA_RANK1
  • COM_KUNENA_SAMPLEDATA_RANK1
  • HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.
更多
2011年03月29日 14:32 #2 作者: Rex
<jdoc:include/>是Joomla!模板的显示内容具体到正在浏览页面的方法。有各种<jdoc:include/>语句,在页面不同的部分调用不同的数据.
<jdoc:include type="head" />在每页页首出现一次,用来调用此页模板的样式,程序,以及Meta元素.

不知道你用的是RocketThemes哪一款,RocketThemes的后台模板设置里很强大,有关于第三方插件的样式兼容,你可以去试着看下. 如果要从codeing文件的话,那只能从官方文档一点一点查了.

HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.

登录 或者   注册一个会员帐号 来参与讨论

更多
2011年03月29日 16:10 #3 作者: 探员
用的09年的“Mynxx”,模板index.php是这样:
<head>
<jdoc:include type="head" />
<?php
require(YOURBASEPATH . DS . "rt_utils.php");//这里面没有数据。
require(YOURBASEPATH . DS . "rt_head_includes.php"); //<head>中的部分内容放在“rt_head_includes.php”中。
?>
</head>
其中 <jdoc:include type="head" /> 生成结果如下:
<!-- 这些应该是joomla自己生成的 -->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="index, follow" />
<meta name="keywords" content="joomla, Joomla, JoomlaCN" />
<meta name="description" content="Joomla! - 动态的入口网站架设引擎及内容管理系统" />
<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
<title>测试</title>
 
<!-- 这些是模板的 -->
<link href="/templates/rt_mynxx_j15/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link rel="stylesheet" href="/plugins/system/rokbox/themes/light/rokbox-style.css" type="text/css" />
<script type="text/javascript" src="/media/system/js/mootools.js"></script>
<script type="text/javascript" src="/plugins/system/rokbox/rokbox.js"></script>
<script type="text/javascript" src="/plugins/system/rokbox/themes/light/rokbox-config.js"></script>
<script type="text/javascript" src="/modules/mod_rokvirtuemart_categories/js/rokvm_categories.js"></script>
<script type="text/javascript">
    var rokboxPath = '/plugins/system/rokbox/';
</script>
 
<!-- 关键在这里!只有在“Virtuemart”在才有,在新文章页面中不出现,是如何控制的呢??-->
<script type="text/javascript">window.templatePath = 'http://www.myvm1.com/';</script>
<script type="text/javascript" src="http://www.myvm1.com/components/com_virtuemart/themes/vm_mynxx/theme.js"></script>
<script type="text/javascript" src="http://www.myvm1.com/components/com_virtuemart/js/sleight.js"></script>
<link type="text/css" href="http://www.myvm1.com/components/com_virtuemart/themes/vm_mynxx/theme.css" rel="stylesheet" />
现在是除了virtuemart页面,购物车都打不开,实在不行就只能用ice-cart替代了。

登录 或者   注册一个会员帐号 来参与讨论

  • Rex
  • Rex 的头像
  • 离线
  • COM_KUNENA_SAMPLEDATA_RANK1
  • COM_KUNENA_SAMPLEDATA_RANK1
  • HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.
更多
2011年03月29日 16:28 #4 作者: Rex

现在是除了virtuemart页面,购物车都打不开。

能描述的具体点么? 哪个购物车?ajax popup打不开,还是 show cart 打不开?
最好把问题以及插件名称说一下.

HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.

登录 或者   注册一个会员帐号 来参与讨论

更多
2011年03月29日 16:45 #5 作者: 探员
RT Mynxx 模板是专为 Virtuemart 开发的模板,Demo在这里: demo.rockettheme.com/apr09/

它有自己的Mini购物车模块,在点击“加入购物车”时不弹出提示,直接导航到mini购物车。平时点击“mini购物车”就可以弹出订单。现在除了在virtuemart中,mini购物车都不会弹出,点击没有反应。问题就出在没有导入部分<head>内容(见上面的回复)。

看了下官网,不存在这个问题。每个页面都有完整的<head>内容。

*** 我没有使用带数据的整合安装(模板+joomla+演示数据),自己安装的 joomla 1.5.22 和 virtuemart 1.17。RT Mynxx自带的joomla和VM版本都低一些,我想问题可能出在这,但我也不能重装系统 …… 所以需要知道<head>内容是如何构建的,如何选择需要哪些内容、不需要哪些内容。

RT的后台控制在Gantry 模板框架中很强,Mynxx太老似乎并没有使用。JS兼容开关都试过了没用。

登录 或者   注册一个会员帐号 来参与讨论

  • Rex
  • Rex 的头像
  • 离线
  • COM_KUNENA_SAMPLEDATA_RANK1
  • COM_KUNENA_SAMPLEDATA_RANK1
  • HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.
更多
2011年03月29日 17:21 #6 作者: Rex
试下拷贝
\components\com_virtuemart\themes\default\templates\browse\browse_2.php



\components\com_virtuemart\themes\vm_mynxx\templates\browse

或者检查
Components > Virtuemart > Admin > Security >Site URL
确定前面有没有www, 最后是不是'/'结尾.

mynxx最新的版本是2010 8月更新的, 不知道你用的是什么,像这种Rockettheme整体设计的模板,如果不是整体安装,要严格按照提供的安装指南进行参数设置.
我好像以前也试过这个模板,口碑非常不好,因为这好像是第一个改版模板为了VM, 在这个模板之前RT所有模板跟VM的JS各种冲突.

HotPing.Com 热评网 是一个由Joomla搭建的网站,热衷于评测流行的产品,分享建站资源.

登录 或者   注册一个会员帐号 来参与讨论

更多
2011年03月30日 14:36 #7 作者: nnlink
要注意哦,不是只有模板的index.php才可以加载js、css等文件,模块也可以加载自己的js、css文件的,你说的模板的某些功能只有在“virtuemart”菜单下才起作用的情况,很可能就是加载的命令放在了“virtuemart”菜单当中实现,而非模板的index.php文件当中。所以就算模板换了,“virtuemart”菜单还是会加载这些文件的。建议去看一下“virtuemart”菜单的代码 呵呵

登录 或者   注册一个会员帐号 来参与讨论

更多
2011年03月30日 17:37 - 2011年03月30日 17:38 #8 作者: 探员
谢谢Rex,不过复制browse_2.php没有用。

nnlink,插件自己加载jss/css文件我也想到了,找到个最接近答案的官方文档,不过不全:

Adding JavaScript and CSS to the page

我看官网论坛有类似的问题,答案都是指向一个“技术手册”,都没有直接的回答问题。就好像我问电视机的工作原理,结果给我的是整版电路图,感觉无所适从。

我暂时只能用笨办法来解决了:在模板index.php<head>部分手动再加入一次所需的javascript ......
最后修改: 2011年03月30日 17:38 由 探员.

登录 或者   注册一个会员帐号 来参与讨论

更多
2012年08月06日 06:21 #9 作者: deppr
里面调用的内容是在error.php文件中调用的

登录 或者   注册一个会员帐号 来参与讨论