首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在prestashop 1.7中从前台控制器获取后台root url

在PrestaShop 1.7中,要从前台控制器获取后台的根URL,你可以使用以下代码:

代码语言:txt
复制
$adminController = Configuration::get('PS_ADMIN_CONTROLLER');
$adminDir = basename(_PS_ADMIN_DIR_);
$adminURL = Context::getContext()->link->getAdminLink($adminController, true);
$adminURL = str_replace('/'.$adminDir.'/', '/', $adminURL);

上述代码将返回后台的根URL。下面对代码的实现进行解释:

  1. 首先,我们使用 Configuration::get('PS_ADMIN_CONTROLLER') 获取配置中的后台控制器名称。
  2. 然后,使用 _PS_ADMIN_DIR_ 获取后台目录的绝对路径,再使用 basename() 函数获取后台目录的名称。
  3. 接下来,使用 Context::getContext()->link->getAdminLink() 函数生成后台URL。传入前面获取到的控制器名称,并设置第二个参数为 true,表示返回完整的URL。
  4. 最后,使用 str_replace() 函数将生成的URL中的后台目录名称替换为空字符串,从而得到后台的根URL。

这样,你就可以在PrestaShop 1.7的前台控制器中获取到后台的根URL了。

请注意,这里的代码只适用于PrestaShop 1.7版本,其他版本可能会有不同的实现方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在Ubuntu 16.04上安装PrestaShop

如果您更喜欢使用传统的LAMP堆栈,请参阅我们的指南,如何在Ubuntu 16.04上安装LAMP堆栈。...您可以保留第一个问题(对于MariaDB的root密码为空),然后选择“n”(“否”)拒绝创建新的root密码。对剩下的问题回答'是'(是)。...这允许它自动调整Apache的设置,并且可以管理后端(PrestaShop的管理页面)启用高级功能,例如“漂亮的链接”,网页压缩或https重定向。...请访问此网站以获取最新版本:PrestaShop的下载页面并更改以下命令中的链接,以便它反映当前版本: sudo curl -O https://download.prestashop.com/download...向下滚动,直到找到下图所示的设置: 选择YES为友好的URL和301永久移动对重定向到规范的网址。保存您的设置。 3.

4.8K30

PhalconCMS源码解析之多模块

多模块文件加载 在“app/core/loader.php”文件中,对“前台模块”和“后台模块”的“controllers”、“models”文件目录进行加载。...这是为了在程序中调用生成URL的方法($url->get("test/test"); )时,自动根据当前模块来设置URL的前缀: //app/frontend/FrontendModule.php中设置的前台...在 “app/core/services.php” 文件中向DI注册多模块共用的公用服务,路由服务、数据库连接服务、缓存服务、日志服务等等。...\Adapter\Php(ROOT_PATH ....在浏览器中访问带有“/admin/” 前缀的URL,"dispatcher调度服务"就能将请求URL分发到后台控制器中("app/backend/controllers"),其他的URL请求,就默认分发到前台控制器

55110
  • ThinkPHP 简易开发思路 && MVC和URL跳转

    admin.php前台入口文件定义引入ThinkPHP_PATH、后台模块路径、后台名称 define('BIND_MODULE', 'Manage'); // define('THINK_PATH...):编写类文件(UserAction.class.php) 对应目录:项目目录/应用目录/Lib/Action URL 4种访问模式 模式设置:URL_MODEL=0/1/2/...不同栏目的跳转和页面呈现 通过上面的一些例子,应该可以看到一些端倪: 不同模块(前后台)内部通过Controller控制器实现不同栏目,再通过Controller中的方法实现不同页面的呈现 可通过一个简答的小实验来验证...常用变量 __PUBLIC__: 公共(一般为public)文件目录 __Model__: 获取当前模块名 __ROOT__:替换为当前网站地址(不包含域名) __APP...__:替换为当前应用URL地址(不包含域名) __MODULE__:当前模块URL地址(不包含域名) __Controller__:当前控制器URL地址(不包含域名) __Action

    1.2K40

    安装 PrestaShop 1.6 - 详细的安装指南

    详细的安装指南 下载和解压 PrestaShop 程序代码包 你可以 PrestaShop 官方下载最新的版本,下载地址为:http://www.prestashop.com/en/download...这里你只有一个选项,只能下载最新的稳定版,这个版本适用任何在线商店。...你的后台管理页面。 在你发给你客户的所有电子邮件中。 在你所有的文档中(账单,退货授权 等)。 基于上面的考虑,请不要保留 PrestaShop 的默认 Logo 图标。 单击下一步继续安装。...你可以使用一个 PrestaShop 安装实例启用多购物车特性,但是这些购物车却只用一个后台。 Drop existing tables - 删除已经存在的表: 这个只在开发模式中有效。...使用你重命名的管理员后台界面来登录 PrestaShop 管理员界面,开始在你的购物车中进行分类和添加商品吧!  你也可以修改发货渠道,计算运费,添加供应商等很多操作。

    6.8K50

    Ajax出错并返回整个页面html的问题

    以下代码描述了一个获取评论ID,到ajax请求的过程。根据后台处理规则,cmthot方法会返回一个更新的后点赞数据(data)返回到前台。...ajax获取的评论ID丢到模型(模型代码就不贴了)去处理后拿到的新增后的点赞数返回给前台。...前台(前述代码)通过.html重写了新的数据。 发现问题的根源出自路由 为了排错,当时就把ajax改成了a链接直接提交。返回的结果一切正常,也就是说后台控制器和模型均正常,没有错误。...唯一明显的就是前台为了用户体验动用了路由,精简了url。而后台使用iframe框架,url固定是框架页面的地址,所以当时就没有使用路由。...url:"{:url('/cmthot')}", 最终就因为一条斜杠造成返回一页的html,所以还是要仔细。

    2K10

    javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之一 基础Struts框架搭建篇

    我们可以有两种方式: 1)第一个就是普通的前端form表格(或者用AJAX)提交action 到相应url ,后台url文件,通过Severlet的requset获取前端提交的数据,response向前台输出数据...然后你前台的发送给后台的拦截器,都会被Struts拦截,根据Struts.xml的配置,将你的请求 转到相应的后台action文件。...这里我们看到,后台不需要写request来获取前端传过来的值,因为我们有了set访问器,通过Struts自动传了值,简化了代码   一个最简单的Struts框架就搭建了。   ...json数据的result类型 result 将后台的result的字符串变成Json格式的数据再传递到后台标签就是一个参数赋值的标签...,把result赋值给了root

    1.1K90

    vulntarget-b_打靶记录

    查看一下详情: 来到81端口,是一个极致cms建站系统,弱口令登录。...一开始尝试了很多前台SQL注入漏洞,都不存在: 后台的扩展管理的位置存在任意文件压缩下载,需要启动一个服务,然后再download_url=的位置传入,就会下载文件: 使用冰蝎工具进行连接: 当执行命令的时候...这里也是用了注入漏洞,文件读取都未成功: 然后查看文档,使用弱口令登录后台: 使用后台的任意文件下载漏洞获取shell,首先启动一个web服务: /index.php?...root权限。...然后使用将hash进行md5解密,得知密码:Admin@123 既然知道了密码,在win10机器上进行IPC连接,上传正向的后门到域控制器: 成功获取到域控制器的机器 如下就是所有的sessions

    1.6K30

    最新SpringMVC面试题精选

    可以支持各种视图技术,而不仅仅局限于JSP; 与Spring框架集成(IoC容器、AOP等); 清晰的角色分配: 前端控制器(dispatcherServlet) ; 请求到处理器映射(handlerMapping...处理器映射器,请求获取Handle; 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet; DispatcherServlet...@PathVariable: 可以用来获取请求路线上面的变量; 请求路径:http://127.0.0.1/user/1 可以通过@PathVariable 来获取路径在的变量id @RequestParam...3.6 如何在方法里面得到Request,或者Session? 直接在方法的形参中声明request,Spring MVC就自动把request对象传入。...3.10 Spring MVC用什么对象后台前台传递数据的? 通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到。

    1.8K20

    2022年Java秋招面试必看的 | Spring MVC面试题

    2、Spring MVC的优点 (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...图片 (1)用户发送请求至前端控制器DispatcherServlet; (2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle; (...该方法会memberValues这个Map中索引出对应的值。而memberValues的来源是Java常量池。 10、Spring MVC常用的注解有哪些?...URL请求入参 spring注解时action里用到。...ModelAndView类把视图和数据都合并的一起的,但一般用String比较好 26、Spring MVC用什么对象后台前台传递数据的?

    78830

    lnmp真实部署yii2高级版

    1.首先把代码上传到linux配置的目录中(:/www/你的站点目录(: /www/wwwroot/my.com/)) 2.cd /www/你的站点目录( :/www/wwwroot/my.com.../init 选择生产环境(0:开发环境,1:生产环境) (进行项目初始化,会给项目相应的权限否则无法访问) 3.比如我的项目在 /www/wwwroot/my.com 配置前台项目(: /www/wwwroot...mysql5.7+php5.6,用的是宝塔面板,这个时候需要我开始php.ini中的open_basedir= /www/wwwroot/my.com/ (一定要对应到yii2项目,并且后面加/,否则只能访问前台...,而不能你访问后台) 否则会报错:Warning: require(): open_basedir restriction in effect....> //这是指匹配控制器内的方法 //这里指获取相应的请求参数的key \Yii::$app->request->get('pid'); 如果希望添加后缀.html 1 2

    1.6K51

    php源码审计_代码审计入门cms

    把代码拆分为Model View Controller三部分结构, 模型一般是数据库操作的相关的代码,例如jsp中的javabean用来设计数据的属性和行为,提供获取属性和设置属性的...get/set方法 视图通常是HTML代码和其他编程语言的混编结果,可以把一些控制器传递过来的结果,进行一定的拼接 控制器的代码一般是接受数据,做一些数据的校验,权限的判定...调用不同的代码 4.3 参考项目 https://github.com/fecshop/yii2_fecshop https://github.com/PrestaShop https://github.com...例如对于富文本xss过滤方案,业内最优解已经产生,而你编程的时候没有使用最优解,而是网上超了一段代码来使用,那 么在审计的时候就产生了绝对压制。 如果你的水平和开发的水平不。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.8K20

    MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)

    但是在实际的开发中,随着项目规模的不断扩大,Controller控制器也随之不断增多。...如果在Controllers文件夹下面有超过两位数controller,即便采用良好的命名规范,或者用子文件夹的形式区分不同功能的控制器,还是会影响项目的可阅读性和可维护性。...Web应用通常会有前台(面向用户)和后台(面向管理员)两部分,我们希望以/locahost/Admin开始的URL都为后台管理地址, routes.MapRoute( //Default Route...= "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults );   但是我们如何在项目中使用呢……...直接F5运行,然后通过Url访问 ? 那现在我们再添加一个HomeController的控制器,和Index的视图,再次运行看看 ?

    72130

    Laravel5.8使用LayUI上传并显示图片操作

    这个问题已经困扰好久了,唉 比较难受,本来学习laravel使用的是Bootstrap,之后用的是Uploadify进行上传图片,无奈,这个技术需要Flash的支持,一直没有实现,后来思考再三,还是选择用Layui后台框架进行设计...,比较难受,不,是特别难受,网上及QQ群大神中也没有问出个所以然,不过,我最后实现的是用的比较笨的方式,就是拼接为字符串的形式进行链接返回调用,(使用前台添加域名的方式实现了emm~~)好了 话不多说...admin-pic-create-img" id="pre_img"> 前台.../uploads"; //获取文件后缀 $ext = $file->getClientOriginalExtension(); //获取文件创建当前日期...$newFile; $url = $imgPath; if($imgPath !

    2.5K30

    MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)

    但是在实际的开发中,随着项目规模的不断扩大,Controller控制器也随之不断增多。...如果在Controllers文件夹下面有超过两位数controller,即便采用良好的命名规范,或者用子文件夹的形式区分不同功能的控制器,还是会影响项目的可阅读性和可维护性。...Web应用通常会有前台(面向用户)和后台(面向管理员)两部分,我们希望以/locahost/Admin开始的URL都为后台管理地址, routes.MapRoute( //Default Route...= "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults );   但是我们如何在项目中使用呢……...直接F5运行,然后通过Url访问 ? 那现在我们再添加一个HomeController的控制器,和Index的视图,再次运行看看 ?

    75110

    Laravel5.8使用LayUI实现批量删除

    路由设置 Laravel比较人性化的原因之一就是路由自定义化程度高,可以说开发是这个流程: 路由设置->前台数据获取请求后台->后台控制器获取参数响应并回馈前台 这里我是用的是JSON传值,还是比较人性化的...//图片批量删除 Route::post('pic/delAll', 'PicController@delAll'); 前台界面设计 id }} {{ $value->title }} <img class="layui-nav-img" src="{{ <em>url</em>...); 点击按钮时,将数组转换为string字符串类型之后采用Ajax的方式传至<em>后台</em><em>控制器</em>; <em>后台</em><em>控制器</em>进行操作返回状态值; <em>前台</em><em>获取</em>状态值进行反馈用户,此业务逻辑完成。...Controller<em>后台</em><em>控制器</em> 在这里可以注意到的是Laravel可以直接删除字符串形式的元素,使用了in($str)的方式。

    1.1K10

    Spring MVC面试题(2020最新版)

    Spring MVC用什么对象后台前台传递数据的? 怎么样把ModelMap里面的数据放入Session里面?...Spring MVC的优点 (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...(1)用户发送请求至前端控制器DispatcherServlet; (2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle; (3)...来获取 @RequestMapping(value = “/page/{id}”, method = RequestMethod.GET) @RequestParam用来获得静态的URL请求入参 spring...Spring MVC用什么对象后台前台传递数据的? 答:通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到。

    1.9K10

    实战|记一次前台getshell组合拳审计的完整过程

    查看两个文件,发现它们没有什么不同之处,定义了ROOT,然后进入APP:run()。除了admin文件夹下的index文件中定义了一个常量ADMINDIR。...,/index.php/[controller]/[action]/[arag1]/[arg2]。...后面看了一眼这个类包括了大部分后台HTML元素,那理论上所有控制器(除了API控制器)都会走这个类。...引用过滤函数的则是这三个,如果其他地方都是由此处获取请求参数,那就无法造成SQL注入。...3 柳暗花明的前台注入 找了这么多后台的洞,总而言之还是没什么用的。毕竟对于小CMS而言我们都希望使用前台漏洞,高效快速还不用苦苦猜一个管理员口令。于是我开始找前台漏洞。

    24910

    实战|记一次前台getshell组合拳审计的完整过程

    查看两个文件,发现它们没有什么不同之处,定义了ROOT,然后进入APP:run()。除了admin文件夹下的index文件中定义了一个常量ADMINDIR。...,/index.php/[controller]/[action]/[arag1]/[arg2]。...后面看了一眼这个类包括了大部分后台HTML元素,那理论上所有控制器(除了API控制器)都会走这个类。...引用过滤函数的则是这三个,如果其他地方都是由此处获取请求参数,那就无法造成SQL注入。...3 柳暗花明的前台注入找了这么多后台的洞,总而言之还是没什么用的。毕竟对于小CMS而言我们都希望使用前台漏洞,高效快速还不用苦苦猜一个管理员口令。于是我开始找前台漏洞。

    19310

    SpringMVC常见面试题总结(超详细回答)

    (1)用户发送请求至前端控制器DispatcherServlet; (2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle; (3)处理器映射器根据请求...3、Springmvc的优点: (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...15、获取springmvc详细讲解视频加QQ:2011352522 16、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?...18、SpringMvc用什么对象后台前台传递数据的? 答:通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到。...该方法会memberValues这个Map中索引出对应的值。而memberValues的来源是Java常量池。

    1.2K30
    领券