我有一个在两个不同页面上运行的脚本,一个用于订单,一个用于报价。这些页面具有相同的URL,后跟动态字符串。如果让这个脚本在一个页面上做一件事,在另一个页面上做一件事,我该怎么办?
编辑:我对此回顾并不是很清楚,当前选择的答案确实适用于我的要求,但它不应该与Magento一起使用。 Magento内置了确定此信息的方法,您可能希望覆盖它而不是将脚本注入adminhtml代码。
答案 0 :(得分:3)
通过PHP中的$ _REQUEST查看URL中的参数。见这里:http://php.net/manual/en/reserved.variables.request.php
修改强>:
我从您的评论中看到您的网址与http://www.example.com/index.php/admin/sales_order/view/order_id/273151/
相似。
如果它总是这样没有任何查询参数,那么你可能想要在PHP中解析$_SERVER['PATH_INFO']
变量。
(见这里:http://php.net/manual/en/reserved.variables.server.php)。
您可以通过执行以下操作获取这些路径部分的数组:
$myPathArray = explode($_SERVER['PATH_INFO'],'/');
然后你可以得到最后一个,区别对待的部分路径:
if (count($myPathArray)) {
$orderId = $myPathArray[count($myPathArray)-1];
} else {
$orderId = ''; // or whatever you please
}
答案 1 :(得分:2)
您可以查看网址中的内容,例如:
function getUrlParameter = function(name, defaultValue) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( document.location.href );
if( results == null ) return defaultValue;
else return results[1];
};
如果您的网址为test.php?a=toto
,那么您将在页面A中单击:
var pageA = getUrlParameter("toto");
编辑:如果您只想要路径部分的结尾,请查看document.location.pathname
答案 2 :(得分:1)
如果每个页面上的url变量名称不同,则可以使用if语句
if (isset($_GET['vara'])) {
// Do thing A
}
elseif (isset($_GET['varb'])) {
// Do thing b
}
答案 3 :(得分:1)
使用$_GET检索URL中传递的变量。如果你在这个Tizag的新人有easy to read tutorials。通过传递变量的值,您可以确定要来自哪个页面。