Javascript 在joomla 3中使用window.location
我正在做一个项目,有人已经在joomla做了。我必须解决其中的一些问题。Javascript 在joomla 3中使用window.location,javascript,php,joomla,joomla3.0,Javascript,Php,Joomla,Joomla3.0,我正在做一个项目,有人已经在joomla做了。我必须解决其中的一些问题。 他们在joomla 3.0中有一个place order组件。主页中有两个选项。一种是常规订单,另一种是特殊订单。它们作为单选按钮提供。在每个按钮上都有如下编写的onclick函数 onclick='window.location.href=("<?php echo JRoute::_('index.php?option=com_order'); ?>")' onclick='window.location.
他们在joomla 3.0中有一个place order组件。主页中有两个选项。一种是常规订单,另一种是特殊订单。它们作为单选按钮提供。在每个按钮上都有如下编写的onclick函数
onclick='window.location.href=("<?php echo JRoute::_('index.php?option=com_order'); ?>")'
onclick='window.location.href=("<?php echo JRoute::_('index.php?option=com_order&ordertype=2'); ?>")'
但是对于第二个,url是不正确的,它给出了一些错误
index.php?ordertype=2&option=com_order&Itemid=516&lang=en
请注意,第二个url缺少参数view=form&layout=edit。我怎样才能解决这个问题?我应该添加一个新的菜单项吗。如果是,什么类型?或者直接在window.location.href中硬编码url 这只是一个随机快照,但是如果您查看JRoute定义,它会说有三个选项:
($url,$xhtml=true,$ssl=null)
第二个听起来很有趣:
$xhtml替换&by&用于xml编译
也许把这个选项设为false,看看你的链接会发生什么
代码中由以下内容触发的部分:
if($xhtml) {
$url = str_replace( '&', '&', $url );
}
因此,将此设置为false至少不会替换&(这是我能看到的两种情况之间唯一的关键区别)。。。
我知道更换这个是有原因的,但是。。。好。。。如果您使用的是utf8,我想这应该不是问题
我是说。。。另一件事,绝对奇怪的是JRoute似乎翻转了选项和ordertype参数。。。不管什么原因
希望我至少能在这方面提供一些意见:D
关于这只是一个随机镜头,但是如果你看一下JRoute定义,它会说有三个选项:
。($url,$xhtml=true,$ssl=null)
第二个听起来很有趣:
$xhtml替换&by&用于xml编译
也许把这个选项设为false,看看你的链接会发生什么
代码中由以下内容触发的部分:
if($xhtml) {
$url = str_replace( '&', '&', $url );
}
因此,将此设置为false至少不会替换&(这是我能看到的两种情况之间唯一的关键区别)。。。
我知道更换这个是有原因的,但是。。。好。。。如果您使用的是utf8,我想这应该不是问题
我是说。。。另一件事,绝对奇怪的是JRoute似乎翻转了选项和ordertype参数。。。不管什么原因
希望我至少能在这方面提供一些意见:D
关于我的第一个建议是将
&ordertype=2
-部分移出JRoute::()-调用,因为这似乎会混淆JRoute
因此,尝试使用:
onclick='window.location.href=("<?php
echo JRoute::_('index.php?option=com_order') . '&ordertype=2';
?>")'
onclick='window.location.href=(“”)
(这有点难看,bquarta可能是对的:)我的第一个建议是将
&ordertype=2
-部分移出JRoute::()-调用,因为这似乎会混淆JRoute
因此,尝试使用:
onclick='window.location.href=("<?php
echo JRoute::_('index.php?option=com_order') . '&ordertype=2';
?>")'
onclick='window.location.href=(“”)
(这有点难看,不过bquarta可能是对的:)谢谢大家的回答。我只是用了另一种方法来解决这个问题
<?php $u = JURI::getInstance();
$u->setVar( 'ordertype', '2' );?>
onclick='window.location.href=("<?php echo JRoute::_($u->toString()); ?>")'
onclick='window.location.href=(“”)'
谢谢大家的回答。我只是用了另一种方法来解决这个问题
<?php $u = JURI::getInstance();
$u->setVar( 'ordertype', '2' );?>
onclick='window.location.href=("<?php echo JRoute::_($u->toString()); ?>")'
onclick='window.location.href=(“”)'
我假设您尝试使用JRoute呈现的菜单端点的ID是516?您尝试将url param Itemid=516添加到传递到JRoute的url params字符串中?我假设您尝试使用JRoute呈现的菜单端点的ID为516?您是否尝试将url参数Itemid=516添加到要传递到JRoute的url参数字符串中?